HyperFrames

Create HyperFrames Render

Changed on

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/{render_id}.

post/v3/hyperframes/renders

Request

  • Base URL
    https://api.heygen.com
  • URL
    https://api.heygen.com/v3/hyperframes/renders
  • Auth
    • API key in header x-api-key
    • or HTTP bearer

Headers

Idempotency-Keystring

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.

Request body

fpsinteger nullable

Output frames per second. Defaults to 30 if not provided.

quality'draft' | 'standard' | 'high'

Render quality preset; higher quality is slower.

format'mp4' | 'webm' | 'mov'

Output container/codec.

crfinteger nullable

Overrides the quality preset's constant rate factor (lower is higher quality and a larger file). Integer 0-51 for mp4, 0-63 for webm; ignored for mov. Omit to use the preset's CRF.

resolution'1080p' | '4k'

Output resolution tier.

4K output uses a 1.5x pricing multiplier.

aspect_ratio'16:9' | '9:16' | '1:1'

Output aspect ratio.

Supported ratios are 16:9 (landscape), 9:16 (portrait), and 1:1 (square).

compositionstring nullable

Entry HTML file relative to the project root (e.g. compositions/intro.html). Defaults to index.html when omitted.

variablesobject nullable

Optional overrides for the composition's data-composition-variables. Use this to parameterise a single composition across multiple renders.

titlestring nullable

Free-text label for the render; echoed back in detail responses.

callback_idstring nullable

Opaque client tracking ID, echoed back in webhook payloads.

callback_urlstring nullable

Per-request HTTPS webhook URL the render fires when it terminates.

Response

Accepted — submission acknowledged; poll for completion.

Changes

    • info

      added the new optional request property

    • info

      added asset_id base64 url discriminator mapping keys to the request property

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status