heygen-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HEYGEN_API_KEY | Yes | Your HeyGen API key. Set via environment variable or in the MCP server configuration env field. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_videoA | Primary tool — generates an avatar video with HeyGen and waits until it finishes rendering, returning the final video_url. Needs an avatar_id (list_avatars) and a voice_id (list_voices). Pass scenes for a multi-scene video, or avatar_id/text/voice_id for a single scene. Optionally saves the mp4 locally via output_path. Rendering typically takes 1-3 minutes and consumes account credits — check get_quota first for long scripts. |
| generate_videoA | Submit a video to HeyGen and return the video_id immediately without waiting for rendering. Use this only when you want to poll yourself with check_video (e.g. very long videos); for most cases use create_video instead. Consumes account credits. |
| check_videoA | Check the rendering status of a HeyGen video by video_id. Status is one of pending, waiting, processing, completed or failed. When completed it returns video_url, thumbnail_url, gif_url, caption_url and duration. |
| download_videoA | Download a finished HeyGen video to a local .mp4 file. Pass video_id (the URL is looked up automatically) or a direct video_url. HeyGen video URLs expire 7 days after generation. |
| list_avatarsA | List avatars available in your HeyGen account, with their avatar_id and preview video. Accounts hold well over a thousand avatars, so always pass a search term to narrow the results before picking one for create_video. |
| list_voicesA | List HeyGen voices with their voice_id, language, gender and preview_audio URL. Filter by language and gender to find a voice for create_video — emotion_support and support_locale tell you whether the emotion and locale parameters will work with that voice. |
| list_videosA | List recent videos in your HeyGen account with their video_id, title, status and creation date. Useful to recover the video_id of something generated earlier — pass that ID to check_video to get its URL and duration. |
| get_quotaA | Check remaining HeyGen API credits before generating video. Returns remaining quota in seconds and in credits (HeyGen bills 1 credit per 60 seconds of rendered video). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/carlosvidal/heygen-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server