Skip to main content

Create a Screenshot Template

Create a screenshot template of an ingest domain, an app, or a stream.

Request

Request-Line

Post /lls/v1.0/template/screenshot

Request Body

ParameterTypeRequiredDescription
templateNameStringMandatoryScreenshot template name.
domainStringMandatoryIngest domain name.
appStringOptionalApp name. If not specified, the screenshot template will be applied to all apps.
streamStringOptionalStream name. If not specified, the screenshot template will be applied to all streams.
screenshotFormatStringMandatoryScreenshot format. Valid values: png, jpg.
bucketStringMandatoryBucket name to store the screenshot.
pathStringMandatoryStorage path under the bucket.

Response

Response Body

ParameterTypeRequiredDescription
templateNameStringMandatoryScreenshot template name.
createdTimestampMandatoryTimestamp of created time in UTC timezone. Default is now.
statusStringMandatoryStatus of screenshot template. Valid values: active, inactive.
domainStringMandatoryIngest domain name.
appStringOptionalApp name. If not specified, the screenshot template will be applied to all apps.
streamStringOptionalStream name. If not specified, the screenshot template will be applied to all streams.
screenshotFormatStringMandatoryScreenshot format. Valid values: png, jpg.
bucketStringMandatoryBucket name to store the screenshot.
pathStringMandatoryStorage path under the bucket.

Status Codes, Error Codes and Error Messages

Status CodeError CodeError Message
400LLS.ScreenshotTemplate.InvalidTemplateNameRecording template name invalid.
400LLS.ScreenshotTemplate.TemplateNotFoundTemplate not found.
400LLS.ScreenshotTemplate.DomainNotFoundDomain not found.
400LLS.ScreenshotTemplate.AppNotFoundApp not found.
400LLS.ScreenshotTemplate.StreamNotFoundStream not found.
400LLS.ScreenshotTemplate.InvalidRecordingFromInvalid recording from.
400LLS.ScreenshotTemplate.InvalidRecordingFormatInvalid recording format.
400LLS.ScreenshotTemplate.BucketNotFoundBucket not found.
400LLS.ScreenshotTemplate.InvalidStatusInvalid status.
400LLS.ScreenshotTemplate.InvalidPathInvalid path.
400LLS.ScreenshotTemplate.TemplateExistsTemplate already exists.
400LLS.ScreenshotTemplate.ConflictTemplateTemplate conflict.

Examples

Create a screenshot template of the specified domain 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 screenshot template of the specified app 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 screenshot template of the specified stream 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, check API calls to comply with the rate limit below:

  • 100 requests per minute
  • 1000 requests per hour