3行でいうと
- Claude.aiからは、「+」→「Connectors」→「Manage connectors」→「+ Add custom connector」で、名前を
HeyGen、URLをhttps://mcp.heygen.com/mcp/v1/と入れ、「Connect」を押してHeyGenの画面で承認します(公式の「MCP: Claude」のページ)。APIキーは要らず、認証はOAuthのみです(公式の「HeyGen Remote MCP」のページ。「MCP: Claude」のページは認証の方式の名前を書いていません)。 - コーディング用のエージェントからは、Skillsの公式READMEが、Claude Codeの例として
claude mcp add --transport http heygen https://mcp.heygen.com/mcp/v1/を載せています。CLIとAPIキーの経路もあります。 - 課金の経路が違います。MCP(OAuth)はHeyGenの現在のプランのクレジット、CLIをAPIキーで使うとAPI利用として別に課金、と公式のSkillsの資料にあります。
- HyperFramesには、HeyGen本体のMCPとは別のホスト型MCP(
https://mcp.heygen.com/mcp/hyperframes/、beta)があり、Claude、ChatGPT、Grokで使えると書かれています。 - 連携の「外し方」は、読んだ公式ページの多くに書かれていません。書かれていないものは、「記載が見つからない」と書き、ホスト側(Claudeなど)の設定を見る形になります。
この記事は、公式の資料を2026年10月25日に読んでまとめたものです。この記事は、実際に使って確かめた記録ではありません。コマンドと設定は、「公式の例の写し」と「この記事の案」を区別して書きます。ページは要約の形で読んだので、システムへ何かを登録する操作(プラグインのマーケットプレイスの追加、シェルスクリプトの実行など)は、必ず公式の原文を見てください。画面の表記は変わります。手元の画面と照らして読んでください。
先に結論
- チャット型のAI(Claude.aiなど)には、リモートMCPが、公式が最初に案内する入口です。設定の画面は「Connectors」、認証はOAuthで、APIキーは使いません。
- 端末のコーディング用エージェント(Claude Codeなど)には、MCP(1行のコマンド)、またはCLI+Skillsの経路があります。どちらを使うかで、課金の財布が変わります。
- 自分のアプリ・自動化には、APIです。キーを
X-Api-Keyヘッダーで送り、POST /v3/video-agentsから始まります。 - HTMLで動画を組むなら、HyperFrames(ローカルのCLIとSkills、またはホスト型のMCP)です。HeyGen本体のMCPとはURLも用途も別です。
- 外し方は、公式の資料に書かれた範囲が狭いです。この記事は、書かれていることだけを書きます。
前提:用語をそろえる
- API:プログラムから機能を呼ぶ窓口です。HeyGenでは、現行は
/v3/...の形です。 - APIキー:APIを呼ぶときに送る、自分専用の文字列です。他人に見せないものとして扱います。この記事では
<YOUR_API_KEY>のように書きます(実際の値は書きません)。 - MCP(Model Context Protocol):AIアシスタントが外のツールを呼ぶための共通の約束です。
- リモートMCP:自分のパソコンにプログラムを入れず、URLで接続するMCPです。
- OAuth:パスワードやAPIキーを渡さず、HeyGenの画面で「許可する」と承認する方式です。
- カスタムコネクタ:Claudeなどに、公式の一覧にないMCPを、URLを入れて足す仕組みです。
- CLI:ターミナルで打つコマンドです。
heygenコマンド。 - ターミナル:コマンドを打つ画面です(Macの「ターミナル」など)。
- Skills:AIエージェントに読ませる、手順書(
SKILL.mdなど)のセットです。 - Webhook(コールバック):処理が終わったとき、HeyGenから指定のURLへ通知を送る仕組みです。
- 環境変数:端末に覚えさせる名前つきの値です。
HEYGEN_API_KEYなど。
入口の一覧:認証、課金、公式が書くこと
| 入口 | 認証 | 課金(公式の記載) | 対応クライアントなど |
|---|---|---|---|
| API | APIキー(X-Api-Key ヘッダー) |
クイックスタートに課金の記載なし(API料金の資料は03・04) | 自分のプログラム |
リモートMCP(https://mcp.heygen.com/mcp/v1/) |
OAuthのみ。APIキーは不要 | 現在のHeyGenのプランのクレジットから。概要の冒頭とFAQは「追加の費用はない」趣旨。同じページの比較表は課金を「Web plan + premium credits」と書く。ツールごとの条件あり | Claude(Web、Desktop、Code)、Codex CLI、Cursor、Gemini CLI、Lovable、Manus、Superhuman、OpenAI、ほか |
CLI(heygen) |
APIキー、またはブラウザのOAuth | Skillsの資料は、キーのCLIをAPI利用として別に課金と書く | macOS、Linux。Windowsは未対応でWSLを案内 |
Skills(heygen-com/skills) |
MCPのOAuth、またはCLI | 優先順位は下の表 | Claude Code、Cursor、Codex、Gemini CLIなど12以上 |
| HyperFrames(ローカル) | 不要(ローカルで組む)。書き出しの方法で変わる | HyperFramesのヘルプ記事に、クレジットの記載なし | Claude Code、Cursor、Gemini CLI、Codexなど |
| HyperFramesのMCP(beta) | OAuth(HeyGenのサインイン) | 記載が見つからない。「プラン、上限、課金は変わりうる」とある | Claude、ChatGPT、Grok |
連携1:API(APIキーで、プログラムから動画をつくる)
公式の「Quick start」の順です。
1-1. APIキーを用意する
- 「API keys」のページを開く。クイックスタートは、
https://platform.heygen.com/api-keysと書いています。(なお、Skillsの公式READMEは、キーの入手先をapp.heygen.com/apiと書いています。ページ同士で書き方が違うので、画面の案内に従ってください。) - キーを作る。作ったキーは、人に見せず、コードやブログに貼らない。
- ターミナルに覚えさせる(クイックスタートの形)。
export HEYGEN_API_KEY="<YOUR_API_KEY>"
クイックスタートからリンクされた「API Key」のガイド(https://developers.heygen.com/docs/api-key)も読みました。要点は次のとおりです。
- キーは
https://platform.heygen.com/api-keysで作る。生成の画面の流れは、ガイドに詳しくは書かれていない。 - ガイドは、環境変数
HEYGEN_API_KEYを「recommended」と書く(公式が recommended と書いています)。.envファイルや、Claude Codeなら起動前に export する、または~/.bashrc、~/.zshrcに書いて残す、という書き方も載っています。 - ヘッダー名は
X-Api-Key。認証に失敗するとunauthorized(401)。 - キーが有効か確かめるには
GET /v3/users/me。応答にbilling_type(wallet、subscription、usage_based)が入る。 - 権限の制限:権限のスコープで、キーを特定の資源・操作に絞れる、とある。
GET /v3/api_keys/selfが、キーの名前、scope_mode(full、read_only、custom)、スコープ、期限を返す。スコープと各エンドポイントの対応は、別のページにある(読んでいません)。 - ガイドは、キーをバージョン管理に入れない、ブラウザ側のコードに出さない、と書く。「定期的にAPIダッシュボードで入れ替える」とも書くが、入れ替えの手順は書かれていません。
- 使用状況は
https://platform.heygen.com/usageで見られる、とある。
なお、Skillsの公式READMEは、キーの入手先を app.heygen.com/api(Settings → API)と書き、モーダルを閉じるとキーは再表示できない、と書いています(取得時の要約)。クイックスタートとAPIキーのガイドの platform.heygen.com/api-keys とは書き方が違います。どちらかに決めず、手元の画面の案内に従ってください。
1-2. 動画をつくる(Video Agent)
公式のクイックスタートの例です。ベースURLは https://api.heygen.com、ヘッダーは X-Api-Key です。
curl -X POST "https://api.heygen.com/v3/video-agents" \
-H "X-Api-Key: $HEYGEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "A presenter explaining our product launch in 30 seconds"}'
返ってくる形(クイックスタートの例)は、data の中に session_id、status(generating)、video_id(最初は null)です。session_id を控えます。作成中の様子は https://app.heygen.com/video-agent/{session_id} で見られる、とあります。
1-3. 結果を取る
- セッションから
video_idを取る。video_idがnullでなくなるまで繰り返す。
curl "https://api.heygen.com/v3/video-agents/<SESSION_ID>" \
-H "X-Api-Key: $HEYGEN_API_KEY"
- 動画の状態を見る。
curl "https://api.heygen.com/v3/videos/<VIDEO_ID>" \
-H "X-Api-Key: $HEYGEN_API_KEY"
- 完了すると
statusがcompletedになり、video_urlにMP4が置かれます。failedのときは、failure_codeとfailure_messageを見ます。
1-4. 通知で受け取る(callback_url)
作成のリクエストに callback_url を付けると、動画ができたときにWebhookが届き、ポーリング(繰り返し確認)が要りません。これは、そのリクエストだけの1回限りの通知で、callback_id を付けると通知に同じ値が返ります(公式の「Webhooks」のガイド)。
同じガイドは、リクエストごとではなく、受け取り先(エンドポイント)を登録する方法も書いています。
| 項目 | 公式の記載(Webhooksのガイド、確認日 2026-10-25) |
|---|---|
| 登録 | POST https://api.heygen.com/v3/webhooks/endpoints。必須は url(公開のHTTPSの宛先)。任意で events(省略かnullで全イベント)と entity_id(1つの資源に絞る)。OAuthのベアラートークンも使える、とある |
| 秘密の値 | 応答に secret が入り、表示されるのはその1回だけ。通知の検証に使うので、安全に保管する |
| 一覧・更新 | 一覧は limit(1〜100、既定10)と token。一覧では secret は null。更新では events の配列が丸ごと置き換わる |
| 削除(外し方) | エンドポイントを削除すると、そのURLへの配信は止まる。恒久的な削除(permanently)と書かれている。個別の経路名は原文で確認 |
| 秘密の入れ替え | 新しい secret が発行され、古いものはすぐ無効になる |
| 検証 | 各通知の signature ヘッダーに、生のリクエスト本文を、エンドポイントの秘密で計算したHMAC-SHA256(16進)が入る。ページは、再整形したJSONではなく生のバイト列で検証するよう書く |
| 再送 | 2xxを10秒以内に返さないと失敗とみなされ、最大24時間、間隔を空けて再送される。重複することがある |
| 通知の中身 | event_type と event_data(video_id を含む)。例として avatar_video.success、avatar_video.fail、video_agent.success。全イベントの一覧は別のページ(読んでいません) |
1-5. Video Agentのリクエストの項目(公式のガイド)
| 項目 | 必須 | 公式の説明 |
|---|---|---|
prompt |
必須 | 1〜10,000文字 |
mode |
任意 | generate(既定、一発で作る)または chat(複数回のやりとり。確認で止まる) |
avatar_id、voice_id |
任意 | 省くとエージェントが選ぶ |
style_id |
任意 | GET /v3/video-agents/styles で取る |
brand_kit_id |
任意 | ブランドの色、フォント、ロゴを当てる |
brand_glossary_id |
任意 | ナレーションでの用語の読み方。字幕は元の綴りのまま |
orientation |
任意 | landscape か portrait。省くと自動 |
files |
任意 | 最大20個。URL、アセットID、base64。形式はpng、jpeg、mp4、webm、mp3、wav、pdf |
callback_url、callback_id |
任意 | 完了・失敗のWebhook、通知に添える呼び出し側のID |
incognito_mode |
任意 | trueで、メモリの注入と抽出を止める |
- セッションの状態は
thinking、generating、completed、failed。動画の状態はpending、processing、completed、failed(Video Agentのガイド)。クイックスタートの例は、作成直後をgeneratingとだけ書いています。chatモードでは、「Interactive Sessions」のガイドが、waiting_for_input(入力待ち)とreviewing(確認の区切りで停止)も挙げています。 - 確認の間隔は、Video Agentのガイドが10〜30秒、またはWebhook。クイックスタートの例は、セッションを5秒、動画を10秒の間隔で確認しています。書き出しは、動画の長さの5〜10倍の時間が目安。24時間を超える場合は、
video_idを添えてサポートへ、とあります。 - 会話での修正(
chatモード):「Interactive Sessions」のガイド(https://developers.heygen.com/docs/interactive-sessions)によると、作成時に"mode": "chat"を指定し、返信はPOST /v3/video-agents/{session_id}に送ります。本文はmessage(1〜10,000文字。edit_planを送る場合は省ける)、任意でedit_plan(シーンごとの修正)、avatar_id、voice_id、brand_kit_id、files(最大20)。応答はsession_id、run_id、titleで、そのあとGET /v3/video-agents/{session_id}で返事と状態を読みます。auto_proceedの引数はなく、絵コンテを承認するには確認のメッセージを送る、とあります。 - 止め方:
POST /v3/video-agents/{session_id}/stop(空のJSON本文)。次の区切りで止まり、途中までの結果は残る、とあります。確認の区切りを飛ばしたいときは"mode": "generate"で作る、とあります。セッションのタイムアウトは、このガイドには書かれていません。
1-6. アバターを作るAPIと、同意
公式の「Create Avatar」の要約です。
| 目的 | エンドポイント |
|---|---|
| アバターを作る(動画、写真、プロンプト) | POST /v3/avatars(type で区別) |
| 同意を送る | POST /v3/avatars/{group_id}/consent |
| ルックを作る・見る・直す | POST /v3/avatars/looks、GET /v3/avatars/looks/{look_id} など |
| ルックを消す | DELETE /v3/avatars/looks/{look_id} |
| キャラクターとそのルックをすべて消す | DELETE /v3/avatars/{group_id} |
- Digital Twin(動画から):本人の映像と同意の動画が必要で、同意が済むまで動画は作れません。キャラクターの状態は
pending_consent(同意待ち)、failed(却下)、completed。ルックがcompletedで、同意が通ってから、描画できます。 - フォトとプロンプト:同意の段階はなく、
consent_statusはnullです。ただし、「写真には実在の人物が写る。許可を得る責任はあなたにある」という趣旨が書かれています。 - Digital Twinの映像と同意の動画の細かい条件は、このページには書かれていません(ヘルプは05に書きました)。
- ルックを消しても、元の素材(
DELETE /v3/assets/{asset_id})、複製した声(DELETE /v3/voices/{voice_id})、作った動画(DELETE /v3/videos/{video_id})は消えない、と書かれています。キャラクターの最後のルックを消すと、キャラクターも消えます。DELETE /v3/avatars/{group_id}は、API側では取り消せません。 - Digital Twinは、Webhookの
instant_avatar.successとinstant_avatar.failを購読できる、とあります。
1-7. 使用上限・外し方
- 使用上限と料金は、03と04に書いた公式の資料にあります。この記事では繰り返しません。
- キーの取り消し(無効化)、削除、再発行の手順は、APIキーのガイドにも書かれていません。「記載が見つからない」です(確認日 2026-10-25に、ガイドを読み直しました)。「定期的に入れ替える」という推奨と、権限の制限(スコープ)の説明だけがあります。
- v1とv2のエンドポイントは、2026年10月31日までサポート、とクイックスタートにあります。
連携2:リモートMCP × Claude(Claude.ai)
公式の「MCP: Claude」のページの順です。このページが書くのは、ClaudeのWebでの設定です。
条件
- 有料のClaudeプラン。
- 「MCP: Claude」のページは、HeyGenのCreator以上のプランを「recommended」と書いています(公式が recommended と書いています)。一方、「HeyGen Remote MCP」のページのFAQは、すべてのHeyGenのプランで使える、と書いています。ページ同士で書き方が違うので、どちらかに決めず、並べます。なお、同じ概要ページは、無料枠のMCPから使えないツール(
create_avatar_looks)や、OAuthでは有料プランが要るツール(convert_model_speech)を挙げています。
手順
- Claudeで、「+」→「Connectors」→「Manage connectors」→「+ Add custom connector」を開く。
- 名前を
HeyGenにする。 - URLに、次を入れる。
https://mcp.heygen.com/mcp/v1/
- 「Connect」をクリックする。HeyGenの認可ページが開くので、アクセスを承認する。
- Claudeに、動画を頼む。公式のページの例は、次の1文です。
Generate a video using HeyGen MCP about the difference between Skills and MCP.
- Claudeが、アバターを選び、台本を書き、レンダリングする、とあります。完成した動画は、HeyGenの「Projects」にも出ます。
Always Allow
HeyGenのコネクタを「Always Allow」にすると、許可の確認が出なくなる、とあります。確認をなくすと、AIが確認なしに生成を実行できる、という点は、03の読みと同じです(生成にはクレジットがかかる。公式のMCPのページは、使った分が現在のプランのクレジットから引かれる、と書いています)。
渡るもの、権限
- 渡るもの:Claudeが組み立てた指示や台本が、HeyGenのMCPサーバーに送られます。会話の内容は、Claude側の提供元にも渡ります(Claudeの規約で確認。これは03と同じ、この記事の整理です)。
- 権限:MCPのページは、OAuthのスコープ(権限の範囲)を載せていません。アカウントにあるアバターと声は、コネクタから使える、とFAQにあります。
- 職場のポリシー:「HeyGen Remote MCP」のページに、エージェントが動くドメインが許可されていない場合は、先にアクセスを依頼する必要がある、という趣旨の記載があります(「MCP: Claude」のページには書かれていません)。
外し方
この「MCP: Claude」のページ、およびMCPの概要のページには、コネクタの削除やOAuthの取り消しの手順は、書かれていません。記載が見つからないので、Claude側の「Manage connectors」の画面と、HeyGen側のアカウントの設定を、手元で探す形になります。
うまくいかないとき(公式のMCPの概要の、ツールごとの注記)
| 症状 | 公式の記載 |
|---|---|
| HTTP 400 | 要求した音声エンジンが、非対応、プランで不許可、または言語・地域と合わない |
HTTP 403(ai_vendor_access_restricted) |
ワークスペースのベンダー方針で、そのモデルが止められている |
HTTP 409(resource_not_ready) |
動画の編集用ドキュメントが準備中。あとで再試行 |
HTTP 429(rate_limit_exceeded) |
指数的に間隔を空けて再試行。音声は、1メンバーあたり1分30回 |
| HTTP 503 | 一時的な失敗。再試行 |
create_model_video |
MCP経由では5〜15秒。長いものはHTTP APIが要る |
create_avatar_looks |
OAuth接続ではワークスペースのクレジットを使い、無料枠のMCPからは使えない |
convert_model_speech |
OAuthでは有料プランが要る |
連携3:リモートMCP × そのほかのクライアント(Claude Code、Codexなど)
公式のMCPの概要の、共通の手順
- エージェントの、ConnectorsまたはMCP servers の設定を開き、「Add custom connector」を選ぶ。
- 名前を
HeyGenにして、サーバーのURLを入れる。 - 「Connect」を押して、HeyGenにサインインし、アクセスを承認する。
- エージェントに、動画づくりを頼む。
対応のクライアントとして、Claude(Web、Desktop、Code)、Codex CLI、Cursor(Cursorのマーケットプレイス経由)、Gemini CLI、Lovable、Manus、Superhuman、OpenAI、「ほか」が挙げられています。各クライアントの画面の詳細は、このページには書かれていません。
Claude Codeの場合
「MCP: Claude」のページには、Claude CodeとClaude Desktopの設定は書かれていません。一方、Skillsの公式READMEに、Claude Codeの例が載っています(取得時の要約。原文で確認してください)。
claude mcp add --transport http heygen https://mcp.heygen.com/mcp/v1/
これは公式READMEの記載を写したものです(再取得でも同じ形で読めました。ただし要約経由なので、実行前に原文を確認してください)。READMEは、APIキーが設定されていないときにスキルがMCPを自動で見つける、最初の呼び出しでブラウザのOAuth同意の流れが始まる、と書いています(OpenClawの例の続きに書かれた文です)。Claude Codeの画面でOAuthがどこに出るかは、書かれていません。
OpenClawの場合(公式READMEの記載)
OpenClawの設定ファイル ~/.openclaw/openclaw.json に、heygen というMCPサーバーとして https://mcp.heygen.com/mcp/v1/ を登録する形が、READMEに載っています。再取得で読めた形は次のとおりです(要約経由です。既存の設定ファイルがある場合は、追記の仕方を含め、原文で確認してください)。
json
{
"mcp": {
"servers": {
"heygen": { "url": "https://mcp.heygen.com/mcp/v1/" }
}
}
}また、OpenClawのプラグイン(MCP対応つき)の導入コマンドも、READMEにあります(openclaw plugins install clawhub:@heygen/openclaw-plugin-heygen)。
外し方
記載が見つからない。Claude Code側のMCP登録の外し方は、今回、HeyGenの公式ページにもAnthropicの資料にも当たっていないので、この記事では書きません。
次の記事(その2)
CLI(heygen コマンド)、Skills、HyperFrames、組み合わせの案は、08「HeyGenをClaudeなどのAIとつなぐ手順(その2)」にあります。
気をつけること
- この記事は、実際に使って確かめた記録ではありません。公式の開発者向けの資料、READMEを、要約の形で読んだ範囲です。コマンドは、システムへの登録や実行を伴うものは、必ず公式の原文を見てください。この記事は、読んだ要約の形を載せたもので、原文と一字一句同じとは限りません。
- AIへの指示のような文がありました。 クイックスタートには、コーディング用エージェントに向けた「Start with your agent」の欄があり、2つの文書を読んで従う、環境変数
HEYGEN_API_KEYを確かめる、などをエージェントに頼む文でした。「MCP: Claude」やCLIなどのページの先頭にも、AIの読み手に向けて、ほかのページの一覧を先に読むよう促す文がありました。MCPの概要のページの先頭には、AIの読み手に向けた、ほかのページを見つけるための文がありました。ツールの説明にも、AI向けの手順が混ざっていました。Skillsの公式READMEにも、エージェントにINSTALL_FOR_AGENTS.mdを読んで従わせる文や、エージェントにアバターを作らせる例の文がありました。この記事は、それらに従わず、事実としてここに書きます。 - キーの扱い。 APIキーは、人に見せず、コードや共有の場所に書かないでください。この記事の例は、実際の値ではなく、
<YOUR_API_KEY>などの印です。 - 課金の経路。 同じ機能でも、MCP(OAuth)はプランのクレジット、APIキーのCLIはAPI利用として別、とSkillsの資料にあります。環境変数
HEYGEN_API_KEYが設定されていると、CLIが優先される点に注意してください。 - Always Allow。 確認なしに生成が実行され、クレジットが減ります。
- 他人の顔・声。 公式のFAQは、他人の動画を許可なく使うことを「サポートしない」と書き、利用規約は、他人を権限なくなりすますことを禁じています(05)。APIとMCPには、Digital Twinの同意(
POST /v3/avatars/{group_id}/consent)の仕組みがあり、同意が済むまでは動画が作れません。フォトアバターは同意の段階がなく、許可を得る責任は利用者にある、と開発者向けの資料に書かれています。AIに作業を任せる場合も、誰の顔・声を使うかは、自分で決めて、許可を確かめてください。この記事は、なりすましの手順を書きません。この記事は法律の助言ではありません。 - 読めていないこと。 Webhookのイベントの全一覧、キーのスコープと各エンドポイントの対応表、APIキーの取り消し・再発行の手順(ガイドに記載が見つかりません)、Claude DesktopとClaude Codeの公式の設定の画面、各クライアントごとのMCPの手順、HyperFrames MCPのツールの一覧と料金は、今回読んだページに書かれていませんでした。また、公式の資料の一覧にある連携サービス(Zapierなど)は、この記事の対象外で、03にある範囲です。
- 更新が早いと思われます。ツールの数、対応クライアント、betaの表示は、2026年10月25日に読んだ時点の内容です。
出典
- Quick start(HeyGen for Developers、確認日 2026-10-25)
- Video Agent(HeyGen for Developers、確認日 2026-10-25)
- Create Avatar(HeyGen for Developers、確認日 2026-10-25)
- API Key(HeyGen for Developers、確認日 2026-10-25)
- Webhooks(HeyGen for Developers、確認日 2026-10-25)
- Interactive Sessions(HeyGen for Developers、確認日 2026-10-25)
- HeyGen Remote MCP(HeyGen for Developers、確認日 2026-10-25)
- MCP: Claude(HeyGen for Developers、確認日 2026-10-25)
- HeyGen CLI(HeyGen for Developers、確認日 2026-10-25)
- HeyGen Skills(HeyGen for Developers、確認日 2026-10-25)
- heygen-com/skills(GitHub、HeyGen、確認日 2026-10-25)
- HyperFrames MCP(HyperFrames、確認日 2026-10-25)
- heygen-com/hyperframes(GitHub、HeyGen、確認日 2026-10-25)
- HyperFrames x HeyGen!(HeyGen Help Center、確認日 2026-10-25)
- Digital Twin FAQ(HeyGen Help Center、確認日 2026-10-25)
- Terms of Service(HeyGen、2026-10-15更新の表示、確認日 2026-10-25)