Last update:2026-04-21 10:28:36
Capture still-image snapshots from your live streams and deliver them straight to your object storage — on a schedule, on every stream, or on demand. The Live Screenshot API powers common workflows like video thumbnails, live previews, content moderation sampling, and compliance archiving.
The API is organized into three composable layers:
Templates are the foundation. Both Rules and Real-Time Controls reference a template by its templateId, so your first API call will always be creating a template.
All Screenshot APIs share a combined rate limit of 300 requests per 5 minutes, per user.
A Screenshot Parameter Template tells how capture should behave: the output image format (JPG, PNG, BMP), the sampling interval, the Object Storage destination, file-naming conventions, and the callback URL that receives completion notifications.
Because every screenshot — automated or on-demand — requires a templateId, templates are always step one.
| API Name | What It Does |
|---|---|
| AddSnapshotParameterTemplate | Create a new template defining image format, storage destination, sampling interval, and callback URL. |
| QuerySnapshotParameterTemplate | List all templates or fetch a single template’s details by ID. |
| ModifySnapshotParameterTemplate | Update an existing template’s configuration. |
| DeleteSnapshotParameterTemplate | Delete a template. |
Warning: A template cannot be deleted while it is referenced by any active rule. Remove the template from all rules first, then delete it.
Once a template exists, Screenshot Rules automate its application. A rule binds a templateId to one or more live streams so that capture begins the moment those streams go live — no manual intervention required.
You can target streams at three levels of specificity:
The system applies rules using the longest match principle: a rule targeting a specific stream name takes precedence over a broader domain-level rule. This lets you set wide defaults and override behavior for individual streams when needed.
| API Name | What It Does |
|---|---|
| - | - |
| AddSnapshotRules | Create a rule that binds a template to streams by domain, application, or stream name. |
| QuerySnapshotRule | List existing rules with filters for template ID, rule ID, domain, application, or stream name. |
| ModifySnapshotRules | Update an existing rule. |
| DeleteSnapshotRules | Delete a rule. |
Warning: A rule cannot be deleted while it is actively capturing screenshots. Either wait for the stream to end or stop the capture session first.
For capture outside of any automated rule — moderation events, user-triggered previews, incident archiving — the Real-Time Control APIs start and stop sessions manually.
How the workflow connects:
templateId and up to 5 stream delivery URLs.persistentId, which uniquely identifies that capture session.persistentId.Always store the
persistentIdreturned by the Start API. It is the only way to stop a specific session early.
| API Name | What It Does |
|---|---|
| StartRealTimeSnapshot | Start an immediate screenshot session on up to 5 active live stream URLs. |
| StopRealTimeSnapshot | Stop an active real-time screenshot session before the stream ends. |