Renders
Render a captioned clip or audiogram from a recording.
Render a captioned clip (for video recordings) or an audiogram (for audio recordings) from a segment of a recording. Rendering is asynchronous — poll GET /v1/renders/:id for progress and the finished asset URL.
The recording must have a completed transcript. Clips are capped at 3 minutes.
Create a render
POST https://app.castmagic.io/v1/renders
Give a window with start_ms/end_ms, or pass a suggestion_id from GET /v1/recordings/:id/clip-suggestions to use that suggestion's window and title.
Request Body
recording_id*
String
The recording to render from
start_ms*
Integer
Clip start in ms (required unless suggestion_id is given), window max 3 minutes
end_ms*
Integer
Clip end in ms (required unless suggestion_id is given)
suggestion_id*
String
Use a clip suggestion's window and title (alternative to start_ms/end_ms)
aspect_ratio
String
9:16 (default) · 1:1 · 16:9 · 4:5 · original
title
String
Overlay title
{
"render": {
"id": "r1...",
"status": "rendering",
"style": "captions",
"aspect_ratio": "9:16",
"start_ms": 154000,
"end_ms": 178000,
"progress": 0.02,
"message": "Queued for export...",
"asset_url": null,
"created_at": "2026-08-21T22:15:00Z"
}
}{ "error": "no speech in that window; pick a range with spoken words" }Fetch a render
GET https://app.castmagic.io/v1/renders/:id
Poll for progress. Statuses are rendering, completed, and failed. When completed, asset_url is a signed URL.
asset_url is a signed URL valid for about an hour. Re-fetch the render for a fresh URL if it expires.
Last updated