Skip to content

HeyGen ​

Mode: video · Models: 3

Official API docs: developers.heygen.com

HeyGen turns a written script into a lip-synced presenter video. Talking Photo animates a single portrait image you supply; Video Avatar instead uses one of HeyGen's own avatars, selected by videoId, so it needs no input image and renders up to 4K. Both read the script aloud with a HeyGen voice and animate the face to match. Generation is asynchronous, in landscape or vertical.

Models ​

idNameInput type
heygen-talking-photoHeyGen Talking Photoi2v
heygen-video-avatarHeyGen Video Avatart2v
heygen-video-1HeyGen Videot2v

CLI ​

bash
# animate a portrait into a talking avatar (script must be at least 20 chars)
gen-ai generate -m heygen-talking-photo \
  -i ./portrait.jpg \
  -p "Hi there! Welcome to Picsart, where you can create anything you imagine." \
  --voice <voice-id> \
  --ar 16:9 -r 720p

# vertical short
gen-ai generate -m heygen-talking-photo \
  -i ./portrait.jpg \
  -p "Three quick tips to level up your edits — let's dive in." \
  --voice <voice-id> --ar 9:16 -r 1080p

MCP ​

json
{ "name": "picsart_generate",
  "arguments": {
    "model": "heygen-talking-photo",
    "prompt": "Hi there! Welcome to Picsart, where you can create anything you imagine.",
    "imageUrls": ["https://example.com/portrait.jpg"],
    "voiceId": "<voice-id>",
    "aspectRatio": "16:9",
    "resolution": "720p"
  } }

Parameters ​

Full parameter surface for every model, sourced from gen-ai models info <id> --json. CLI flags show the primary short form; the canonical --kebab-case long form always works too.

heygen-talking-photo — HeyGen Talking Photo ​

Try heygen-talking-photo in Playground ↗

Input type: i2v

ParamCLI flagTypeValues
imageUrls-ifilerequired image (up to 1)
resolution-renum1080p · 720p (default 720p)
aspectRatio--arenum16:9 · 9:16 (default 16:9)
voiceId--voiceenumrequired
prompt-ptextrequired (≤5000 chars)

Notes: Voice ids are dynamic — list them at runtime rather than hard-coding. Generation is asynchronous; the result URL is polled in the background.

heygen-video-avatar — HeyGen Video Avatar ​

Try heygen-video-avatar in Playground ↗

Input type: t2v

ParamCLI flagTypeValues
videoId--video-idenum(default ``)
resolution-renum4k · 1080p · 720p (default 720p)
aspectRatio--arenum16:9 · 9:16 (default 16:9)
voiceId--voiceenum(default ``)
prompt-ptextrequired (≤5000 chars)

Notes: videoId selects a HeyGen avatar and voiceId a HeyGen voice; both id sets are dynamic — list them at runtime rather than hard-coding. Generation is asynchronous; the result URL is polled in the background.

heygen-video-1 — HeyGen Video ​

Try heygen-video-1 in Playground ↗

Input type: t2v

ParamCLI flagTypeValues
prompt-ptextrequired (≤32000 chars)
startFrame--start-framefileimage
imageUrls-ifileimage (up to 9)
videoUrls--video-urlsfilevideo (up to 3)
audioUrls--audio-urlsfileaudio (up to 3)
resolution-renum480p · 768p (default 768p)
duration-drange5–15, step 1 (default 5)
aspectRatio--arenumadaptive · 21:9 · 16:9 · 4:3 · 1:1 · 3:4 · 9:16 (default 16:9)
promptEnhancement--prompt-enhancementenumturbo · quality · disabled (default turbo)
seed--seedrange0–4294967295, step 1

Pricing ​

bash
gen-ai pricing heygen-talking-photo --resolution 720p

Cost scales with resolution and the length of the generated video (driven by your script). Trial/free credits burn a HeyGen watermark into the output and may cap resolution — production videos require paid credits.

Built on @picsart/ai-sdk · gen-ai CLI · Picsart MCP · Media Studio · Skills