StartComposition - Amazon IVS

StartComposition

Starts a Composition from a stage based on the configuration provided in the request.

A Composition is an ephemeral resource that exists after this operation returns successfully. Composition stops and the resource is deleted:

  • When StopComposition is called.

  • After a 1-minute timeout, when all participants are disconnected from the stage.

  • After a 1-minute timeout, if there are no participants in the stage when StartComposition is called.

  • When broadcasting to the IVS channel fails and all retries are exhausted.

  • When broadcasting is disconnected and all attempts to reconnect are exhausted.

Request Syntax

POST /StartComposition HTTP/1.1 Content-type: application/json { "destinations": [ { "channel": { "channelArn": "string", "encoderConfigurationArn": "string" }, "name": "string", "s3": { "encoderConfigurationArns": [ "string" ], "recordingConfiguration": { "format": "string", "hlsConfiguration": { "targetSegmentDurationSeconds": number } }, "storageConfigurationArn": "string", "thumbnailConfigurations": [ { "storage": [ "string" ], "targetIntervalSeconds": number } ] } } ], "idempotencyToken": "string", "layout": { "grid": { "featuredParticipantAttribute": "string", "gridGap": number, "omitStoppedVideo": boolean, "participantOrderAttribute": "string", "videoAspectRatio": "string", "videoFillMode": "string" }, "pip": { "featuredParticipantAttribute": "string", "gridGap": number, "omitStoppedVideo": boolean, "participantOrderAttribute": "string", "pipBehavior": "string", "pipHeight": number, "pipOffset": number, "pipParticipantAttribute": "string", "pipPosition": "string", "pipWidth": number, "videoFillMode": "string" } }, "stageArn": "string", "tags": { "string" : "string" } }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

destinations

Array of destination configuration.

Type: Array of DestinationConfiguration objects

Array Members: Minimum number of 1 item. Maximum number of 2 items.

Required: Yes

idempotencyToken

Idempotency token.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [a-zA-Z0-9-_]*

Required: No

layout

Layout object to configure composition parameters.

Type: LayoutConfiguration object

Required: No

stageArn

ARN of the stage to be used for compositing.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: arn:aws:ivs:[a-z0-9-]+:[0-9]+:stage/[a-zA-Z0-9-]+

Required: Yes

tags

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there.

Type: String to string map

Map Entries: Minimum number of 0 items. Maximum number of 50 items.

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Value Length Constraints: Minimum length of 0. Maximum length of 256.

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "composition": { "arn": "string", "destinations": [ { "configuration": { "channel": { "channelArn": "string", "encoderConfigurationArn": "string" }, "name": "string", "s3": { "encoderConfigurationArns": [ "string" ], "recordingConfiguration": { "format": "string", "hlsConfiguration": { "targetSegmentDurationSeconds": number } }, "storageConfigurationArn": "string", "thumbnailConfigurations": [ { "storage": [ "string" ], "targetIntervalSeconds": number } ] } }, "detail": { "s3": { "recordingPrefix": "string" } }, "endTime": "string", "id": "string", "startTime": "string", "state": "string" } ], "endTime": "string", "layout": { "grid": { "featuredParticipantAttribute": "string", "gridGap": number, "omitStoppedVideo": boolean, "participantOrderAttribute": "string", "videoAspectRatio": "string", "videoFillMode": "string" }, "pip": { "featuredParticipantAttribute": "string", "gridGap": number, "omitStoppedVideo": boolean, "participantOrderAttribute": "string", "pipBehavior": "string", "pipHeight": number, "pipOffset": number, "pipParticipantAttribute": "string", "pipPosition": "string", "pipWidth": number, "videoFillMode": "string" } }, "stageArn": "string", "startTime": "string", "state": "string", "tags": { "string" : "string" } } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

composition

The Composition that was created.

Type: Composition object

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

accessControlAllowOrigin

accessControlExposeHeaders

cacheControl

contentSecurityPolicy

exceptionMessage

User does not have sufficient access to perform this action.

strictTransportSecurity

xAmznErrorType

xContentTypeOptions

xFrameOptions

HTTP Status Code: 403

ConflictException

accessControlAllowOrigin

accessControlExposeHeaders

cacheControl

contentSecurityPolicy

exceptionMessage

Updating or deleting a resource can cause an inconsistent state.

strictTransportSecurity

xAmznErrorType

xContentTypeOptions

xFrameOptions

HTTP Status Code: 409

InternalServerException

accessControlAllowOrigin

accessControlExposeHeaders

cacheControl

contentSecurityPolicy

exceptionMessage

Unexpected error during processing of request.

strictTransportSecurity

xAmznErrorType

xContentTypeOptions

xFrameOptions

HTTP Status Code: 500

PendingVerification

accessControlAllowOrigin

accessControlExposeHeaders

cacheControl

contentSecurityPolicy

exceptionMessage

Your account is pending verification.

strictTransportSecurity

xAmznErrorType

xContentTypeOptions

xFrameOptions

HTTP Status Code: 403

ResourceNotFoundException

accessControlAllowOrigin

accessControlExposeHeaders

cacheControl

contentSecurityPolicy

exceptionMessage

Request references a resource which does not exist.

strictTransportSecurity

xAmznErrorType

xContentTypeOptions

xFrameOptions

HTTP Status Code: 404

ServiceQuotaExceededException

accessControlAllowOrigin

accessControlExposeHeaders

cacheControl

contentSecurityPolicy

exceptionMessage

Request would cause a service quota to be exceeded.

strictTransportSecurity

xAmznErrorType

xContentTypeOptions

xFrameOptions

HTTP Status Code: 402

ValidationException

accessControlAllowOrigin

accessControlExposeHeaders

cacheControl

contentSecurityPolicy

exceptionMessage

The input fails to satisfy the constraints specified by an AWS service.

strictTransportSecurity

xAmznErrorType

xContentTypeOptions

xFrameOptions

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: