Skip to main content

Create a Video with the Agent

Let the AI pick the avatar, voice, and layout from a text prompt:
Output
Block until the video is ready:
Browse available styles first, then apply one:

Create a Video with Full Control

Skip the agent and specify every detail yourself using -d:
Output
Animate a custom image instead of a preset avatar:
Discover all available request fields:

Download a Video

Download the video file once it’s complete:
Output
Download the captioned version (requires enable_caption at creation time):

Text to Speech

Generate standalone audio using the voice speech create command:
Output

Design a Voice

Find a voice by describing what you want:
Output
Increment --seed to get a different batch of results with the same prompt:

List and Filter Voices

Browse voices available for TTS:
Output

Browse Avatar Looks

List all looks available for an avatar group:
Output
The id from a look is what you pass as avatar_id in video create. Get details for a specific look:

Upload an Asset

Upload a file to use as an avatar image, audio source, or attachment in video-agent:
Output
Use the returned asset_id anywhere the API accepts an asset input:

Translate a Video

Dub and lip-sync an existing video into Spanish:
For complex options (custom audio, SRT files), use -d:
Without --wait:
Output
--wait only supports single-language translations. For batch (multiple output_languages), poll each ID individually with heygen video-translate get.
Manage existing translations:

Webhooks

Register an endpoint to receive event notifications:
Output
Store the secret securely — it’s used to verify webhook signatures and won’t be shown again. Use heygen webhook endpoints rotate-secret <endpoint-id> to generate a new one.
List all available event types:
Update or delete an endpoint:

Scripting and Agent Integration

Since JSON is the default output and all non-data output goes to stderr, piping into other tools works without any extra flags.

Create a video and immediately open it in the browser

Batch translate into multiple languages

Create a video, wait, then download it

Pipe a JSON file into video create

Page through all your videos

List all avatar names (human-readable)

Check your remaining credits