Create Video

v2.23.0

Create videos from a text prompt using HeyGen's Video Agent (POST /v3/video-agents). The default for most video requests — AI handles script, avatar, visuals...

1· 349· 9 versions· 1 current· 1 all-time· Updated 11h ago· MIT-0
byMichael Wang@michaelwang11394

Install

openclaw skills install create-video

Create Video

Generate complete videos from a text prompt. Describe what you want and the AI handles script writing, avatar selection, visuals, voiceover, pacing, and captions automatically.

Authentication

All requests require the X-Api-Key header. Set the HEYGEN_API_KEY environment variable.

curl -X POST "https://api.heygen.com/v3/video-agents" \
  -H "X-Api-Key: $HEYGEN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "Create a 60-second product demo video."}'

Tool Selection

If HeyGen MCP tools are available (mcp__heygen__*), prefer them over direct HTTP API calls — they handle authentication and request formatting automatically.

TaskMCP ToolFallback (Direct API)
Generate video from promptmcp__heygen__generate_video_agentPOST /v3/video-agents
Check video status / get URLmcp__heygen__get_videoGET /v3/videos/{video_id}
List account videosmcp__heygen__list_videosGET /v3/videos
Delete a videomcp__heygen__delete_videoDELETE /v3/videos/{video_id}

If no HeyGen MCP tools are available, use direct HTTP API calls as documented in the reference files.

Default Workflow

Always use prompt-optimizer.md guidelines to structure prompts with scenes, timing, and visual styles.

With MCP tools:

  1. Write an optimized prompt using prompt-optimizer.mdvisual-styles.md
  2. Call mcp__heygen__generate_video_agent with prompt and config (duration_sec, orientation, avatar_id)
  3. Call mcp__heygen__get_video with the returned video_id to poll status and get the download URL

Without MCP tools (direct API):

  1. Write an optimized prompt using prompt-optimizer.mdvisual-styles.md
  2. POST /v3/video-agents — see video-agent.md
  3. GET /v3/videos/<id> — see video-status.md

Reference Files

Read these as needed — they contain endpoint details, request/response schemas, and code examples (curl, TypeScript, Python).

Core workflow:

Foundation:

Best Practices

  1. Optimize your prompt — quality depends entirely on prompt structure. Always use the prompt optimizer
  2. Lock avatar if needed — pass avatar_id for consistency across videos
  3. Specify voice — pass voice_id for a specific narrator voice
  4. Upload reference files — help the agent understand your brand/product
  5. Iterate on prompts — refine based on results; Video Agent is great for quick iterations

Version tags

ai-videovk97c9ynqswbzk01j7nqrgf0ewn84sv8pheygenvk97c9ynqswbzk01j7nqrgf0ewn84sv8platestvk97c9ynqswbzk01j7nqrgf0ewn84sv8pprompt-to-videovk97c9ynqswbzk01j7nqrgf0ewn84sv8ptext-to-videovk97c9ynqswbzk01j7nqrgf0ewn84sv8pvideovk97c9ynqswbzk01j7nqrgf0ewn84sv8pvideo-agentvk97c9ynqswbzk01j7nqrgf0ewn84sv8pvideo-generationvk97c9ynqswbzk01j7nqrgf0ewn84sv8p

Runtime requirements

EnvHEYGEN_API_KEY
Primary envHEYGEN_API_KEY