Create a room composition.
POST/room_compositions
Asynchronously create a room composition.
Request
- application/json
Body
required
Parameters that can be defined during room composition creation.
Default value: mp4
The desired format of the room composition.
Default value: 1280x720
The desired resolution (width/height in pixels) of the resulting video of the room composition. Both width and height are required to be between 16 and 1280; and width * height should not exceed 1280 * 720
id of the room session associated with the room composition.
video_layout
object
Describes the video layout of the room composition in terms of regions.
property name*
VideoRegion
Default value: 0
X axis value (in pixels) of the region's upper left corner relative to the upper left corner of the whole room composition viewport.
Default value: 0
Y axis value (in pixels) of the region's upper left corner relative to the upper left corner of the whole room composition viewport.
Possible values: >= -99
and <= 99
Default value: 0
Regions with higher z_pos values are stacked on top of regions with lower z_pos values
Possible values: >= 16
Height of the video region
Possible values: >= 16
Width of the video region
Possible values: >= 1
and <= 1000
Maximum number of columns of the region's placement grid. By default, the region has as many columns as needed to layout all the specified video sources.
Possible values: >= 1
and <= 1000
Maximum number of rows of the region's placement grid. By default, the region has as many rows as needed to layout all the specified video sources.
Array of video recording ids to be composed in the region. Can be "*" to specify all video recordings in the session
Describes the video layout of the room composition in terms of regions.
The URL where webhooks related to this room composition will be sent. Must include a scheme, such as 'https'.
The failover URL where webhooks related to this room composition will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'.
Possible values: <= 30
Specifies how many seconds to wait before timing out a webhook.
Responses
202: Create room composition response.
- application/json
422: Unprocessable entity. Check the 'detail' field in response for details.
- application/json
Request samples
curl -L 'https://api.telnyx.com/v2/room_compositions' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"format": "mp4",
"resolution": "800x600",
"session_id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777b0",
"video_layout": {},
"webhook_event_url": "https://example.com",
"webhook_event_failover_url": "https://failover.example.com",
"webhook_timeout_secs": 25
}'
Response samples
{
"data": {
"completed_at": "2022-02-25T05:39:56.377426Z",
"download_url": null,
"duration_secs": 84,
"ended_at": "2022-02-24T23:22:24.577677Z",
"format": "mp4",
"id": "7103dc53-ee59-4b54-a58b-c77d99ceb037",
"record_type": "composition",
"resolution": "1280x720",
"room_id": "f981dbb3-228a-44e9-ac54-e87f0e2658b0",
"session_id": "8f728d7b-00e2-4c59-8c27-f564b828df87",
"size_mb": 6,
"started_at": "2022-02-24T23:21:00.077209Z",
"status": "enqueued",
"user_id": "12a04ec9-0f91-4a91-9f3a-a19d9931182e",
"video_layout": {
"first": {
"height": 720,
"video_sources": [
"*"
],
"width": 1280,
"x_pos": 0,
"y_pos": 0,
"z_pos": 0
}
},
"webhook_event_url": "https://webhook.site/544663ce-b692-4f9c-80ed-e5ad97cd5c02"
}
}
{
"errors": [
{
"code": "string",
"title": "string",
"detail": "string",
"source": {
"pointer": "string",
"parameter": "string"
},
"meta": {}
}
]
}