ElevenLabs
ElevenLabs
elevenlabs/text-to-dialogue
開発者向けの音声・オーディオ生成ファミリー。テキスト読み上げ、対話型音声、効果音、音楽生成をカバーします
elevenlabs/text-to-dialogue を試す
入力
作品ギャラリー
すべての作品を見る出力
audio料金
elevenlabs/text-to-dialogue per 1,000 characters
| 単価 | $0.125 |
|---|
位置づけの概要
elevenlabs/text-to-dialogue は、複数キャラクターの対話テキストをそのまま音声に合成するインターフェースです。呼び出し側は { text, voice } の配列で各セリフとその声を記述し、モデルは行ごとに対応する音声を出力します。1 回の送信で、すべてのセリフの合計は 5000 文字以内です。1 回のリクエストで 2 人または複数人の対話音声を生成する必要がある開発者に適しており、例えばショートドラマの吹き替え、ポッドキャストの対談、音声アシスタントのサンプル素材、インタラクティブコンテンツの対話演出などに利用できます。
主な特長
- 行ごとに声を指定し、1 回のリクエストで複数人の対話を合成——dialogue 配列内の各セリフに個別に voice_id を紐付けるため、複数回の単人合成に分割して後から結合する必要がありません。
- セリフごとに声を変更可能で、60 以上の候補音声をカバー——スキーマの voice 列挙には数十の選択肢があり、1 回の対話内で異なるキャラクターに異なる声を割り当てられます。
- 安定性パラメータを全体で調整可能——stability は 0、0.5、1 の 3 段階に対応し、感情の起伏と声の一貫性の間でバランスを取れます。
- 言語は自動検出または指定が可能——language_code を空欄にすると自動検出され、ISO 言語コードを明示的に指定することもできます。70 以上の言語をカバーします。
機能説明
複数キャラクターの対話合成:対話配列でセリフと声を記述し、1 回の呼び出しで複数キャラクターを含む対話音声を出力します。分段合成と手動結合を省けます。
セリフごとの声の紐付け:各行のセリフの voice を独立して選択できるため、異なるキャラクターに異なる声を割り当て、それぞれの声の特徴を保つのに適しています。
安定性と言語の制御:stability は表現される感情の変化幅を制御し、language_code は読み上げ言語を決定するか自動検出に任せます。固定言語の素材を一括処理するのに便利です。
長い対話テキストの処理:1 回のリクエストですべてのセリフの合計は 5000 文字までに制限され、まとまった対話スクリプトを一度に送信するのに適しており、内部の分割を気にする必要はありません。
適用シーン
- ショートドラマ・ストーリーコンテンツの制作者:複数キャラクターの対話スクリプト——役割ごとのセリフをそれぞれの声とともに送信し、完全な対話音声を得ます。ショートドラマ、ラジオドラマ、インタラクティブドラマのストーリー演出に使用できます。
- ポッドキャスト・インタビュー系コンテンツ:対談スクリプト——2 人の対談テキストを異なる声の対話トラックに変換し、ポッドキャストのセグメントや番組のサンプル音源としてそのまま使用できます。
- 製品・コンテンツチーム:多言語の対話素材——言語コードを指定して対応言語の対話音声を合成し、海外版コンテンツの吹き替えやデモに使用できます。
- 開発者:音声対話のプロトタイプ素材——音声アシスタントやカスタマーサービスボットなどのプロトタイプ向けに、複数キャラクターのサンプル音声を迅速に生成し、フロー検証や社内デモに使用できます。
制限と選型の提案
出力は音声であり、映像や動画は生成されません。完成映像が必要な場合は別途ビジュアル制作を行う必要があります。1 回のリクエストですべてのセリフの合計は 5000 文字以内で、長すぎるスクリプトは自分で複数回の呼び出しに分割して結合する必要があります。声はインターフェースが提供する voice リストからのみ選択でき、新しい声を直接クローンすることはできません。シーンが単一のナレーションや単人の読み上げのみの場合は、単人テキスト読み上げのラインを使用すればよく、対話配列を構築する必要はありません。
よくある質問
よくある質問を見る →-
Turbo 2.5 とは何ですか?
ElevenLabs の低遅延テキスト読み上げモデルで、音声アシスタント、通知の読み上げ、大量の音声吹き込みに適しています。
-
どうやって呼び出すのですか?
POST /v1/tasks に model(elevenlabs/text-to-speech-turbo-2-5)と input を渡し、その後 taskId で結果を取得するか callback を設定します。
-
料金はどのように計算されますか?
input.text の文字数に基づき、1,000文字ごとに課金されます。最新の単価は本ページの価格欄をご参照ください。
-
previous_text と next_text は課金されますか?
課金されません。これらはセグメント合成にコンテキストを提供し、イントネーションのつながりを自然にするだけです。
生成タスクの作成
https://api.hiapi.ai/v1/tasks ヘッダー
Authorizationstring必須アカウントの API キー。すべてのリクエストで必須です。例:Bearer YOUR_HIAPI_API_KEY。API キーを取得
Content-Typestring任意リクエストボディは常に JSON として解析されます。送信する場合は application/json(charset 付き可)のみ受け付け、他の値は 415 を返します。例:application/json。
Idempotency-Keystring任意冪等キー。最大 255 バイト。同じアカウントで同じキーの再試行はタスクを 1 つだけ作成し、リプレイは最初の taskId を返します。
ネットワークタイムアウトやクライアントの自動再試行時、同じキーではタスクを 1 回だけ作成し、二重課金は発生しません(適用範囲 = API キーのアカウント)。業務側の一意識別子(例:"order-42")をキーに使うことを推奨します。同じキーのリプレイは最初の taskId を返し、キーは初回送信から 24 時間で失効します。詳細なシナリオ表は統一非同期 API の紹介ページをご覧ください。
ボディ
modelstring必須現在の固定値:elevenlabs/text-to-dialogue
routestring任意現在の固定値:default
inputobject必須
elevenlabs/text-to-dialogue とルート default の業務パラメータオブジェクト。下のパラメータ表を参照してください。
dialoguearray必須minItems 1
対話項目の配列。配列の各要素には text と voice の2つのフィールドがあり、それぞれその行のセリフと使用する音色を指定します。すべての対話項目の text の合計文字数は 5000 を超えてはなりません。
Array [ object ]
配列要素
textstring必須minLength 1その行の対話のテキスト内容。対話配列内のすべての text フィールドの合計文字数は 5000 を超えてはなりません。
voicestring必須デフォルト: "EkK5I93UQWFDigLMpZcX"その行のセリフに使用する音色。プリセット音色名または voice_id を指定できます。デフォルトは EkK5I93UQWFDigLMpZcX です。
EkK5I93UQWFDigLMpZcXZ3R5wn05IrDiVCyEkUrKNNl6r8mD7vthiJatiJt1YOq2y2Up4RgXP2HyXjE5B8gJV1IhpuegLxdpXFOE2zRM7PkgwBPiau2jvVXc1SM7GgM6IMuvQlz2BwM35l5f8iK3YPeGga21rQIXすべて表示(59 件)
scOwDtmlUjD3prqpp97INOpBlnGInO9m6vDvFkFCBZgkqPqms7Kj9ulSkVznwo6udizrrtpIxWGp2qJkgU0LNdkMOQCOrPrwtbeeDGzg6RaUqxGRTHSBjfgFx70vRnQBMBu4FAYhjJbOSm1seazb4gs7RSlUVw7cP1bg08DkjqiVEzOn76yGqDuRKMlYmrm8trt5QyBnqXpMhyvQqiRxWQs4qSSBTX3LPaxmHKxFdv7VOQHJN2lVS1w4EtoT3dr4eOWOFGY2WhTYpPnrIDTdsKH5kPzsL2i3teMYv0FxEYQ6UgBBYS2sOqTuMpoF3BR0hpp4J3VqNfWAUOO0d1UsnPczCjzI2devNBz1zQrbuYXf8XasLslADfZ2MB4ugs0tAILXbY5DNrJrsM6FDTKMou8ccj1ZaWGBiotdvBKc2FfBKJfcZNyEt1n6DYkrAHD8iwork3YSUBbs56AoDkrOh6qfVPDXZ7PteR40ATw9ArzDf9h3v7t7g6xIsTj2HwM6VR4iXFCwlcMyyd2HUfFzxdCaC4Ta6aDn1KB0hjpdcocrUkmqSq93GQT4X1lKDXsQcixOflHkNRp1BlvT73UL6gyz9yzdeviXkFddZ4Oz8MokpPdl9cQBQq4p6mRkZy2ZzYcjlYFOd3taleS0gkk3nzeAacJi50IvxcyDnMXaruirxsoakN0GWmGNIo04TC0Zp7WVFzhA8zpTlRqVljo9gAlSqKOvF6D8sOsXPPzYpIqttlTYA83688JI8JVbfL6oEdmuxKn5DK2CiCrDUkL56s3C8sCRl7wbwJqPPQ618aTW29mptyocEiNlNiXeDU1pqqOPrYMO4YYIPFl9wE5c4L2eu2Gb6F5Zhi321D3Oq7v1oNT4YXpFCvM1S3JbWEJhoskWLG95yZDEHg6fCZdQjLqjCeNX9CMwmxDxUF5Q2InmaD6riP1btT197c6dACmymtrellq69YZsNwzUSyXhdHd5gvgSOzSfduK4CvEgeVItLK1UvXctxuaRV2Oqesy0r39YPLQjOczyOib8Tsns2HvNFKfGiNjllgqo1U02n4nD6AdIZ9CjF053AeRdCCKzvd23BpJoofzxLruHrtVF6PSyGItzMNHS1wGbFxmAM3Fgw63G1zZJhqfrgApggtO1785R4FsnMJ0RnG71ty4LH3dvNfSdstabilitynumber任意デフォルト: 0.5音色の安定性。値が小さいほど感情が豊かで変化が多くなり、大きいほど出力が安定して一貫します。デフォルトは 0.5 です。
00.51language_codestring任意デフォルト: ""言語コード(ISO 形式)。空欄の場合は言語を自動検出します。デフォルトは空欄です。
afarhyasazbebnすべて表示(67 件)
bsbgcacebnyhrcsdanlenetfilfifrglkadeelguhahehihuisidgaitjajvknkkkykolvlnltlbmkmsmlzhmrnenopsfaplptparorusrsdskslsoesswsvtatethtrukurvicycallbackobject任意
終了状態の通知設定。省略した場合はコールバックされず、呼び出し側でポーリングします。
作成時に callback.url を指定すると、タスク終了時に HiAPI があなたのサービスへ POST し、ポーリングが不要になります。コールバックのリクエストボディはタスク詳細と同構造です。署名検証・再送・冪等の詳細は統一非同期 API 紹介ページのコールバック説明を参照してください。
urlstring必須callback を指定する場合は必須。タスク終了後にこの URL へ POST します。有効な http(s) URL である必要があります。
whenstring任意デフォルト: "final"現在は final のみ対応(success / fail の両方で通知)。
finalstoragestring任意デフォルト: "temp"成果物の保存期間:temp(デフォルト・約 7 日)または persistent(長期保存・サイズ課金)。残高不足や保存上限超過の場合は temp に自動降格します。実際に適用された段階はタスク詳細レスポンスで確認できます。
temppersistentリクエスト例
# 非同期タスクを送信。成功すると即座に taskId を返します(生成完了は待ちません)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "elevenlabs/text-to-dialogue",
"input": {
"dialogue": "…",
"stability": 0.5,
"language_code": ""
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "elevenlabs/text-to-dialogue",
input: {
"dialogue": "…",
"stability": 0.5,
"language_code": ""
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "elevenlabs/text-to-dialogue",
"input": {
"dialogue": "…",
"stability": 0.5,
"language_code": ""
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} タスク詳細の取得
https://api.hiapi.ai/v1/tasks/:id レスポンスフィールド
taskIdstring必須タスク ID。先頭は固定で tk-hiapi-。
modelstring必須解決済みのモデル完全名。route パラメータで送信したタスクは base@route(例:gpt-image-2/text-to-image@ext)を返し、それ以外は送信時のモデル名と同一です。
routestring任意route パラメータを明示して送信したタスクでのみ出現し、送信時の値をエコーします。
statusstring必須タスク状態。
queued キュー投入済み、未開始。
handling 処理中。
archiving 処理完了、成果物準備中。
success 終端:完了。成果物利用可能(output を返却)。
fail 終端:失敗(error を返却)。
送信後は status で判断します:success と fail が終端、それ以外は非終端です。1〜3 秒間隔で終端までポーリングすることを推奨します。成功したら output[].url から成果物をダウンロードし、expireAt までに保存先へ転送してください。長期保存が必要な場合は作成時に storage: "persistent" を指定します。
creatednumber必須タスク作成時刻(Unix 秒)。
completednumber必須終了状態になった Unix 秒。非終端では 0 固定。
outputarray任意
status == success のときのみ出現。成果物リスト — 常に配列で、1 タスクで複数の type を同時に返すことがあります(例:video + first_frame)。
Array [ object ]
配列要素
urlstring必須成果物の URL。直接ダウンロードできます。
typestring必須現在の候補値:video、image、audio、first_frame、last_frame、thumbnail。今後拡張される可能性があります。
expireAtnumber必須成果物にアクセスできる期限(Unix 秒)。期限までにダウンロードまたは転送してください。
errorobject任意
status == fail のときのみ出現。
codestring必須業務エラーコード。
messagestring必須エラーの説明。
レスポンス例
成功
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} 処理中(非終端)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} 失敗
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} 関連記事
すべての記事を見る →-
チュートリアル
HiAPI で Kandinsky 6.0 Pro のテキストto動画を使用する:curl と Python チュートリアル
リクエスト優先の実践デモ:プロンプトから動画クリップへの呼び出しを構築し、リクエストを送信し、完了状態をポーリングし、結果をダウンロードする
-
チュートリアル
HiAPI で kling-4.0/image-to-video を呼び出す方法:curl、Python、ポーリング
-
チュートリアル
HiAPI API で hailuo-2.3-fast/image-to-video を呼び出す方法:curl と Python の実践
高速・低コストな画像から動画へのティアにおける最初の実行可能なリクエスト — モデル ID から MP4 のダウンロードまで
-
チュートリアル
HiAPI API で kling-4.0/text-to-video を使う方法:curl、Python、そして実行可能なリクエスト例
開発者向け実践ガイド:シネマティックなプロンプト、同期オーディオ、非同期ポーリング、出力のダウンロード
-
チュートリアル
HiAPI 上的 kandinsky-6.0-pro/image-to-video 教程:curl + Python
在 HiAPI 上发起一次可用的图生视频请求:从首帧上传到异步轮询再到最终下载
-
チュートリアル
HiAPI APIでhailuo-2.3/text-to-videoを呼び出す方法:curl、Python、実行可能なリクエスト例
関連モデル
すべてのモデルを見る →同タイプ
-
ElevenLabs ElevenLabs $0.0029 /秒 -
MiniMax Music 2.6 MiniMax $0.210 /曲 -
MiniMax Music 1.5 MiniMax $0.070 /曲 -
Mureka 9.5 Mureka $0.322 per request -
Gemini 3.1 Flash TTS Google -- -
Lyria 3 Pro Google $0.140 /曲 -
Mirelo SFX 2.0 Mirelo AI $0.021 /秒 -
MiniMax Music 3 MiniMax $0.0026 /秒 -
Qwen Audio 3.0 TTS Alibaba $0.030 /1,000文字 -
Lyria 3.5 Google $0.090 /曲



