Create HeyGen Video
Generate a HeyGen Video with model heygen-video-1 from a text prompt, a first-frame image, or reference images, videos, and audio. Select text_to_video, image_to_video, or reference_to_video with mode. Prompts accept at most 5,000 Unicode characters. Duration is 5–15 whole seconds; resolution is 480p or 768p. Image-to-video follows the image proportions and ignores aspect_ratio. Reference-to-video requires at least one image or video, with at most nine images, three videos, three audio recordings, and twelve references total. Reference videos must be within a 1:4–4:1 ratio. Assets accept HTTPS URLs, uploaded asset IDs, or inline base64. Returns 202 with a video_id; poll GET /v3/models/videos/ for completion and the download URL. Pass an Idempotency-Key header to retry safely; without a key, each submission creates a new generation.
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
- TextToVideoRequest
- ImageToVideoRequest
- ReferenceToVideoRequest
Body of POST /v3/models/videos: one schema per generation mode, selected by the required mode field.
Required video generation model. Only heygen-video-1 is supported.
"heygen-video-1"Instructions for the video to generate. At most 5,000 Unicode characters.
1 - 5000Generate from the prompt alone.
"text_to_video"Prompt enhancement mode: turbo, quality, or disabled. Defaults to turbo; default is an alias for turbo.
turbo, quality, default, disabled Requested video duration in whole seconds, from 5 through 15 inclusive.
5 <= x <= 15Output resolution: 480p or 768p. Defaults to 768p.
480p, 768p Output aspect ratio for text-to-video. Defaults to 16:9.
21:9, 16:9, 4:3, 1:1, 3:4, 9:16 Generation seed. A random seed is chosen when omitted.
0 <= x <= 4294967295HTTPS webhook URL for the terminal generation event.
Client tracking ID echoed in the terminal webhook event.
256Response
Accepted — submission acknowledged; poll for completion.

