# HeyGen Documentation ## Docs - [Assets](https://developers.heygen.com/assets.md): Upload files for use across the HeyGen API. - [Automated Broadcast](https://developers.heygen.com/automated-broadcast.md): Build a pipeline that generates and distributes video content on a schedule — daily news, weekly updates, recurring series. - [Automated Video Pipeline](https://developers.heygen.com/automated-pipeline.md): Generate videos programmatically from data — in CI/CD, on a schedule, or triggered by events. - [Changelog](https://developers.heygen.com/changelog.md): Product updates and announcements for the HeyGen API and developer platform. - [Overview](https://developers.heygen.com/cli.md): Get from zero to a generated video in minutes — right from your terminal. - [Commands](https://developers.heygen.com/commands.md): Complete command reference for the HeyGen CLI, organized by resource. - [Content Repurposing](https://developers.heygen.com/content-repurposing.md): Turn blog posts, articles, and newsletters into video — reach audiences that don't read. - [Data Visualization Videos](https://developers.heygen.com/data-to-video.md): Turn datasets, metrics, and algorithms into animated videos — charts that move, dashboards that update, patterns that evolve. - [Docs to Video](https://developers.heygen.com/docs-to-video.md): Auto-generate video walkthroughs when your documentation changes — in CI/CD or on demand. - [API Key](https://developers.heygen.com/docs/api-key.md) - [Avatar Looks](https://developers.heygen.com/docs/avatar-looks.md): Browse avatar outfits and styles — each look ID is what you pass as avatar_id to video creation. - [Avatars Groups](https://developers.heygen.com/docs/avatars.md): Browse avatar characters available for video creation. - [Bulk Video Translation](https://developers.heygen.com/docs/bulk-video-translation.md): When you need to translate many videos at once (e.g., localizing a content library), you can script against the API using a CSV as input. This guide walks through a Python script that reads a CSV of videos, submits translation requests to the v3 API, and writes the results to a new CSV. - [OAuth 2.0](https://developers.heygen.com/docs/connecting-your-app-to-heygen-with-oauth-20.md): Securely integrate your application with HeyGen using OAuth 2.0 - [Create Avatar](https://developers.heygen.com/docs/create-avatar.md): Create a digital twin or photo avatar from your own footage or images. - [Enterprise Pricing](https://developers.heygen.com/docs/enterprise-pricing.md) - [Error Codes](https://developers.heygen.com/docs/error-codes.md): Error codes, HTTP status codes, and troubleshooting for the HeyGen API - [Interactive Sessions](https://developers.heygen.com/docs/interactive-sessions.md): Review storyboards, send follow-up messages, and iterate with the Video Agent before generating. - [Overview](https://developers.heygen.com/docs/overview.md): Generate videos with a single prompt using the Video Agent API. No web app required. - [Self-Serve Pricing](https://developers.heygen.com/docs/pricing.md) - [Quick Start](https://developers.heygen.com/docs/quick-start.md): Get from zero to a generated video in minutes. - [Slack Integration](https://developers.heygen.com/docs/slack.md) - [Styles & References](https://developers.heygen.com/docs/styles-and-references.md): Browse and apply curated visual styles to Video Agent videos. - [Upload Assets](https://developers.heygen.com/docs/upload-assets.md): Upload images, video, audio, and PDFs to use as file inputs in Video Agent and other endpoints. - [Prompt to Video](https://developers.heygen.com/docs/video-agent.md): Create videos from a text prompt with full control over avatar, voice, style, and file inputs. - [Video Translation](https://developers.heygen.com/docs/video-translate.md): HeyGen's Video Translate API allows you to translate videos programmatically. It supports natural voice cloning and maintains the speaker's original tone and style for accurate translations. - [Voices](https://developers.heygen.com/docs/voices.md): Browse and filter available voices for text-to-speech and video creation. - [Text to Speech](https://developers.heygen.com/docs/voices/speech.md): Generate speech audio from text using HeyGen's TTS engine. - [Webhook Events](https://developers.heygen.com/docs/webhook-events.md): Understand the event types HeyGen can deliver and browse your event history. - [Webhooks](https://developers.heygen.com/docs/webhooks.md): Register and manage webhook endpoints to receive real-time notifications from HeyGen. - [E-commerce Product Videos](https://developers.heygen.com/e-commerce-product-videos.md): Generate product videos from catalog data at scale — because product pages with video consistently outperform those without. - [Examples](https://developers.heygen.com/examples.md): Practical recipes for videos, TTS, avatars, translation, webhooks, and scripting. - [Features](https://developers.heygen.com/features.md): Common flags, error handling, pagination, and CLI behaviors. - [Digital Twin](https://developers.heygen.com/generate-avatar-video.md): A Digital Twin is a lifelike avatar trained from real video footage of a person. Once created, you can make it speak any script in any supported voice — no camera or studio required. - [How to use heygens api a step by step walkthrough](https://developers.heygen.com/how-to-use-heygens-api-a-step-by-step-walkthrough.md) - [Photo Avatar](https://developers.heygen.com/image-to-video.md): A Photo Avatar is created from a single still image of a person. HeyGen animates the face, syncs lip movements to your script, and produces a realistic talking-head video — all from one photo. - [Image to Video](https://developers.heygen.com/image-to-video-1.md): HeyGen can animate a person in any image directly into a lip-synced talking video. Unlike Photo Avatars, this approach requires no avatar creation step — just pass an image URL or asset ID to the video endpoint and go. This is ideal for one-off videos, rapid prototyping, or when you don't need a reu… - [Interactive avatar next js demo](https://developers.heygen.com/interactive-avatar-next-js-demo.md) - [Overview](https://developers.heygen.com/mcp.md): Connect HeyGen video generation to any MCP-compatible AI agent — no API keys, no local server, no separate credits. - [Claude Web ](https://developers.heygen.com/mcp/claude.md): Generate AI avatar videos directly within Claude using HeyGen's remote MCP server - [Claude Code](https://developers.heygen.com/mcp/claude-code.md) - [Claude Web](https://developers.heygen.com/mcp/claude-web.md): Generate AI avatar videos directly within Claude using HeyGen's remote MCP server - [Gemini CLI](https://developers.heygen.com/mcp/gemini-cli.md): Connect HeyGen's Video Agent to Gemini CLI to generate AI avatar videos directly from your terminal. Once configured, Gemini can script, render, and deliver videos through natural-language prompts as part of your development workflow. - [Manus](https://developers.heygen.com/mcp/manus.md): HeyGen's Video Agent is available as a native tool connection in Manus. Once connected, Manus agents can generate fully scripted and rendered AI avatar videos — including on automated schedules — without any manual editing or production workflow. - [OpenAI](https://developers.heygen.com/mcp/open-ai.md) - [Overview](https://developers.heygen.com/mcp/overview.md): Connect HeyGen video generation to any MCP-compatible AI agent — no API keys, no local server, no separate credits. - [Manus](https://developers.heygen.com/mcp/untitled-page.md) - [Motion Graphics from a Prompt](https://developers.heygen.com/motion-graphics.md): Generate animated title cards, product launches, and visual content — no After Effects, no React, just HTML. - [Multilingual Content](https://developers.heygen.com/multilingual-content.md): Create one video, translate it into 10+ languages with lip-sync — reach a global audience. - [Output Modes](https://developers.heygen.com/output-modes.md): How the CLI formats output for agents, scripts, and humans. - [Overdub](https://developers.heygen.com/overdub.md): Replace or dub audio on an existing video with lip-sync. - [Overview](https://developers.heygen.com/overview.md): Practical workflows and use cases for building with HeyGen — Video Agent and Hyperframes. - [Personalized Greetings & Recognition](https://developers.heygen.com/personalized-greetings-and-recognition.md): Generate personalized birthday, welcome, and recognition videos at scale — make every person feel valued. - [Personalized Sales Outreach](https://developers.heygen.com/personalized-sales-outreach.md): Generate personalized video messages for prospects at scale — from CRM data to inbox. - [Product Demo Videos](https://developers.heygen.com/product-demo-videos.md): Generate product demos from screenshots and specs — and regenerate when your product changes. - [Real Estate Listing Videos](https://developers.heygen.com/real-estate-listing-videos.md): Turn property photos and listing data into narrated tour videos — for a fraction of traditional production costs. - [WSS Audio to Video API (Beta)](https://developers.heygen.com/reference/audio-to-video-api.md): Ask AI - [Overview](https://developers.heygen.com/reference/authentication.md): Ask AI - [Create a video](https://developers.heygen.com/reference/create-a-video.md): Create a video from a HeyGen avatar or an arbitrary image. Set type to 'avatar' to use a previously created avatar, or 'image' to animate a custom image. Both modes support text-to-speech scripts or pre-recorded audio for lip-sync. The video is generated asynchronously — poll status via GET /v3/vide… - [Create a webhook endpoint](https://developers.heygen.com/reference/create-a-webhook-endpoint.md): Register a new webhook endpoint to receive event notifications. Returns the endpoint details including the signing secret — store it securely, it will not be shown again except via rotate-secret. - [Create an avatar](https://developers.heygen.com/reference/create-an-avatar.md): Create an avatar from multiple file sources. Returns an avatar_id for tracking purposes via GET /v3/avatars/looks/{avatar_id} . Also returns an avatar_group_id for tracking purposes via GET /v3/avatars/{avatar_group_id} . Files can be provided as asset_id (from POST /v3/assets), HTTPS URL, or base64… - [Create avatar consent](https://developers.heygen.com/reference/create-avatar-consent.md): Initiate a consent flow for an avatar group. Returns a consent URL that the user must visit to complete the consent process. Optionally provide a reroute_url to redirect to after consent is completed. - [Create interactive Video Agent session](https://developers.heygen.com/reference/create-interactive-video-agent-session.md): Create a new interactive Video Agent session and send the initial prompt. Poll GET /v3/video-agents/sessions/{session_id} for status. - [Create overdub](https://developers.heygen.com/reference/create-overdub.md): Dub or replace audio on a video using a provided audio file. Runs asynchronously — poll status via GET /v3/overdubs/{id}. - [Create proofread](https://developers.heygen.com/reference/create-proofread.md): Create a proofread session from a video. Processes the video and extracts editable subtitles. - [Create speech audio from text](https://developers.heygen.com/reference/create-speech-audio-from-text.md): Synthesize speech audio from text using a specified voice. Returns a URL to the generated audio file along with duration and optional word-level timestamps. - [Create video translation](https://developers.heygen.com/reference/create-video-translation.md): Translate a video into one or more target languages. The translation runs asynchronously — the response contains an id (or ids for batch) which can be used to poll status. - [Create video with Video Agent](https://developers.heygen.com/reference/create-video-with-video-agent.md): Create a video from a text prompt using Video Agent. Returns a session resource with session_id for tracking and video_id for polling status via GET /v3/videos/{video_id}. Files can be provided as asset_id (from POST /v3/assets), HTTPS URL, or base64-encoded content. Supported types: image (png, jpe… - [Delete a video](https://developers.heygen.com/reference/delete-a-video.md): Permanently delete a video. Supports both generated and translated videos. - [Delete a webhook endpoint](https://developers.heygen.com/reference/delete-a-webhook-endpoint.md): Permanently delete a webhook endpoint. Events will no longer be delivered to this URL. - [Delete overdub](https://developers.heygen.com/reference/delete-overdub.md): Permanently delete an overdub. - [Delete video translation](https://developers.heygen.com/reference/delete-video-translation.md): Permanently delete a video translation. - [Download proofread SRT](https://developers.heygen.com/reference/download-proofread-srt.md): Download the edited and original SRT files for a completed proofread. - [Error Responses](https://developers.heygen.com/reference/errors.md): Ask AI - [Generate video from proofread](https://developers.heygen.com/reference/generate-video-from-proofread.md): Generate a translated video from a completed proofread session. - [Get avatar group details](https://developers.heygen.com/reference/get-avatar-group-details.md): Get detailed information about a single avatar group (character). - [Get avatar look details](https://developers.heygen.com/reference/get-avatar-look-details.md): Get detailed information about a single avatar look. The look ID is what you pass as avatar_id to POST /v3/videos. - [Get current user info, remaining credits, and billing](https://developers.heygen.com/reference/get-current-user-info-remaining-credits-and-billing.md): Returns the authenticated user's profile, remaining credits or balance, and billing details. The billing_type field indicates which billing object is populated: wallet (prepaid balance), subscription (OAuth credit pools), or usage_based (metered spending). - [Get overdub details](https://developers.heygen.com/reference/get-overdub-details.md): Get detailed information about an overdub including status, URLs, and metadata. - [Get proofread details](https://developers.heygen.com/reference/get-proofread-details.md): Get status and details of a proofread session. - [Get Video Agent session](https://developers.heygen.com/reference/get-video-agent-session.md): Get session status, progress, and paginated chat messages. Poll after creating a session or sending a message. - [Get Video Agent session resources](https://developers.heygen.com/reference/get-video-agent-session-resources.md): Get session resources — storyboards, images, drafts. Use resource_ids to resolve specific resources from chat messages. - [Get video details](https://developers.heygen.com/reference/get-video-details.md): Get detailed information about a video including status, URLs, and metadata. Supports both generated and translated videos. - [Get video translation caption](https://developers.heygen.com/reference/get-video-translation-caption.md): Get the caption file (SRT or VTT format) for a completed video translation. Requires enable_caption=true when creating the translation. - [Get video translation details](https://developers.heygen.com/reference/get-video-translation-details.md): Get detailed information about a video translation including status, URLs, and metadata. - [API Limits and Costs](https://developers.heygen.com/reference/limits.md): Ask AI - [List avatar groups](https://developers.heygen.com/reference/list-avatar-groups.md): List avatar groups (characters) with cursor-based pagination. Filter by ownership: 'all' (default), 'public' for preset avatars, or 'private' for your own. Each group contains one or more looks (outfits/styles) — use GET /v3/avatars/looks to browse them. - [List avatar looks](https://developers.heygen.com/reference/list-avatar-looks.md): List avatar looks with cursor-based pagination. Filter by ownership, type, or group_id. Each look has a unique ID that you pass as avatar_id to POST /v3/videos. The type field determines which engines and parameters are compatible. - [List overdubs](https://developers.heygen.com/reference/list-overdubs.md): List overdubs with cursor-based pagination. - [List supported languages](https://developers.heygen.com/reference/list-supported-languages.md): List all supported target language codes for video translation. - [List Video Agent styles](https://developers.heygen.com/reference/list-video-agent-styles.md): List curated video styles available for Video Agent. Each style defines a visual template (scenes, script structure, pacing) that guides video generation. Pass the returned style_id to POST /v3/video-agents to apply a style. Supports cursor-based pagination and tag filtering. - [List video translations](https://developers.heygen.com/reference/list-video-translations.md): List video translations with cursor-based pagination. - [List videos](https://developers.heygen.com/reference/list-videos.md): List videos in the account with pagination and optional filtering. - [List voices](https://developers.heygen.com/reference/list-voices.md): List available voices with cursor-based pagination. Filter by type (public/private), engine, language, and gender. Use engine=starfish to get voices compatible with the text-to-speech endpoint. - [List webhook endpoints](https://developers.heygen.com/reference/list-webhook-endpoints.md): List registered webhook endpoints with cursor-based pagination. - [List webhook event types](https://developers.heygen.com/reference/list-webhook-event-types.md): List all available webhook event types with human-readable descriptions. Returns the complete set in a single response (no pagination needed). - [List webhook events](https://developers.heygen.com/reference/list-webhook-events.md): List delivered webhook events with cursor-based pagination. Filter by event type or entity ID. - [Postman Collections](https://developers.heygen.com/reference/postman-collections.md): Ask AI - [Rotate webhook signing secret](https://developers.heygen.com/reference/rotate-webhook-signing-secret.md): Generate a new signing secret for a webhook endpoint. The old secret is immediately invalidated. Store the new secret securely — it will not be shown again. - [Send message to Video Agent session](https://developers.heygen.com/reference/send-message-to-video-agent-session.md): Send a follow-up message. Set auto_proceed to true to skip checkpoints and generate the video. - [Stop Video Agent session](https://developers.heygen.com/reference/stop-video-agent-session.md): Stop an in-progress agent run. The agent stops at the next checkpoint and partial results are preserved. - [Update a webhook endpoint](https://developers.heygen.com/reference/update-a-webhook-endpoint.md): Update the URL and/or subscribed event types for an existing webhook endpoint. - [Update overdub](https://developers.heygen.com/reference/update-overdub.md): Update an overdub's title. - [Update video translation](https://developers.heygen.com/reference/update-video-translation.md): Update a video translation's title. - [Upload an asset](https://developers.heygen.com/reference/upload-an-asset.md): Upload a file (image, video, audio, or PDF) to get an asset_id for use in other endpoints like POST /v3/video-agents. Uses multipart/form-data with a 'file' field. Max 32 MB. MIME type is auto-detected from file bytes. Supported types: image (png, jpeg), video (mp4, webm), audio (mp3, wav), and pdf. - [Upload proofread SRT](https://developers.heygen.com/reference/upload-proofread-srt.md): Upload an edited SRT file to update the proofread subtitles. Returns the updated proofread detail. - [Showcase](https://developers.heygen.com/showcase.md): Real projects built with the HeyGen API. Get inspired, then build your own. - [Social Media Content Pipeline](https://developers.heygen.com/social-media-content-pipeline.md): Batch-generate short-form videos for TikTok, Reels, and Shorts — no camera, no mic, no editing. - [Studio API](https://developers.heygen.com/studio-api.md): Generate videos using the AI Studio backend with support for avatars, voices, and dynamic backgrounds. - [Template API](https://developers.heygen.com/template-api.md): Generate a video based on a specified template, including scene IDs and dynamic variable replacements. - [Training & Onboarding Videos](https://developers.heygen.com/training-and-onboarding-videos.md): Convert training docs, policies, and SOPs into engaging video — and keep them in sync when materials change. - [Get Current User](https://developers.heygen.com/user-profile.md) - [Writing Effective Video Prompts](https://developers.heygen.com/writing-effective-video-prompts.md): What actually works when prompting Video Agent — based on real experiments, not theory. ## OpenAPI Specs - [external-api](https://developers.heygen.com/openapi/external-api.json) - [openapi](https://developers.heygen.com/openapi.yaml) Built with [Mintlify](https://mintlify.com).