ElevenLabs Automation
ElevenLabsのテキスト読み上げワークフローを自動化します。テキストを自然な音声に変換し、音声ライブラリをブラウズし、個々の音声の詳細を調査し、サブスクリプションのクレジットを確認し、TTSモデルを選択し、低レイテンシ配信のために音声をストリーミングし、以前に生成した音声を履歴から取得します。
ツールキットドキュメント: composio.dev/toolkits/elevenlabs
セットアップ
- Composio MCPサーバーをクライアントに追加:
https://rube.app/mcp - プロンプトに従ってElevenLabsアカウントを接続(APIキー認証)
- 以下のワークフローを使い始める
コアワークフロー
1. テキストから音声を生成
ELEVENLABS_TEXT_TO_SPEECHを使用して、テキストをダウンロード可能な音声ファイルに変換します。
Tool: ELEVENLABS_TEXT_TO_SPEECH
Inputs:
- voice_id: string (必須) -- `ELEVENLABS_GET_VOICES`から取得
- text: string (必須) -- 最大約10,000文字(ほとんどのモデル)、30,000文字(Flash/Turbo v2)、40,000文字(v2.5)
- model_id: string (デフォルト "eleven_monolingual_v1") -- 例: "eleven_multilingual_v2"
- output_format: string (デフォルト "mp3_44100_128") -- 以下のフォーマットを参照
- optimize_streaming_latency: integer (0-4; eleven_v3ではサポートされていません)
- seed: integer (オプション、再現性のため -- 保証はされません)
- pronunciation_dictionary_locators: array (オプション、最大3つの辞書)
出力フォーマット:
- MP3:
mp3_22050_32,mp3_44100_32,mp3_44100_64,mp3_44100_96,mp3_44100_128,mp3_44100_192(Creator+) - PCM:
pcm_16000,pcm_22050,pcm_24000,pcm_44100(Pro+) - uLaw:
ulaw_8000(Twilio用)
重要: 出力はファイルオブジェクトで、data.file.s3urlに事前署名付きダウンロードリンクが含まれます(約1時間で期限切れ)。速やかにダウンロードしてください。
2. 利用可能な音声をブラウズ
ELEVENLABS_GET_VOICESを使用して、すべての音声を属性と設定とともに一覧表示します。
Tool: ELEVENLABS_GET_VOICES
Inputs: (なし)
data.voices[]配列を返し、各要素にはvoice_id、name、labels(性別、アクセント、使用例)、および設定が含まれます。
3. 特定の音声を調査
ELEVENLABS_GET_VOICEを使用して、合成前に候補の音声の詳細なメタデータを取得します。
Tool: ELEVENLABS_GET_VOICE
Inputs:
- voice_id: string (必須) -- 例: "21m00Tcm4TlvDq8ikWAM"
- with_settings: boolean (デフォルト false) -- 詳細な音声設定を含める
4. サブスクリプションとクレジットを確認
ELEVENLABS_GET_USER_SUBSCRIPTION_INFOを使用して、一括生成前にプランの制限と残りのクレジットを確認します。
Tool: ELEVENLABS_GET_USER_SUBSCRIPTION_INFO
Inputs: (なし)
5. 利用可能なTTSモデルを一覧表示
ELEVENLABS_GET_MODELSを使用して、互換性のあるモデルを検出し、can_do_text_to_speech: trueでフィルタリングします。
Tool: ELEVENLABS_GET_MODELS
Inputs: (なし)
6. 音声のストリーミングと履歴の取得
ELEVENLABS_TEXT_TO_SPEECH_STREAMを低レイテンシのストリーム配信に使用し、ELEVENLABS_GET_AUDIO_FROM_HISTORY_ITEMで以前生成した音声を再ダウンロードします。
Tool: ELEVENLABS_TEXT_TO_SPEECH_STREAM
- 基本的な入力はTEXT_TO_SPEECHと同じですが、低レイテンシ再生のためのストリームを返します
Tool: ELEVENLABS_GET_AUDIO_FROM_HISTORY_ITEM
- history_item_id: string (必須) -- 以前の生成からのID
既知の落とし穴
| 落とし穴 | 詳細 |
|---|---|
| テキスト長の制限 | ほとんどのモデルはリクエストあたり約10,000~20,000文字が上限です。超えるとHTTP 400が返ります。長いテキストはチャンク(約5,000文字)に分割してチャンクごとに生成してください。 |
| 出力は事前署名付きURL | ELEVENLABS_TEXT_TO_SPEECHはdata.file.s3urlを返し、有効期限は約1時間(X-Amz-Expires=3600)です。音声ファイルは速やかにダウンロードしてください。 |
| 割り当てとクレジットエラー | HTTP 401 quota_exceededまたはHTTP 402 payment_requiredは、クレジット不足またはティア制限を意味します。一括ジョブの前にELEVENLABS_GET_USER_SUBSCRIPTION_INFOで確認してください。 |
| 音声の権限 | HTTP 401 missing_permissionsは、APIキーにvoices_readスコープがないことを意味します。キーの権限を確認してください。 |
| モデルの互換性 | すべてのモデルがTTSをサポートしているわけではありません。ELEVENLABS_GET_MODELSを使用し、can_do_text_to_speech: trueでフィルタリングしてください。optimize_streaming_latencyパラメータはeleven_v3でサポートされていません。 |
| 音声リストの切り捨て | ELEVENLABS_GET_VOICESは大量のリストを返す場合があります。完全なdata.voices[]ペイロードから選択してください -- プレビューが切り捨てられて表示される可能性があります。 |
クイックリファレンス
| ツールスラッグ | 説明 |
|---|---|
ELEVENLABS_TEXT_TO_SPEECH | テキストを音声に変換し、ダウンロード可能な音声ファイルを返す |
ELEVENLABS_GET_VOICES | 利用可能なすべての音声を属性とともに一覧表示 |
ELEVENLABS_GET_VOICE | 特定の音声の詳細情報を取得 |
ELEVENLABS_GET_USER_SUBSCRIPTION_INFO | サブスクリプションプランと残りのクレジットを確認 |
ELEVENLABS_GET_MODELS | 利用可能なTTSモデルと機能を一覧表示 |
ELEVENLABS_TEXT_TO_SPEECH_STREAM | 低レイテンシ配信のために音声をストリーミング |
ELEVENLABS_GET_AUDIO_FROM_HISTORY_ITEM | 生成履歴から音声を再ダウンロード |
Powered by Composio