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 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: