elevenlabs について
elevenlabsは、ElevenLabsのAIオーディオAPIを利用する非公式スキルコネクターです。音声・効果音の生成、音声処理と文字起こしに加え、音声、履歴、アカウントを管理できます。
主な機能
- 01音声、会話、効果音の生成
- 02既存音声の声質変換とノイズ除去
- 03URLから音声や動画を文字起こし
- 04アカウントの音声の設計と管理
- 05生成履歴とクレジット残量の確認
活用シーン
- 01ナレーションや複数話者の会話の作成
- 02説明文からの効果音生成
- 03録音の文字起こしやノイズ除去
- 04利用可能な音声と残りクレジットの確認
MCP 対応
MCPクライアントは、ローカルに登録したMCPサーバーを通じてこのコネクターを利用できます。スクリプトから、ElevenLabsの音声生成、変換、文字起こし、音声管理、履歴、サブスクリプション操作を呼び出せます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ zapier/ connectors --skill elevenlabsインストール後、Claude Code で/elevenlabsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.mcp.jsonCHANGELOG.mdcli.jscli.tsconnections.tsindex.tsLICENSENOTICEpackage.jsonREADME.md.claude-plugin/plugin.jsonevals/evals.jsonresults.mdlib/audioInput.tsaudioOutput.tselevenlabs.tsreferences/elevenlabs-api-gotchas.mduse-as-cli.mduse-as-mcp.mduse-as-recipe.mduse-as-sdk.mduse-with-zapier.mduse-without-zapier.mdscripts/addSharedVoice.tscreateSoundEffect.tscreateVoiceFromDesign.tsdeleteHistoryItem.tsdeleteVoice.tsdesignVoice.tsdownloadHistoryAudio.ts詳細
Elevenlabs
ElevenLabs AI オーディオ API 用のツールです。アカウントにある任意の音声でテキストを音声に変換したり、効果音や複数話者の対話を生成したり、既存の音声の声を差し替えたりノイズを除去したり、URL から音声や動画を文字起こししたり、テキストによる説明からまったく新しい合成音声をデザインしたりできます。また、アカウントの音声、生成履歴、クレジット上限を管理できます。音声を生成するツールは、デフォルトで音声をローカルファイルに書き込み、そのパスを返します。代わりにバイトデータをインラインで取得するには、return_base64: true を指定してください(ファイルシステムにアクセスできない利用者向けです)。
Elevenlabs 用の独立した非公式コネクターです。Elevenlabs との提携、推奨、後援を受けていません。「Elevenlabs」は、コネクターが連携するサービスを識別する目的でのみ使用している、所有者の商標です。
使用する場面
- テキストを音声に変換します。ナレーション、音声での返答、ポッドキャスト風の対話、言葉で説明した効果音などに使えます。
- 既存の音声を変換します。文字起こし、バックグラウンドノイズからの音声分離、別の声への差し替えができます。
- 音声を管理します。アカウントやコミュニティライブラリから音声を探したり、追加したり、説明文から新しい音声をデザインしたり、音声スロットを空けたりできます。
- 大規模な生成を行う前に、
getUserSubscriptionでアカウントを確認します。残りの文字数クレジット、プランによる制限、音声スロットの使用状況を確認できます。
セットアップ
これは agentskills.io スキルです。
コネクターをまだスキルとしてインストールしていない場合は、まず npx skills add zapier/connectors --skill elevenlabs(または利用するハーネス独自のスキルインストール方法)でインストールしてから、ここに進んでください。スキルをインストールすると、依存関係ではなくこれらのファイルがコピーされます。CLI、ローカル MCP サーバー、または zapier-sdk の認証コマンドを実行する前に、ここで一度 npm install --omit=dev を実行してください。公開パッケージを依存関係として独自のプロジェクトにインポートする場合はどうすればよいでしょうか。その場合は、npm install によって必要なものがすべて解決されます。詳しくは references/use-as-sdk.md を参照してください。
実際のリポジトリのソースを確認したい場合(references/ の閲覧、このコネクターのテスト実行、変更など)は、対象を絞った git clone の方法を README.md で確認してください。
コネクターの実行には Node.js 22.18+ が必要です。実行方法に合ったリファレンスを選び、ほかの作業を始める前に読み込んでください。
| 使用環境 | 読み込むリファレンス |
|---|---|
MCP 対応クライアント。ツール(例:mcp__elevenlabs__<tool>)がすでに読み込まれている場合もあれば、自分でローカルサーバーを登録できる場合(またはユーザーに案内できる場合)もあります | references/use-as-mcp.md |
ターミナル/サブプロセスへのアクセス(node を実行できます) | references/use-as-cli.md |
| 独自のコードのみを使い、このパッケージを依存関係としてインポートする場合 | references/use-as-sdk.md |
| ツールにもターミナルにもアクセスできず、このパッケージをインポートすることもできない場合。自分でコードを書き、Elevenlabs API を直接呼び出します(例:コード実行サンドボックス) | references/use-as-recipe.md |
スクリプト
すべてのスクリプトは、単一の elevenlabs 接続を共有します。音声を生成するスクリプトは return_base64 を受け付けます(デフォルトは false で、音声は一時ファイルに書き込まれ、audio_path として返されます)。
| スクリプト | スクリプト名 | 接続 | 説明 |
|---|---|---|---|
scripts/textToSpeech.ts | textToSpeech | elevenlabs | 選択した音声でテキストを音声に変換します(listVoices で voice_id を解決します)。 |
scripts/createSoundEffect.ts | createSoundEffect | elevenlabs | テキストの説明から効果音(音声ではありません)を生成します。 |
scripts/textToDialogue.ts | textToDialogue | elevenlabs | { text, voice_id } の行リストから、複数の話者による会話を生成します。 |
scripts/speechToSpeech.ts | speechToSpeech | elevenlabs | 既存の音声を別の声で再生成します。ソースには HTTPS URL またはローカルパスを指定します。 |
scripts/isolateAudio.ts | isolateAudio | elevenlabs | 録音から背景ノイズや音楽を除去します。ソースには HTTPS URL またはローカルパスを指定します。 |
scripts/speechToText.ts | speechToText | elevenlabs | HTTPS URL の音声/動画を、タイムスタンプと話者ラベル付きで文字起こしします。 |
scripts/designVoice.ts | designVoice | elevenlabs | テキストの説明から新しい合成音声を設計し、候補のプレビューを返します。 |
scripts/createVoiceFromDesign.ts | createVoiceFromDesign | elevenlabs | designVoice の generated_voice_id を使って、設計した音声をアカウントに保存します。 |
scripts/listVoices.ts | listVoices | elevenlabs | アカウントの音声を一覧表示します。voice_id の解決に使用します。 |
scripts/getVoice.ts | getVoice | elevenlabs | ID を指定して、1 つの音声の完全なメタデータを取得します。 |
scripts/searchVoiceLibrary.ts | searchVoiceLibrary | elevenlabs | 名前、言語、性別、年齢、アクセントでコミュニティ音声ライブラリを検索します。 |
scripts/addSharedVoice.ts | addSharedVoice | elevenlabs | コミュニティ音声ライブラリの音声をアカウントに追加します(音声スロットを使用します)。 |
scripts/deleteVoice.ts | deleteVoice | elevenlabs | アカウントから音声を削除し、音声スロットを解放します。設計/クローン音声を削除すると元に戻せません。 |
scripts/listModels.ts | listModels | elevenlabs | モデルの機能とリクエストあたりの文字数制限を一覧表示します。 |
scripts/listHistory.ts | listHistory | elevenlabs | 以前に生成した音声項目を一覧表示します。音声、モデル、日付、テキストで絞り込めます。 |
scripts/getHistoryItem.ts | getHistoryItem | elevenlabs | history_item_id を指定して、1 件の生成データのメタデータ(音声、テキスト、コスト)を取得します。 |
scripts/downloadHistoryAudio.ts | downloadHistoryAudio | elevenlabs | 以前に生成した音声を再取得します。無料で、新たなクレジットは消費しません。 |
scripts/deleteHistoryItem.ts | deleteHistoryItem | elevenlabs | 生成履歴から 1 件を完全に削除します。元に戻せません。 |
scripts/getUserSubscription.ts | getUserSubscription | elevenlabs | プラン、使用済み/上限の文字数クレジット、リセット時刻、音声スロットの使用状況を確認します。 |
識別と拒否
名前が一致する音声。 音声は人が分かりやすい名前で検索されます(listVoices 検索、searchVoiceLibrary)。名前が重複することがあり、アカウント内の音声やライブラリの音声の中に「George」や「Rachel」という名前のものが複数存在する場合があります。名前で特定した音声を生成、削除、または追加する前に、名前が完全一致する候補(大文字と小文字は区別しません)の数を確認してください。1 件だけの場合は、質問せずにその音声を対象に操作してください。2 件以上の場合は、処理を中断し、候補を識別できる項目(カテゴリ、説明、アクセントなど)とともに一覧表示して、どの候補かを尋ねてください。黙って選択してはいけません。同じルールは、listHistory 検索でソーステキストから特定した履歴アイテムを deleteHistoryItem で削除する場合にも適用されます。
未対応の操作。 このコネクターは、サンプル録音からの音声クローン作成(インスタントまたはプロフェッショナルな音声クローン作成)と音楽の生成には対応していません。依頼された場合は、この操作には対応していないことを伝えて中断してください。designVoice(誰かの録音からではなく、説明に基づいて音声を作成するもの)や createSoundEffect(音楽ではなく効果音を作成するもの)で代用したり、実行していない操作の成功を報告したりしてはいけません。
認証
すべてのシェイプでは、認証情報そのものではなく、接続 セレクター([<resolver>:]<value> 形式の文字列)を渡します。すべてのコネクターで zapier:<connection-id> が使えます(Zapier 管理の認証で、Zapier の認証、再試行、ガバナンスレイヤーを経由します)。一部のコネクターでは、直接トークン用のリゾルバーも 1 つ以上使えます(名前や数はコネクターによって異なります)。推測せず、このコネクター固有のリゾルバーを確認してください。<resolver>: のプレフィックスは省略できます。プレフィックスのない値は、その値を最初に受け付けたリゾルバーに渡されます。UUID 形式のプレフィックスなしの値は、必ず zapier: で受け付けられます。各スクリプトでは、必要な接続と、受け付けるリゾルバーを宣言しています。接続を渡す正確な構文と、このコネクターのリゾルバー一覧の確認方法は、シェイプによって異なります。上で読み込んだリファレンスを参照してください。
すでに設定済みのものを確認する場合、環境変数の値を表示しないでください。env や env | grep <name> は名前とともに値も表示するため、値が設定されている場合、使用中の認証情報がトランスクリプトに漏れるおそれがあります。名前だけを確認するには (env | cut -d= -f1 | grep -i <name>)、または既知の名前を直接テストしてください ([ -n "$VAR_NAME" ])。
まだ接続がありませんか? 接続方法を選び、接続を取得するには、必ずリファレンスに記載された手順に従ってください。接続 ID やトークンをすでに覚えているかのように、ユーザーに尋ねてはいけません。
| 読み込むもの | |
|---|---|
| 認証情報を直接渡す | references/use-without-zapier.md |
| Zapier 接続経由で認証情報を渡す | references/use-with-zapier.md |
出力形式
すべてのスクリプトは、{ data, meta } エンベロープを返します。
data— スクリプトの結果(outputSchemaが宣言する形式です。スクリプトの正確なスキーマを確認する方法については、上で読み込んだリファレンスを参照してください)。meta.outputDataValidation—dataの検証結果です。{ skipped: false, droppedPaths: null }— 検証済みで、削除されたものはありません。{ skipped: false, droppedPaths: [...], instruction }— 検証済みですが、該当するパスはdataから除外されました。これは、スクリプトが API から返したフィールドのうち、outputSchemaで宣言されていないものです。これらが必要な場合は、出力検証をスキップして再実行してください。{ skipped: true }— 検証はバイパスされ、dataは未検証のスクリプト出力そのものです。
除外されたフィールドの確認/skipOutputDataValidation。 未検証の結果をそのまま受け取るには、出力検証を無効にします(正確な構文はシェイプによって異なります。上で読み込んだリファレンスを参照してください)。入力検証は常に行われます。
結果の絞り込み/filterOutputData。 大きな結果から必要なフィールドだけを取り出すには、data を後処理する jq 式を渡します(正確な構文はシェイプごとに異なります)。jq の実行対象は data のみで、{ data, meta } エンベロープ全体ではありません。そのため、data を起点に記述してください(出力スキーマを確認するには、スクリプトの --help、またはシェイプに相当する機能を実行してください)。変換後の値が data に置き換わり、meta は保持されます。また、結果は出力スキーマに対して再検証されません。
リファレンス
該当する分野で作業する前に、対応するリファレンスファイルを読み込んでください。
| リファレンス | 対象 | 読み込むタイミング |
|---|---|---|
| ElevenLabs API の注意点 | 認証、エラー、モデルと音声の解決、生成制限、文字起こし、ページネーション、履歴 | ID やモデルの選択、音声入力の準備、結果のページネーション、API エラーからの復旧を行うとき |