更新
ElevenLabs Dialogueとは
ElevenLabs Dialogueは、{text, voice}形式のターンの配列を受け取り、会話全体を1つに結合した音声ファイルを返す複数話者向けの音声エンドポイントです。1回の呼び出しに最大10種類のElevenLabsの声を登場させることができ、各ターンにはアカウント内の任意のvoice ID(プリセットでもクローンでも)を指定できます。ターン間のつなぎはモデルが処理するため、TTS呼び出しを継ぎはぎしたものではなく、本物のやり取りのように聞こえます。このエンドポイントは内部で常にeleven_v3モデルを使うため、管理すべきモデルピッカーはありません。言語はlanguage_code(デフォルトen)で、声の安定度はstability(0〜1)で制御します。ターンの先頭に[excitedly]や[whispered]のようなインライン感情タグを置けば、追加のパラメータなしで話し方を演出できます。
ElevenLabs Dialogueの主な機能
典型的なジョブで設定する項目は、以下の5つの機能でカバーできます。
1回の呼び出しで最大10人の話者
dialogue配列の各要素にvoice IDとtextを指定します。プリセット、クローン、カスタムボイスを同じ会話の中で自由に混在させられます。モデルはターンごとの個別レンダリングではなく、1つに結合した音声ファイルを返します。
ネイティブな話者の切り替え
テンポ、息づかい、ルームトーンが話者の切り替わりをまたいで引き継がれます。これが独立したTTS呼び出しの継ぎはぎとの違いです。継ぎはぎでは各ターンが固有の環境音を持って返ってくるため、つなぎ目がカットとして聞こえてしまいます。
インライン感情タグ
ターンの先頭に置く[excitedly]、[warmly]、[whispered]、[shouted]などの角括弧タグが、そのセリフの話し方を決めます。追加のフィールドも、演出指示のための別スクリプトも不要です。
モデルピッカー不要のV3品質
このエンドポイントは常に、ElevenLabsで最も表現力の高いeleven_v3を使います。選ぶべきmodel_idもフォールバック経路もなく、長い会話の中でターンごとに品質がぶれることもありません。
会話単位の言語とstability
language_codeはデフォルトがenで、他の言語のISOコードも受け付けます。stability(0〜1)はターンをまたいだ声の安定度を制御するため、同じペイロードの中でフィクションならドラマ性を上げ、ナレーションなら下げるといった調整ができます。
用途
台本付きポッドキャスト
声質の異なるホストが交互に話す構成を1回のAPI呼び出しで。インライン感情タグがトーンの変化を担うので、別途の演出メモは不要です。
オーディオブックのシーン
会話パートには複数のキャストの声を使い、ナレーターは別のElevenLabsの声に固定できます。ブランド専用のナレーター音声としてクローンを混ぜることも可能です。
トレーニングシミュレーター
キャラクターごとに配役を固定したロールプレイのセリフ。最大10種類の声で、典型的なシナリオ台本(顧客、担当者、上司、オブザーバー)に対応できます。
ゲームNPCの掛け合いや短いシーン
NPC同士の短いターン制の会話を1回のレンダリングで。
stabilityを固定しておけば、パッチをまたいでもキャストのトーンを一定に保てます。製品ウォークスルー
単独ナレーターのボイスオーバーの代わりに、2人のホストによる会話形式の解説を。チュートリアルというよりポッドキャストのように聞こえます。
語学学習の会話教材
リスニング練習の明瞭さのために会話単位でstabilityを調整。シーンごとに
language_codeを切り替えれば、目標言語でコンテンツを提供できます。
ユースケース
2人のホストによる4ターンの会話を書き、必要なセリフに[warmly]や[excitedly]のタグを付けて、ポッドキャストのイントロを生成できます。3人の話者(従業員、顧客、マネージャー)でコンプライアンス研修のシナリオを作り、stabilityの値を変えて再レンダリングすれば、キャストの声をどの程度安定させるべきかをA/Bテストできます。ゲーム内の会話システムでは、NPCのやり取りを1回のDialogue呼び出しにまとめることで、シーン全体でルームトーンを揃えられます。会話形式の解説をローカライズするには、台本の構造はそのままにlanguage_codeと各ターンのvoice IDを切り替えるだけです。
APIの使用例
ElevenLabs Dialogueは/v1/tasksにPOSTするだけで、どの言語からでも呼び出せます。パラメータの完全なドキュメントはdocs.unifically.com/models/audio/elevenlabs/text-to-dialogueにあります。
curl -X POST https://api.unifically.com/v1/tasks \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "elevenlabs/text-to-dialogue",
"input": {
"stability": 0.5,
"language_code": "en",
"dialogue": [
{
"text": "[excitedly] Hey Jessica! Have you tried the new ElevenLabs V3?",
"voice": "TX3LPaxmHKxFdv7VOQHJ"
},
{
"text": "[curiously] Yeah, just got it! The emotion is so amazing.",
"voice": "cgSgspJ2msm6clMCkdW9"
}
]
}
}'
送信に成功するとtask_idが返されます。GET /v1/tasks/<task_id>をポーリングするか、リクエストにcallback_urlを設定して、完成した音声のURLを受け取ってください。
FAQ
ElevenLabs Dialogueに関するよくある質問
ElevenLabs Dialogueは、{text, voice}形式のターンの配列を受け取り、会話全体を1つに結合した音声ファイルを返す複数話者向けの音声エンドポイントです。各ターンでElevenLabsのvoice IDを指定し、ターン間のつなぎはモデルが処理するため、TTS呼び出しを継ぎはぎしたものではなく、本物の会話のように聞こえます。
最低限、Speaker 1とSpeaker 2を入力します。任意のSpeaker 3〜10はトグルを有効にすると表示され、それぞれに専用のvoiceとtextのフィールドがあります。入力内容はAPI呼び出しのdialogue配列になります。
いいえ。Dialogueは内部で常にeleven_v3モデルを使うため、設定するmodel_idはありません。言語はlanguage_code(デフォルトen)で、声質の安定度はstabilityフィールドで制御します。
会話のテンポや話者の切り替わりが重要な場合はDialogueを使ってください。個別のTTSレンダリングを継ぎはぎすると、ターンの境界が平坦になり、ルームトーンも揃いません。Dialogueはつなぎをネイティブに処理し、話者間の息づかいや間合いも聞き取れます。
ターンの先頭に角括弧で書くインラインタグで、[excitedly]、[curiously]、[warmly]、[sadly]、[angrily]、[whispered]、[shouted]などがあります。テキストの前に1つ置くと、話者はそのトーンでセリフを話します。
1回の呼び出しで最大10種類の声を使えます。各ターンにはElevenLabsアカウントの任意のvoice IDを指定できるため、クローンボイスとプリセットを同じ会話の中で自由に混在させられます。
stabilityは0から1の値(デフォルト0.5)を受け付けます。低い値ほど感情の幅と変化が大きくなり、高い値ほどターンをまたいで声が安定します。ドラマには低めの値を、ナレーション風の一貫性には高めの値を使ってください。