Skip to main content
All commands follow the pattern heygen <noun> <verb>. The command surface is auto-generated from HeyGen’s OpenAPI specification — when new v3 endpoints ship, the CLI picks them up automatically. Run heygen <command> --help for detailed usage and examples on any command.

Video Agent

Create videos from text prompts using AI.
CommandAPI EndpointDescription
heygen video-agent create <prompt>POST /v3/video-agentsAI picks avatar, voice, layout from prompt
heygen video-agent stylesGET /v3/video-agents/stylesList available video styles

Videos

Create, list, retrieve, and delete avatar videos with full parameter control.
CommandAPI EndpointDescription
heygen video createPOST /v3/videosCreate video with explicit avatar, voice, script
heygen video listGET /v3/videosList your videos
heygen video get <id>GET /v3/videos/{video_id}Get video details and status
heygen video delete <id>DELETE /v3/videos/{video_id}Delete a video
heygen video download <id>Client-sideDownload video file to disk

Flags for video create

FlagDescription
--avatar-id <id>HeyGen avatar ID (mutually exclusive with --image-url)
--image-url <url>Public URL of an image to animate (mutually exclusive with --avatar-id)
--voice-id <id>Voice ID for TTS (required when --script is provided)
--script <text>Text script for the avatar to speak (use - for stdin)
--audio-url <url>Audio file URL for lip-sync (mutually exclusive with --script)
--aspect-ratio <ratio>16:9 or 9:16
--resolution <res>1080p or 720p
--title <text>Display title in the HeyGen dashboard
--callback-url <url>Webhook URL for completion notifications

Avatars

Browse and manage avatars and their looks (outfits/styles).
CommandAPI EndpointDescription
heygen avatar createPOST /v3/avatarsCreate an avatar
heygen avatar listGET /v3/avatarsList avatar groups
heygen avatar get <group_id>GET /v3/avatars/{group_id}Get avatar group details
heygen avatar looksGET /v3/avatars/looksList avatar looks
heygen avatar looks get <look_id>GET /v3/avatars/looks/{look_id}Get avatar look details

Filter flags for avatar looks

FlagDescription
--group-id <id>Filter by avatar group
--avatar-type <type>studio_avatar, video_avatar, or photo_avatar
--ownership <scope>public or private

Voices

Browse voices and generate speech audio.
CommandAPI EndpointDescription
heygen voice listGET /v3/voicesList voices
heygen voice speech <text>POST /v3/voices/speechGenerate speech audio from text

Filter flags for voice list

FlagDescription
--type <type>public or private
--language <name>Filter by language name (e.g., English)
--gender <gender>male or female

Flags for voice speech

FlagDescription
--voice-id <id>Voice ID (required)
--speed <n>Playback speed, 0.5 to 2.0
--language <code>Language code
--locale <bcp47>BCP 47 locale tag
-o, --out <path>Save audio to file

Video Translate

Translate videos into other languages with lip-sync.
CommandAPI EndpointDescription
heygen translate createPOST /v3/video-translationsCreate a video translation
heygen translate listGET /v3/video-translationsList translations
heygen translate get <id>GET /v3/video-translations/{id}Get translation details
heygen translate update <id>PATCH /v3/video-translations/{id}Update a translation
heygen translate delete <id>DELETE /v3/video-translations/{id}Delete a translation
heygen translate caption <id>GET /v3/video-translations/{id}/captionGet translation caption
heygen translate languagesGET /v3/video-translations/languagesList supported languages

Flags for translate create

FlagDescription
--video-url <url>Source video URL
--output-language <code>Target language code (e.g., es)
--mode <mode>speed or precision
--speaker-num <n>Number of speakers in source
--translate-audio-onlyTranslate audio without lip-sync
--enable-captionAdd captions to translated video
--callback-url <url>Webhook URL for completion notifications

Webhooks

Manage webhook endpoints for event notifications.
CommandAPI EndpointDescription
heygen webhook createPOST /v3/webhooks/endpointsCreate a webhook endpoint
heygen webhook listGET /v3/webhooks/endpointsList webhook endpoints
heygen webhook update <id>PATCH /v3/webhooks/endpoints/{id}Update a webhook endpoint
heygen webhook delete <id>DELETE /v3/webhooks/endpoints/{id}Delete a webhook endpoint
heygen webhook rotate-secret <id>POST /v3/webhooks/endpoints/{id}/rotate-secretRotate signing secret
heygen webhook event-typesGET /v3/webhooks/event-typesList available event types
heygen webhook eventsGET /v3/webhooks/eventsList delivered events

Assets

Upload files for use in video creation.
CommandAPI EndpointDescription
heygen asset upload <file>POST /v3/assetsUpload a file to get an asset ID

Authentication

CommandDescription
heygen auth login --key <key>Authenticate with an API key
For CI/Docker, use the HEYGEN_API_KEY environment variable instead. It takes precedence over stored credentials.

Utility Commands

CommandDescription
heygen config set <key> <value>Set a persistent config value
heygen config get <key>Read a config value
heygen config listShow all config values
heygen updateSelf-update to latest version