Quick Start

Get from zero to a working integration in minutes. All requests use the same auth.

1. Auth

StepWhat to do
Get keyHeyGen → Settings → API token
Send itHeader: X-API-KEY: <your_token> on every request

📘

Note:

For more information on:

  • Use of API key, see the Authentication page.
  • Usage quotas, request limits, and subscription tiers, see the Limits page.
📘

Note:

The HeyGen API is available as a standalone service, separate from the HeyGen App.

  • Your HeyGen App plan - Free, Creator, Team, or Enterprise - controls what you can access in the HeyGen web application.
  • All HeyGen App users automatically receive Free Trial API access, which includes Video Generation, Video Translation endpoints.
  • For higher usage, the API offers three paid subscription tiers: Pro, Scale, and Enterprise.


2. Pick your path

Three main ways to use the API. Choose one and hit the endpoint.

Option A: Video Agent (prompt → video)

Flow: One prompt → one video. No avatar or template needed.

  • Use when: You want the fastest path from text to video.
  • Endpoint: POST https://api.heygen.com/v1/video_agent/generate
  • Body: { "prompt": "Describe your video..." }
  • Docs: Create with Video Agent
curl -X POST "https://api.heygen.com/v1/video_agent/generate" \
  -H "X-API-KEY: $HEYGEN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "A presenter explaining our product launch in 30 seconds"}'

Option B: Video Translate (video → translated video)

Flow: Upload or reference a video → get back the same video in another language.

  • Use when: You have an existing video and need a translated version.
  • Endpoint: POST https://api.heygen.com/v1/video_translate/translate
  • You need: Source video + target language. See supported languages.

Option C: Use Digital Twin or Photo Avatar

Flow: You need an avatar first, then use its ID to generate videos.

  1. Create an avatar (once), either:
  2. Get the avatar ID from the app or API response.
  3. Generate video using that ID (e.g. Create a Video with avatar_id and your script).
  • Use when: You want a specific look/persona (photo avatar or digital twin) in every video.

Summary

GoalPathFirst step
Text → video, no setupVideo AgentPOST /v1/video_agent/generate with prompt
Existing video → other languageVideo TranslatePOST /v1/video_translate/translate with video + language
Custom avatar in every videoGenerate VideoCreate avatar (web or API) → use avatar_id in video generation

Next