Create a Screenshot Template
Request
Request-Line
Post /lls/v1.0/template/screenshot
Request Body
Parameter | Type | Required | Description |
---|---|---|---|
templateName | String | Mandatory | screenshot template name. |
domain | String | Mandatory | ingest domain name |
app | String | Optional | app name. if not specified, the screenshot template will be applied to all apps. |
stream | String | Optional | stream name. if not specified, the screenshot template will be applied to all streams. |
screenshotFormat | String | Mandatory | screenshot format. Valid values: png, jpg. |
bucket | String | Mandatory | bucket name to store the screenshot. |
path | String | Mandatory | storage path under the bucket. |
Response
Response Body
Parameter | Type | Required | Description |
---|---|---|---|
templateName | String | Mandatory | screenshot template name. |
created | Timestamp | Mandatory | Timestamp of created time in UTC timezone. Default is now. |
status | String | Mandatory | Status of screenshot template. Valid values: active, inactive. |
domain | String | Mandatory | ingest domain name |
app | String | Optional | app name. if not specified, the screenshot template will be applied to all apps. |
stream | String | Optional | stream name. if not specified, the screenshot template will be applied to all streams. |
screenshotFormat | String | Mandatory | screenshot format. Valid values: png, jpg. |
bucket | String | Mandatory | bucket name to store the screenshot. |
path | String | Mandatory | storage path under the bucket. |
Status Codes, Error Codes and Error Messages
Status Code | Error Code | Error Message |
---|---|---|
400 | LLS.ScreenshotTemplate.InvalidTemplateName | Recording template name invalid. |
400 | LLS.ScreenshotTemplate.TemplateNotFound | Template not found. |
400 | LLS.ScreenshotTemplate.DomainNotFound | Domain not found. |
400 | LLS.ScreenshotTemplate.AppNotFound | App not found. |
400 | LLS.ScreenshotTemplate.StreamNotFound | Stream not found. |
400 | LLS.ScreenshotTemplate.InvalidRecordingFrom | Invalid recording from. |
400 | LLS.ScreenshotTemplate.InvalidRecordingFormat | Invalid recording format. |
400 | LLS.ScreenshotTemplate.BucketNotFound | Bucket not found. |
400 | LLS.ScreenshotTemplate.InvalidStatus | Invalid status. |
400 | LLS.ScreenshotTemplate.InvalidPath | Invalid path. |
400 | LLS.ScreenshotTemplate.TemplateExists | Template already exists. |
400 | LLS.ScreenshotTemplate.ConflictTemplate | Template conflict. |
Examples
Create a domain-level screenshot template with PNG format
Request
POST /lls/v1.0/template/screenshot HTTP/1.1
{
"templateName": "domainTemplate",
"domain": "ingest.example.com",
"screenshotFormat": "png",
"bucket": "my-bucket",
"path": "/recording/mp4/"
}
Successful Response Body
{
"templateName": "domainTemplate",
"created": "2025-07-15T08:47:10Z",
"status": "active",
"domain": "ingest.example.com",
"screenshotFormat": "png",
"bucket": "my-bucket",
"path": "/recording/mp4/"
}
Create a domain+app level screenshot template with PNG format
Request
POST /lls/v1.0/template/screenshot HTTP/1.1
{
"templateName": "appTemplate",
"domain": "ingest.example.com",
"app": "live",
"screenshotFormat": "png",
"bucket": "my-bucket",
"path": "/recording/hls/"
}
Successful Response Body
{
"templateName": "appTemplate",
"created": "2025-07-15T08:48:30Z",
"status": "active",
"domain": "ingest.example.com",
"app": "live",
"screenshotFormat": "png",
"bucket": "my-bucket",
"path": "/recording/hls/"
}
Create a domain+app+stream level screenshot template with PNG format
Request
POST /lls/v1.0/template/screenshot HTTP/1.1
{
"templateName": "streamTemplate",
"domain": "ingest.example.com",
"app": "live",
"stream": "stream1",
"screenshotFormat": "png",
"bucket": "my-bucket",
"path": "/recording/hls/"
}
Successful Response Body
{
"templateName": "streamTemplate",
"created": "2025-07-15T08:49:45Z",
"status": "active",
"domain": "ingest.example.com",
"app": "live",
"stream": "stream1",
"screenshotFormat": "png",
"bucket": "my-bucket",
"path": "/recording/hls/"
}
Create a screenshot template with JPG format
Request
POST /lls/v1.0/template/screenshot HTTP/1.1
{
"templateName": "deliveryTemplate",
"domain": "ingest.example.com",
"app": "live",
"stream": "stream1",
"screenshotFormat": "jpg",
"bucket": "my-bucket",
"path": "/recording/hls/"
}
Successful Response Body
{
"templateName": "deliveryTemplate",
"created": "2025-07-15T08:51:30Z",
"status": "active",
"domain": "ingest.example.com",
"app": "live",
"stream": "stream1",
"screenshotFormat": "jpg",
"bucket": "my-bucket",
"path": "/recording/hls/"
}
Rate Limits
Rate limiting is posed upon the API, please kindly check your API calls to ensure complying with the rate limit below:
- 100 requests per minute
- 1000 requests per hour