---
title: "Get HyperFrames Render"
method: GET
path: "/v3/hyperframes/renders/{render_id}"
tags: ["HyperFrames"]
---

# Get HyperFrames Render

`GET /v3/hyperframes/renders/{render_id}`

Returns full details for a single HyperFrames render, including status and signed video_url when complete.

## Path parameters

- `render_id` string, required

## Response `200`

Successful response

- object
  - `data` HyperframesRenderDetail — Detailed HyperFrames render resource.
    - `render_id` string, required — Unique render identifier.
    - `status` 'queued' | 'rendering' | 'completed' | 'failed', required — Lifecycle status of a HyperFrames render.
    - `title` string, nullable — Caller-supplied free-text label.
    - `callback_id` string, nullable — Caller-supplied client tracking ID.
    - `video_url` string, nullable — Presigned download URL for the rendered video. Present only when status is 'completed'.
    - `thumbnail_url` string, nullable — Presigned download URL for the auto-generated thumbnail.
    - `duration` number, nullable — Video duration in seconds; null until completed.
    - `fps` integer, nullable — Frames per second the render was created at.
    - `quality` 'draft' | 'standard' | 'high', nullable — Render quality preset.
    - `format` 'mp4' | 'webm' | 'mov', required — Output container/codec.
    - `resolution` '1080p' | '4k' — Output resolution tier. Pricing diverges only at 4K (1.5x multiplier). The render-pipeline value set is intentionally narrow at launch; 720p and other tiers will follow once the producer/CLI surface catches up.
    - `aspect_ratio` '16:9' | '9:16' | '1:1' — Output aspect ratio. Only the three ratios already supported end-to-end by the render pipeline are exposed today: ``16:9`` (landscape), ``9:16`` (portrait), ``1:1`` (square). ``auto`` and other social-media ratios (4:5, 5:4) are reserved for a follow-up PR that wires composition-dim inference at the controller boundary.
    - `composition` string, nullable — Composition entry file path.
    - `created_at` integer, nullable — Unix timestamp when the render was created.
    - `completed_at` integer, nullable — Unix timestamp when the render terminated. Null until status is 'completed' or 'failed'.
    - `failure_message` string, nullable — Error description. Present only when status is 'failed'.

## Other responses

- `400` — Invalid request parameters
- `401` — Authentication failed
- `404` — Resource not found
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/heygen/apis/heygen-external-api.md) · [All operations](https://skmtc.net/heygen/apis/heygen-external-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/heygen/heygen-external-api/versions/e2e54726e210/schema)
