---
title: "HeyGen MCP server for AI agents - actionlake"
description: "Give Claude 228 HeyGen actions through one MCP server: streaming sessions, templates. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/heygen
updated: 2026-10-23
---

Connectors · AI

# HeyGen MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to HeyGen and the rest of your systems. It gives your agent 228 HeyGen actions (108 reads, 92 writes and 28 that wait for a confirmation) and holds the HeyGen credential itself, so the agent never does. It paces HeyGen's limits and records every call.

[Connect HeyGen free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "heygen.templates.list",
  intent: "check which HeyGen account is connected"
}
# List Templates · read · 1 upstream call
```

- 228 actions in one signed file
- 108 read look, never change
- 92 write create and update
- 28 wait for a yes destructive, confirmed first

Set up

## Connect HeyGen in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect HeyGen.
   API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `api_key` HeyGen API key: in HeyGen open Settings > API (https://app.heygen.com/settings?nav=API) and copy or generate the key
   ```
   account { op: "connections.requirements", service: "heygen" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "heygen.templates.list" }
   # list templates · read · 1 upstream call
   check { action: "heygen.music.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

HeyGen at a glance

**Sign-in**

API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`api_key`

**Limits we pace to**

120 calls a minute, per connection

**API covered**

HeyGen External API 1.0.0`api.heygen.com`

**Built from**

HeyGen's documentation, read 23 October 2026[developers.heygen.com](https://developers.heygen.com/openapi/external-api.json) [developers.heygen.com](https://developers.heygen.com/openapi.yaml)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

105 of 108 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

3, so ask can line HeyGen up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in HeyGen.

228 actions in 99 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **108** read look, never change
- **92** write create and update
- **28** destructive wait for a confirmation

1. ### Streaming sessions
   6
   1 read · 3 write · 2 destructive
   New Session · List Sessions · Send Task · Start Session
2. ### Templates
   6
   2 read · 3 write · 1 destructive
   List Templates · Create Template from Video · Generate Video from Template · Get Template
3. ### Avatar looks
   5
   2 read · 2 write · 1 destructive
   Create Avatar Looks · List Avatar Looks · Get Avatar Look · Update Avatar Look
4. ### Brand glossaries
   5
   2 read · 2 write · 1 destructive
   Create Brand Glossary · List Brand Glossaries · Get Brand Glossary · Update Brand Glossary
5. ### Brand kits
   5
   2 read · 2 write · 1 destructive
   Create Brand Kit · List Brand Kits · Get Brand Kit · Update Brand Kit
6. ### Legacy folders
   5
   1 read · 3 write · 1 destructive
   Create Folder · List Folders · Update Folder (Rename Only) · Restore Folder
7. ### Legacy videos
   5
   2 read · 2 write · 1 destructive
   Create Avatar Video (V2) · Create a WebM Video · Retrieve Video List · Retrieve Video Status/Details
8. ### Lipsyncs
   5
   2 read · 2 write · 1 destructive
   Create Lipsync · List Lipsyncs · Get Lipsync · Update Lipsync

**91 more areas · 186 actions**

- Proofreads **5**
- Video agent sessions **5**
- Video translations **5**
- Videos **5**
- Voices **5**
- Webhook endpoints **5**
- AI clippings **4**
- Avatar groups **4**
- Avatar realtime sessions **4**
- Avatar videos **4**
- Background removals **4**
- Hyperframes renders **4**
- Legacy templates **4**
- Legacy webhook endpoints **4**
- Model audio voices **4**
- Photo avatars **4**
- Podcasts **4**
- Workflow runs **4**
- Workflows **4**
- Assets **3**
- Custom agent videos **3**
- Digital twins **3**
- Photo avatar groups **3**
- Workflow versions **3**
- Asset upload batches **2**
- Asset uploads **2**
- Brand voices **2**
- Custom agents **2**
- Filler word removals **2**
- Folders **2**
- Images **2**
- Lipsync batches **2**
- Model images **2**
- Model speech **2**
- Model videos **2**
- Music **2**
- Proofread SRT **2**
- Transcriptions **2**
- Video analyses **2**
- Video batches **2**
- Video generations **2**
- Video quality comparison batches **2**
- Video quality comparisons **2**
- Video translate **2**
- Video translation batches **2**
- Workflow executions **2**
- API key **1**
- Asset batches **1**
- Asset statuses **1**
- Audio analyses **1**
- Audio sounds **1**
- Audio voices **1**
- Avatar consents **1**
- Avatars **1**
- Current user **1**
- Graph executions **1**
- Legacy avatar group avatars **1**
- Legacy avatar groups **1**
- Legacy avatars **1**
- Legacy voices **1**
- Legacy webhook events **1**
- Lipsync statuses **1**
- Look templates **1**
- Model transcriptions **1**
- Photo avatar generations **1**
- Photo avatar looks **1**
- Photo avatar photos **1**
- Photo avatar trainings **1**
- Prebuilt workflows **1**
- Remaining quota **1**
- Speech **1**
- Stock assets **1**
- Streaming avatars **1**
- Streaming tokens **1**
- Template variables **1**
- Text to speech **1**
- User **1**
- Video agent **1**
- Video agent session resources **1**
- Video agent session videos **1**
- Video agent styles **1**
- Video scenes **1**
- Video statuses **1**
- Video translate captions **1**
- Video translate languages **1**
- Video translation languages **1**
- Video translation statuses **1**
- Webhook event types **1**
- Webhook events **1**
- Workflow node types **1**
- Workflow run nodes **1**

Top actions

## The HeyGen API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `heygen.assets.list` List Assets | List Assets. | read | this connector |
| `heygen.videos.list` List Videos | List Videos. | read | this connector |
| `heygen.templates.list` List Templates | List Templates. | read | this connector |
| `heygen.voices.list` List Voices | List Voices. | read | this connector |
| `heygen.music.create` Create Music | Create Music. | write | this connector |
| `heygen.voices.clone` Clone a Voice | Clone a Voice. | write | this connector |
| `heygen.images.create` Create Image | Create Image. | write | this connector |
| `heygen.lipsyncs.list` List Lipsyncs | List Lipsyncs. | read | this connector |
| `heygen.speech.create` Generate Speech | Generate Speech. | write | this connector |
| `heygen.videos.create` Create Video | Create Video. | write | this connector |
| `heygen.avatars.create` Create Avatar | Create Avatar. | write | this connector |
| `heygen.assets.delete` Delete Asset | Delete Asset. | destructive | this connector |

Try it

## Prompts to paste into Claude.

Each one names the HeyGen actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which HeyGen files changed this week, and who changed them?
   calls `heygen.assets.list`
2. Write write
   Create Music in HeyGen. Show me exactly what you will send before you save it.
   calls `heygen.music.create`

Governance for HeyGen

## Destructive actions wait for a yes.

28 HeyGen actions are destructive. These are all of them:

- Delete Asset `heygen.assets.delete`
- Delete Video `heygen.videos.delete`
- Delete a Voice `heygen.voices.delete`
- Delete Lipsync `heygen.lipsyncs.delete`
- Delete Podcast `heygen.podcasts.delete`
- Delete Template `heygen.templates.delete`
- Delete Brand Kit `heygen.brand_kits.delete`
- Delete Proofread Session `heygen.proofreads.delete`
- Delete AI Clipping `heygen.ai_clippings.delete`
- Delete Avatar Look `heygen.avatar_looks.delete`
- Delete Avatar Group `heygen.avatar_groups.delete`
- Delete a video `heygen.avatar_videos.delete`
- Delete Digital Twin `heygen.digital_twins.delete`
- Trash Folder `heygen.legacy_folders.trash`
- Delete a Video `heygen.legacy_videos.delete`
- Delete Brand Glossary `heygen.brand_glossaries.delete`
- Delete Webhook Endpoint `heygen.webhook_endpoints.delete`
- Delete an Audio Voice `heygen.model_audio_voices.delete`
- Delete Video Translation `heygen.video_translations.delete`
- Delete Background Removal `heygen.background_removals.delete`
- Delete HyperFrames Render `heygen.hyperframes_renders.delete`
- Delete a Webhook Endpoint `heygen.legacy_webhook_endpoints.delete`
- Rotate Webhook Signing Secret `heygen.webhook_endpoints.rotate_secret`
- Cancel Workflow Run `heygen.workflow_runs.cancel`
- Close Session `heygen.streaming_sessions.stop`
- Stop Video Agent Session `heygen.video_agent_sessions.stop`
- Interrupt Task `heygen.streaming_sessions.interrupt`
- Cancel Avatar Realtime Session `heygen.avatar_realtime_sessions.cancel`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do heygen.assets.delete confirm_policy: **human**

Delete Asset?

**intent:** the user asked me to delete Asset

run suspended · waiting for a named person · key _heygen-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "heygen-agent",
  allowed_actions: ["heygen.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "heygen.assets.delete", approver: "lead@example.com" },
    { match: "heygen.videos.delete", approver: "lead@example.com" },
    { match: "heygen.voices.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to HeyGen only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What HeyGen costs on actionlake.

Every HeyGen action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call HeyGen refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 228 HeyGen actions
- 228 actions page each page of a long list is one call
- 105 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every HeyGen action.

228 actions by area: the id your agent calls, what it does, and its effect.

**Streaming sessions 6**

- `heygen.streaming_sessions.create` New Session write
- `heygen.streaming_sessions.interrupt` Interrupt Task destructive
- `heygen.streaming_sessions.list` List Sessions read
- `heygen.streaming_sessions.send_task` Send Task write
- `heygen.streaming_sessions.start` Start Session write
- `heygen.streaming_sessions.stop` Close Session destructive

**Templates 6**

- `heygen.templates.create` Create Template from Video write
- `heygen.templates.delete` Delete Template destructive
- `heygen.templates.generate_video` Generate Video from Template write
- `heygen.templates.get` Get Template read
- `heygen.templates.list` List Templates read
- `heygen.templates.update` Update Template write

**Avatar looks 5**

- `heygen.avatar_looks.create` Create Avatar Looks write
- `heygen.avatar_looks.delete` Delete Avatar Look destructive
- `heygen.avatar_looks.get` Get Avatar Look read
- `heygen.avatar_looks.list` List Avatar Looks read
- `heygen.avatar_looks.update` Update Avatar Look write

**Brand glossaries 5**

- `heygen.brand_glossaries.create` Create Brand Glossary write
- `heygen.brand_glossaries.delete` Delete Brand Glossary destructive
- `heygen.brand_glossaries.get` Get Brand Glossary read
- `heygen.brand_glossaries.list` List Brand Glossaries read
- `heygen.brand_glossaries.update` Update Brand Glossary write

**Brand kits 5**

- `heygen.brand_kits.create` Create Brand Kit write
- `heygen.brand_kits.delete` Delete Brand Kit destructive
- `heygen.brand_kits.get` Get Brand Kit read
- `heygen.brand_kits.list` List Brand Kits read
- `heygen.brand_kits.update` Update Brand Kit write

**Legacy folders 5**

- `heygen.legacy_folders.create` Create Folder write
- `heygen.legacy_folders.list` List Folders read
- `heygen.legacy_folders.rename` Update Folder (Rename Only) write
- `heygen.legacy_folders.restore` Restore Folder write
- `heygen.legacy_folders.trash` Trash Folder destructive

**Legacy videos 5**

- `heygen.legacy_videos.delete` Delete a Video destructive
- `heygen.legacy_videos.generate` Create Avatar Video (V2) write
- `heygen.legacy_videos.generate_webm` Create a WebM Video write
- `heygen.legacy_videos.list` Retrieve Video List read
- `heygen.legacy_videos.status` Retrieve Video Status/Details read

**Lipsyncs 5**

- `heygen.lipsyncs.create` Create Lipsync write
- `heygen.lipsyncs.delete` Delete Lipsync destructive
- `heygen.lipsyncs.get` Get Lipsync read
- `heygen.lipsyncs.list` List Lipsyncs read
- `heygen.lipsyncs.update` Update Lipsync write

**Proofreads 5**

- `heygen.proofreads.create` Create Proofread Session write
- `heygen.proofreads.delete` Delete Proofread Session destructive
- `heygen.proofreads.generate_video` Generate Video from Proofread write
- `heygen.proofreads.get` Get Proofread Session read
- `heygen.proofreads.list` List Proofread Sessions read

**Video agent sessions 5**

- `heygen.video_agent_sessions.create` Create Video Agent Session write
- `heygen.video_agent_sessions.get` Get Video Agent Session read
- `heygen.video_agent_sessions.list` List Video Agent Sessions read
- `heygen.video_agent_sessions.send_message` Send Video Agent Message write
- `heygen.video_agent_sessions.stop` Stop Video Agent Session destructive

**Video translations 5**

- `heygen.video_translations.create` Create Video Translation write
- `heygen.video_translations.delete` Delete Video Translation destructive
- `heygen.video_translations.get` Get Video Translation read
- `heygen.video_translations.list` List Video Translations read
- `heygen.video_translations.update` Update Video Translation write

**Videos 5**

- `heygen.videos.create` Create Video write
- `heygen.videos.delete` Delete Video destructive
- `heygen.videos.edit` Edit Video write
- `heygen.videos.get` Get Video read
- `heygen.videos.list` List Videos read

**Voices 5**

- `heygen.voices.clone` Clone a Voice write
- `heygen.voices.delete` Delete a Voice destructive
- `heygen.voices.design` Design a Voice write
- `heygen.voices.get` Get Voice read
- `heygen.voices.list` List Voices read

**Webhook endpoints 5**

- `heygen.webhook_endpoints.create` Create Webhook Endpoint write
- `heygen.webhook_endpoints.delete` Delete Webhook Endpoint destructive
- `heygen.webhook_endpoints.list` List Webhook Endpoints read
- `heygen.webhook_endpoints.rotate_secret` Rotate Webhook Signing Secret destructive
- `heygen.webhook_endpoints.update` Update Webhook Endpoint write

**AI clippings 4**

- `heygen.ai_clippings.create` Create AI Clipping write
- `heygen.ai_clippings.delete` Delete AI Clipping destructive
- `heygen.ai_clippings.get` Get AI Clipping read
- `heygen.ai_clippings.list` List AI Clipping read

**Avatar groups 4**

- `heygen.avatar_groups.delete` Delete Avatar Group destructive
- `heygen.avatar_groups.get` Get Avatar Group read
- `heygen.avatar_groups.list` List Avatar Groups read
- `heygen.avatar_groups.update` Update Avatar Group write

**Avatar realtime sessions 4**

- `heygen.avatar_realtime_sessions.append_text` Append Avatar Realtime Text write
- `heygen.avatar_realtime_sessions.cancel` Cancel Avatar Realtime Session destructive
- `heygen.avatar_realtime_sessions.create` Create Avatar Realtime Session write
- `heygen.avatar_realtime_sessions.get` Get Avatar Realtime Session read

**Avatar videos 4**

- `heygen.avatar_videos.create` Create an avatar video write
- `heygen.avatar_videos.delete` Delete a video destructive
- `heygen.avatar_videos.get` Get video details read
- `heygen.avatar_videos.list` List videos read

**Background removals 4**

- `heygen.background_removals.create` Create Background Removal write
- `heygen.background_removals.delete` Delete Background Removal destructive
- `heygen.background_removals.get` Get Background Removal read
- `heygen.background_removals.list` List Background Removals read

**Hyperframes renders 4**

- `heygen.hyperframes_renders.create` Create HyperFrames Render write
- `heygen.hyperframes_renders.delete` Delete HyperFrames Render destructive
- `heygen.hyperframes_renders.get` Get HyperFrames Render read
- `heygen.hyperframes_renders.list` List HyperFrames Renders read

**Legacy templates 4**

- `heygen.legacy_templates.generate_video` Generate Video from Template write
- `heygen.legacy_templates.get` Retrieve Template Details read
- `heygen.legacy_templates.get_v3` Retrieve Template Details (V3) read
- `heygen.legacy_templates.list` List Templates read

**Legacy webhook endpoints 4**

- `heygen.legacy_webhook_endpoints.create` Add a Webhook Endpoint write
- `heygen.legacy_webhook_endpoints.delete` Delete a Webhook Endpoint destructive
- `heygen.legacy_webhook_endpoints.list` List Webhook Endpoints read
- `heygen.legacy_webhook_endpoints.update` Update a Webhook Endpoint write

**Model audio voices 4**

- `heygen.model_audio_voices.create` Create or Retrain an Audio Voice write
- `heygen.model_audio_voices.delete` Delete an Audio Voice destructive
- `heygen.model_audio_voices.get` Get an Audio Voice read
- `heygen.model_audio_voices.list` List Audio Voices read

**Photo avatars 4**

- `heygen.photo_avatars.add_motion` Add motion write
- `heygen.photo_avatars.add_sound_effect` Add sound effect write
- `heygen.photo_avatars.get` Photo avatar details read
- `heygen.photo_avatars.upscale` Upscale an avatar write

**Podcasts 4**

- `heygen.podcasts.create` Create Podcast write
- `heygen.podcasts.delete` Delete Podcast destructive
- `heygen.podcasts.get` Get Podcast read
- `heygen.podcasts.list` List Podcasts read

**Workflow runs 4**

- `heygen.workflow_runs.cancel` Cancel Workflow Run destructive
- `heygen.workflow_runs.create` Start a workflow run write
- `heygen.workflow_runs.get` Get Workflow Run read
- `heygen.workflow_runs.list` List Workflow Runs read

**Workflows 4**

- `heygen.workflows.create` Create Workflow write
- `heygen.workflows.get` Get Workflow read
- `heygen.workflows.list` List Workflows read
- `heygen.workflows.update_draft` Update Workflow Draft write

**Assets 3**

- `heygen.assets.delete` Delete Asset destructive
- `heygen.assets.get` Get Asset read
- `heygen.assets.list` List Assets read

**Custom agent videos 3**

- `heygen.custom_agent_videos.create` Create Custom Agent Video write
- `heygen.custom_agent_videos.edit` Edit Custom Agent Video write
- `heygen.custom_agent_videos.get` Get Custom Agent Video Status read

**Digital twins 3**

- `heygen.digital_twins.create` Create Digital Twin write
- `heygen.digital_twins.delete` Delete Digital Twin destructive
- `heygen.digital_twins.get` Get Digital Twin Generation Status read

**Photo avatar groups 3**

- `heygen.photo_avatar_groups.add_looks` Add looks to photo avatar group write
- `heygen.photo_avatar_groups.create` Create photo avatar group write
- `heygen.photo_avatar_groups.train` Train photo avatar group write

**Workflow versions 3**

- `heygen.workflow_versions.get` Get Workflow Version read
- `heygen.workflow_versions.list` List Workflow Versions read
- `heygen.workflow_versions.publish` Publish Workflow Version write

**Asset upload batches 2**

- `heygen.asset_upload_batches.complete` Complete Asset Upload Batch write
- `heygen.asset_upload_batches.create` Create Asset Upload Batch write

**Asset uploads 2**

- `heygen.asset_uploads.complete` Complete Asset Upload write
- `heygen.asset_uploads.create` Create Asset Upload write

**Brand voices 2**

- `heygen.brand_voices.list` List Brand Voices read
- `heygen.brand_voices.update` Update Brand Voice write

**Custom agents 2**

- `heygen.custom_agents.get` Get Custom Agent read
- `heygen.custom_agents.list` List Custom Agents read

**Filler word removals 2**

- `heygen.filler_word_removals.create` Create Filler Word Removal write
- `heygen.filler_word_removals.get` Get Filler Word Removal read

**Folders 2**

- `heygen.folders.create` Create Folder write
- `heygen.folders.get` Get Folder read

**Images 2**

- `heygen.images.create` Create Image write
- `heygen.images.get` Get Image read

**Lipsync batches 2**

- `heygen.lipsync_batches.create` Create Lipsync Batch write
- `heygen.lipsync_batches.get` Get Lipsync Batch read

**Model images 2**

- `heygen.model_images.create` Create HeyGen Image write
- `heygen.model_images.get` Get HeyGen Image read

**Model speech 2**

- `heygen.model_speech.convert` Convert Speech write
- `heygen.model_speech.generate` Generate Speech write

**Model videos 2**

- `heygen.model_videos.create` Create HeyGen Video write
- `heygen.model_videos.get` Get HeyGen Video read

**Music 2**

- `heygen.music.create` Create Music write
- `heygen.music.get` Get Music read

**Proofread SRT 2**

- `heygen.proofread_srt.get` Download Proofread SRT read
- `heygen.proofread_srt.update` Upload Proofread SRT write

**Transcriptions 2**

- `heygen.transcriptions.create` Create Transcription write
- `heygen.transcriptions.get` Get Transcription read

**Video analyses 2**

- `heygen.video_analyses.create` Analyze Video write
- `heygen.video_analyses.get` Get Video Analysis read

**Video batches 2**

- `heygen.video_batches.create` Create Video Batch write
- `heygen.video_batches.get` Get Video Batch read

**Video generations 2**

- `heygen.video_generations.create` Create Video Generation write
- `heygen.video_generations.get` Get Video Generation read

**Video quality comparison batches 2**

- `heygen.video_quality_comparison_batches.create` Create Video Quality Comparison Batch write
- `heygen.video_quality_comparison_batches.get` Get Video Quality Comparison Batch read

**Video quality comparisons 2**

- `heygen.video_quality_comparisons.create` Create Video Quality Comparison write
- `heygen.video_quality_comparisons.get` Get Video Quality Comparison read

**Video translate 2**

- `heygen.video_translate.create` Create video translation write
- `heygen.video_translate.status` Check Translation Status read

**Video translation batches 2**

- `heygen.video_translation_batches.create` Create Video Translation Batch write
- `heygen.video_translation_batches.get` Get Video Translation Batch read

**Workflow executions 2**

- `heygen.workflow_executions.create` Create a workflow execution write
- `heygen.workflow_executions.get` Get workflow execution status read

**API key 1**

- `heygen.api_key.get` Get Current API Key read

**Asset batches 1**

- `heygen.asset_batches.get` Get Asset Batch read

**Asset statuses 1**

- `heygen.asset_statuses.list` Bulk Asset Statuses read

**Audio analyses 1**

- `heygen.audio_analyses.create` Analyze Audio write

**Audio sounds 1**

- `heygen.audio_sounds.search` Search audio (music or sound effects) read

**Audio voices 1**

- `heygen.audio_voices.list` List voices for text-to-speech read

**Avatar consents 1**

- `heygen.avatar_consents.create` Create Avatar Consent write

**Avatars 1**

- `heygen.avatars.create` Create Avatar write

**Current user 1**

- `heygen.current_user.get` Get Current User read

**Graph executions 1**

- `heygen.graph_executions.create` Create a graph execution write

**Legacy avatar group avatars 1**

- `heygen.legacy_avatar_group_avatars.list` List All Avatars in one avatar group read

**Legacy avatar groups 1**

- `heygen.legacy_avatar_groups.list` List All Avatar Groups read

**Legacy avatars 1**

- `heygen.legacy_avatars.list` List All Avatars (V2) read

**Legacy voices 1**

- `heygen.legacy_voices.list` List All Voices (V2) read

**Legacy webhook events 1**

- `heygen.legacy_webhook_events.list` List Available Webhook Events read

**Lipsync statuses 1**

- `heygen.lipsync_statuses.list` Bulk Lipsync Statuses read

**Look templates 1**

- `heygen.look_templates.list` List Look Templates read

**Model transcriptions 1**

- `heygen.model_transcriptions.create` Create Model Transcription write

**Photo avatar generations 1**

- `heygen.photo_avatar_generations.get` Check photo/look generation status read

**Photo avatar looks 1**

- `heygen.photo_avatar_looks.generate` Generate photo avatar looks write

**Photo avatar photos 1**

- `heygen.photo_avatar_photos.generate` Generate photo avatar photos write

**Photo avatar trainings 1**

- `heygen.photo_avatar_trainings.get` Get training job status read

**Prebuilt workflows 1**

- `heygen.prebuilt_workflows.list` List available workflows read

**Remaining quota 1**

- `heygen.remaining_quota.get` Get Remaining Quota read

**Speech 1**

- `heygen.speech.create` Generate Speech write

**Stock assets 1**

- `heygen.stock_assets.search` Search assets (images and icons) read

**Streaming avatars 1**

- `heygen.streaming_avatars.list` List Streaming Avatars read

**Streaming tokens 1**

- `heygen.streaming_tokens.create` Create Session Token write

**Template variables 1**

- `heygen.template_variables.set` Set Template Variables write

**Text to speech 1**

- `heygen.text_to_speech.create` Generate speech audio from text write

**User 1**

- `heygen.user.get` Get current user info, remaining credits, and billing read

**Video agent 1**

- `heygen.video_agent.generate` Create a video from a prompt write

**Video agent session resources 1**

- `heygen.video_agent_session_resources.get` Get Session Resource read

**Video agent session videos 1**

- `heygen.video_agent_session_videos.list` List Session Videos read

**Video agent styles 1**

- `heygen.video_agent_styles.list` List Video Agent Styles read

**Video scenes 1**

- `heygen.video_scenes.get` Get Video Scenes read

**Video statuses 1**

- `heygen.video_statuses.list` Bulk Video Statuses read

**Video translate captions 1**

- `heygen.video_translate_captions.get` Get video translate caption read

**Video translate languages 1**

- `heygen.video_translate_languages.list` List video translate languages read

**Video translation languages 1**

- `heygen.video_translation_languages.list` List Supported Translation Languages read

**Video translation statuses 1**

- `heygen.video_translation_statuses.list` Bulk Video Translation Statuses read

**Webhook event types 1**

- `heygen.webhook_event_types.list` List Webhook Event Types read

**Webhook events 1**

- `heygen.webhook_events.list` List Webhook Events read

**Workflow node types 1**

- `heygen.workflow_node_types.list` List Workflow Node Types read

**Workflow run nodes 1**

- `heygen.workflow_run_nodes.list` List Workflow Run Nodes read

Questions

## The HeyGen MCP server, answered.

**Is there a HeyGen MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 228 HeyGen actions across streaming sessions, templates, avatar looks and brand glossaries, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by HeyGen.

**What do I need to connect HeyGen?**

HeyGen API key: in HeyGen open Settings > API (https://app.heygen.com/settings?nav=API) and copy or generate the key. The free call account { op: "connections.requirements", service: "heygen" } lists exactly what to paste.

**Can an AI agent delete or change things in HeyGen?**

Only if its key allows it, and only with an explicit confirmation. 28 HeyGen actions are destructive, including delete Asset, delete Video and delete a Voice. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my HeyGen API limit?**

actionlake paces every call to the limits in the HeyGen service file: 120 calls a minute per connection. Repeated reads are answered from cache (105 HeyGen actions can be), which never reaches HeyGen.

**What does a HeyGen action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (228 HeyGen actions page). Cache hits, searches, dry runs and calls HeyGen refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which HeyGen API does it cover?**

The HeyGen External API 1.0.0 at api.heygen.com. It is built from HeyGen's documentation as read on 23 October 2026. 228 actions in 99 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my HeyGen data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your HeyGen credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like HeyGen

Joins with, on shared entities

- [Basecamp 2](https://actionlake.com/connectors/basecamp)
- [Slack 1](https://actionlake.com/connectors/slack)
- [Canvas LMS 1](https://actionlake.com/connectors/canvas-lms)
- [Unified.to 1](https://actionlake.com/connectors/unified-to)
- [Appwrite Cloud 1](https://actionlake.com/connectors/appwrite-cloud)
- [Teamwork 1](https://actionlake.com/connectors/teamwork)

Browse

- [All AI connectors](https://actionlake.com/connectors/category/ai)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by HeyGen; the name is the vendor's own. Counts are from the HeyGen service file, version 1.0.0.

## Give your agent HeyGen today.

[Connect HeyGen free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/heygen
More: https://actionlake.com/llms.txt
