Create AI avatar videos with precise control over avatars, voices, scripts, scenes, and backgrounds using HeyGen's v2 API. Use when: (1) Choosing a specific avatar and voice for a video, (2) Writing exact scripts for an avatar to speak, (3) Building multi-scene videos with different backgrounds per scene, (4) Creating transparent WebM videos for compositing, (5) Using talking photos as video presenters, (6) Integrating HeyGen avatars with Remotion, (7) Batch video generation with exact specs, (8) Brand-consistent production videos with precise control.
Create AI avatar videos with full control over avatars, voices, scripts, scenes, and backgrounds. Build single or multi-scene videos with exact configuration using HeyGen's /v2/video/generate API.
All requests require the X-Api-Key header. Set the HEYGEN_API_KEY environment variable.
curl -X GET "https://api.heygen.com/v2/avatars" \
-H "X-Api-Key: $HEYGEN_API_KEY"
If HeyGen MCP tools are available (mcp__heygen__*), prefer them over direct HTTP API calls — they handle authentication and request formatting automatically.
| Task | MCP Tool | Fallback (Direct API) |
|---|---|---|
| Check video status / get URL | mcp__heygen__get_video | GET /v2/videos/{video_id} |
| List account videos | mcp__heygen__list_videos | GET /v2/videos |
| Delete a video | mcp__heygen__delete_video | DELETE /v2/videos/{video_id} |
Video generation (POST /v2/video/generate) and avatar/voice listing are done via direct API calls — see reference files below.
GET /v2/avatars → pick an avatar, preview it, note avatar_id and default_voice_id. See avatars.mdGET /v2/voices → pick a voice matching the avatar's gender/language. See voices.mdPOST /v2/video/generate with avatar, voice, script, and background per scene. See video-generation.mdGET /v2/videos/{video_id} until status is completed. See video-status.md| Task | Read |
|---|---|
| List and preview avatars | avatars.md |
| List and select voices | voices.md |
| Write and structure scripts | scripts.md |
| Generate video (single or multi-scene) | video-generation.md |
| Add custom backgrounds | backgrounds.md |
| Add captions / subtitles | captions.md |
| Add text overlays | text-overlays.md |
| Create transparent WebM video | video-generation.md (WebM section) |
| Use templates | templates.md |
| Create avatar from photo | photo-avatars.md |
| Check video status / download | video-status.md |
| Upload assets (images, audio) | assets.md |
| Use with Remotion | remotion-integration.md |
| Set up webhooks | webhooks.md |
This skill is for precise control — you choose the avatar, write the exact script, configure each scene.
If the user just wants to describe a video idea and let AI handle the rest (script, avatar, visuals), use the create-video skill instead.
| User Says | Create Video Skill | This Skill |
|---|---|---|
| "Make me a video about X" | ✓ | |
| "Create a product demo" | ✓ | |
| "I want avatar Y to say exactly Z" | ✓ | |
| "Multi-scene video with different backgrounds" | ✓ | |
| "Transparent WebM for compositing" | ✓ | |
| "Use this specific voice for my script" | ✓ | |
| "Batch generate videos with exact specs" | ✓ |
preview_image_url so the user can see the avatar before committingdefault_voice_id pre-matched for natural resultstest: true to avoid consuming credits (output will be watermarked)