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.

AI and modelsAPI keyMCP + RESTheygen.com
AUDIT LOG · HEYGENPOLICY: acme-support
09:41:07 · claude · u_8f2read
heygen.list_assets
List assets✓ allowed · 212ms
09:41:08 · claude · u_8f2read
heygen.list_folders
List folders✓ allowed · 164ms
09:41:09 · claude · u_8f2write
heygen.create_folder
Create a new folder✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
heygen.delete_asset
Delete asset✕ blocked · policy: deny
EVERY HEYGEN CALL, ON THE RECORD
01 · USE CASES

What agents do in HeyGen.

01

Generate an avatar video

Create a talking-avatar video from a script for a product update or training clip.

02

Generate a voiceover

Generate text-to-speech audio in a chosen voice for a video's narration track.

03

Check a video's render status

Poll a video generation job's status before sharing the finished file.

02 · ACTIONS

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

18

Look things up. Allowed by default.

  • heygen.list_assets
    List assets
  • heygen.list_folders
    List folders
  • heygen.list_tts_voices
    List TTS voices
  • heygen.list_brand_voices
    List brand voices
  • heygen.list_group_avatars
    List avatars in a specific group
  • heygen.list_knowledge_bases
    List knowledge bases
  • heygen.list_session_history
    List session history
  • heygen.list_all_avatar_groups
    List all avatar groups
  • heygen.list_streaming_avatars
    List streaming avatars
  • heygen.get_training_job_status
    Get training job status
  • heygen.list_all_locales_for_voices
    List all locales for voices
  • heygen.search_public_avatar_groups
    Search public avatar groups
  • heygen.get_current_user_information
    Get current user information
  • heygen.retrieve_avatar_details
    Retrieve avatar details
  • heygen.retrieve_sharable_video_url
    Retrieve sharable video URL
  • heygen.retrieve_template_details_v3
    Retrieve template details v3
+ 2 MORE

write

45

Create and change things. Allow, or ask the user first.

  • heygen.add_motion
    Add motion to photo avatar
  • heygen.create_folder
    Create a new folder
  • heygen.update_folder
    Update folder name
  • heygen.create_webm_video
    Create WebM video
  • heygen.create_knowledge_base
    Create knowledge base
  • heygen.update_knowledge_base
    Update knowledge base
  • heygen.update_webhook_endpoint
    Update webhook endpoint
  • heygen.create_photo_avatar_group
    Create photo avatar group
  • heygen.add_looks_to_photo_avatar_group
    Add looks to photo avatar group
  • heygen.post_talking_photo_binary_image
    Post talking photo binary image
  • heygen.v2_voices
    List available voices
  • heygen.new_session
    Create new streaming session
  • heygen.upload_asset
    Upload asset
  • heygen.v2_templates
    Retrieve all templates
  • heygen.streaming_ice
    Post streaming ice candidates
  • heygen.streaming_new
    Set streaming quality endpoint
+ 29 MORE

destructive

8

Delete, cancel or archive. Ask first, or deny outright.

  • heygen.delete_asset
    Delete asset
  • heygen.delete_photo_avatar
    Delete photo avatar
  • heygen.delete_knowledge_base
    Delete knowledge base
  • heygen.delete_an_avatar_video
    Delete an avatar video
  • heygen.delete_webhook_endpoint
    Delete webhook endpoint
  • heygen.delete_photo_avatar_group
    Delete photo avatar group
  • heygen.trash_folder
    Move folder to trash
  • heygen.v2_talking_photo_id_delete
    Delete talking photo by id
03 · HOW IT WORKS

HeyGen in three steps.

  1. 01Your users connect HeyGenThey add their HeyGen api key on Arc0 Connect, under your brand. It goes straight into the vault.
  2. 02You set the rulesReads run, writes like “create a new folder” can wait for the user, and “delete asset” can be denied outright.
  3. 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.
POLICY.TS
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
04 · AUTH AND DATA

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
05 · WORKS WITH

Use HeyGen from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

HeyGen and Arc0, answered.

Q01

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.

Q02

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.

Q03

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.

Q04

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.

Q05

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.

Get started

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