HeyGen for AI agents
HeyGen is a generative AI video platform for creating avatar-based videos, voiceovers, and translated content. Teams building AI products use it to add this capability without training or hosting their own model. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.
What agents do in HeyGen.
Generate an avatar video
Create a talking-avatar video from a script for a product update or training clip.
Generate a voiceover
Generate text-to-speech audio in a chosen voice for a video's narration track.
Check a video's render status
Poll a video generation job's status before sharing the finished file.
71 HeyGen actions, graded by risk.
Every HeyGen action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.
read
18Look things up. Allowed by default.
- heygen.list_assetsList assets
- heygen.list_foldersList folders
- heygen.list_tts_voicesList TTS voices
- heygen.list_brand_voicesList brand voices
- heygen.list_group_avatarsList avatars in a specific group
- heygen.list_knowledge_basesList knowledge bases
- heygen.list_session_historyList session history
- heygen.list_all_avatar_groupsList all avatar groups
- heygen.list_streaming_avatarsList streaming avatars
- heygen.get_training_job_statusGet training job status
- heygen.list_all_locales_for_voicesList all locales for voices
- heygen.search_public_avatar_groupsSearch public avatar groups
- heygen.get_current_user_informationGet current user information
- heygen.retrieve_avatar_detailsRetrieve avatar details
- heygen.retrieve_sharable_video_urlRetrieve sharable video URL
- heygen.retrieve_template_details_v3Retrieve template details v3
write
45Create and change things. Allow, or ask the user first.
- heygen.add_motionAdd motion to photo avatar
- heygen.create_folderCreate a new folder
- heygen.update_folderUpdate folder name
- heygen.create_webm_videoCreate WebM video
- heygen.create_knowledge_baseCreate knowledge base
- heygen.update_knowledge_baseUpdate knowledge base
- heygen.update_webhook_endpointUpdate webhook endpoint
- heygen.create_photo_avatar_groupCreate photo avatar group
- heygen.add_looks_to_photo_avatar_groupAdd looks to photo avatar group
- heygen.post_talking_photo_binary_imagePost talking photo binary image
- heygen.v2_voicesList available voices
- heygen.new_sessionCreate new streaming session
- heygen.upload_assetUpload asset
- heygen.v2_templatesRetrieve all templates
- heygen.streaming_icePost streaming ice candidates
- heygen.streaming_newSet streaming quality endpoint
destructive
8Delete, cancel or archive. Ask first, or deny outright.
- heygen.delete_assetDelete asset
- heygen.delete_photo_avatarDelete photo avatar
- heygen.delete_knowledge_baseDelete knowledge base
- heygen.delete_an_avatar_videoDelete an avatar video
- heygen.delete_webhook_endpointDelete webhook endpoint
- heygen.delete_photo_avatar_groupDelete photo avatar group
- heygen.trash_folderMove folder to trash
- heygen.v2_talking_photo_id_deleteDelete talking photo by id
HeyGen in three steps.
- 01Your users connect HeyGenThey add their HeyGen api key on Arc0 Connect, under your brand. It goes straight into the vault.
- 02You set the rulesReads run, writes like “create a new folder” can wait for the user, and “delete asset” can be denied outright.
- 03Any agent can actYour agent calls HeyGen through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
await arc0.policies.set('heygen', { read: 'allow', write: 'ask', // create_folder destructive: 'deny', // delete_asset }) # Claude Code: the same connection, one URL $ claude mcp add --transport http arc0 \ https://mcp.arc0.ai/u/u_8f2
How HeyGen connects.
Users add their HeyGen api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.
The same HeyGen connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →
- AUTH
- API key
- CREDENTIALS
- Per-tenant encrypted vault
- MODEL SEES
- Results only, never credentials
- AUDIT LOG
- Every call, on every plan
Use HeyGen from any agent.
HeyGen and Arc0, answered.
Can I use HeyGen with Claude, ChatGPT or Cursor?
Yes. Connect HeyGen to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the HeyGen actions you allow.
How do users connect HeyGen?
Users add their HeyGen api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.
Which HeyGen actions can my agent take?
71 in total: 18 read, 45 write and 8 destructive, such as “create a new folder”. Your policies decide which of them each agent may call.
Can I stop my agent from deleting things in HeyGen?
Yes. Actions like “delete asset” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.
Can my own backend call HeyGen too?
Yes. The same HeyGen connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.
Plug HeyGen into your agent.
Your users connect HeyGen once, under your brand. Your agent gets 71 actions behind your policies, with every call on the record.
Free to build · MCP + REST · Audit log on every plan