Create HyperFrames Render
Renders a HyperFrames composition (an HTML+JS+assets project bundled as a .zip) into a video. Submit the project via url, asset_id (pre-uploaded via POST /v3/assets), or inline base64. Returns a render_id to poll via GET /v3/hyperframes/renders/.
Authorizations
HeyGen API key. Obtain from your HeyGen dashboard.
Headers
Optional client-supplied key for safely retrying mutations. Subsequent calls within 24 hours that share this key replay the original response — even if the request body differs slightly (a warning is logged). A retry that arrives while the original is still in flight gets a 409 request_in_progress. Keys must be 1–255 characters from [A-Za-z0-9_:.-]; a UUID is a safe default. Scope is per-endpoint and per-resource: the same key on a different route or path parameter is independent.
1 - 255^[A-Za-z0-9_\-:.]{1,255}$Body
Request body for POST /v3/hyperframes/renders.
Asset input via publicly accessible HTTPS URL.
- AssetUrl
- AssetId
- AssetBase64
Output frames per second. Defaults to 30 if not provided.
1 <= x <= 240Render quality preset; higher quality is slower.
draft, standard, high Output container/codec.
mp4, webm, mov Output resolution tier. Defaults to '1080p'. Pass '4k' for 4K renders (billed at 1.5x).
1080p, 4k Output aspect ratio. Defaults to '16:9' (landscape). Pass '9:16' for portrait or '1:1' for square.
16:9, 9:16, 1:1 Entry HTML file relative to the project root (e.g. compositions/intro.html). Defaults to index.html when omitted.
512Optional overrides for the composition's data-composition-variables. Use this to parameterise a single composition across multiple renders.
Free-text label for the render; echoed back in detail responses.
500Opaque client tracking ID, echoed back in webhook payloads.
256Per-request HTTPS webhook URL the render fires when it terminates.
Response
Accepted — submission acknowledged; poll for completion.
Response for POST /v3/hyperframes/renders.

