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" }, "storageConfigurationArn": "string", "thumbnailConfigurations": [ { "storage": [ "string" ], "targetIntervalSeconds": number } ] } } ], "idempotencyToken": "string", "layout": { "grid": { "featuredParticipantAttribute": "string", "gridGap": number, "omitStoppedVideo": boolean, "videoAspectRatio": "string", "videoFillMode": "string" }, "pip": { "featuredParticipantAttribute": "string", "gridGap": number, "omitStoppedVideo": boolean, "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" }, "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, "videoAspectRatio": "string", "videoFillMode": "string" }, "pip": { "featuredParticipantAttribute": "string", "gridGap": number, "omitStoppedVideo": boolean, "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

HTTP Status Code: 403

ConflictException

HTTP Status Code: 409

InternalServerException

HTTP Status Code: 500

PendingVerification

HTTP Status Code: 403

ResourceNotFoundException

HTTP Status Code: 404

ServiceQuotaExceededException

HTTP Status Code: 402

ValidationException

HTTP Status Code: 400

See Also

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