複数話者の音声生成
複数キャラクターの対話テキストを完全な対話音声に合成します。ポッドキャスト、ロールプレイ、オーディオブック、講座の対話に適しています。
/v1/audio/speech/speakersmoss-ttsd-1.0APIキーを作成
APIキー管理プラットフォームにアクセスしてAPIキーを作成し、環境変数として保存してください。APIキーをクライアントコードに書き込んだり、リポジトリにコミットしたりしないでください。
環境変数 MOSS_API_KEY=<your_api_key_here>リクエスト入力を準備
speakersで話者とvoice_idを宣言し、segmentsで話者ごとのセリフを指定します。同期呼び出しではdelivery_methodに応じて音声バイナリまたは結果URLが返されます。時間のかかる処理ではasync=trueを渡して非同期タスクを作成し、返されたtask_idで結果を照会します。フィールド型必須説明moss-ttsd-1.0
話者IDとvoice_idの対応関係
順番に並べたセグメントテキスト。speakerでspeakers.idと関連付けます
同期リクエストでURLを返すか音声を直接返すかを制御します。response_formatは同期出力の形式にのみ使用されます
リクエストボディ { "model": "moss-ttsd-1.0", "speakers": [ { "id": "speaker_a", "voice_id": "7e5020e3-b88e-4271-a996-2908a182dd32" }, { "id": "speaker_b", "voice_id": "2925f9ce-75af-4354-8757-b52c3e541e8c" } ], "segments": [ { "speaker": "speaker_a", "text": "ねえ、最近AIについての記事を読んだんだけど、けっこう面白くて、ちょっと話したいなと思って。" }, { "speaker": "speaker_b", "text": "え、そうなの?何についての記事?またどこかの会社がとんでもない新モデルでも出したの?" } ], "response_format": "wav", "delivery_method": "audio" }最初のリクエストを送信
このシナリオのエンドポイントにリクエストを送信します。同期リクエストでは
delivery_methodに応じて音声バイナリ、または結果URLを含むJSONが返されます。async=trueの場合はタスクオブジェクトが即座に返されます。リクエスト例 curl --fail-with-body -sS -X POST "https://api.mosi.cn/v1/audio/speech/speakers" \ -H "Authorization: Bearer $MOSS_API_KEY" \ -H "Platform: moss-platform" \ -H "Content-Type: application/json" \ -d '{ "model": "moss-ttsd-1.0", "speakers": [ { "id": "speaker_a", "voice_id": "7e5020e3-b88e-4271-a996-2908a182dd32" }, { "id": "speaker_b", "voice_id": "2925f9ce-75af-4354-8757-b52c3e541e8c" } ], "segments": [ { "speaker": "speaker_a", "text": "ねえ、最近AIについての記事を読んだんだけど、けっこう面白くて、ちょっと話したいなと思って。" }, { "speaker": "speaker_b", "text": "え、そうなの?何についての記事?またどこかの会社がとんでもない新モデルでも出したの?" } ], "response_format": "wav", "delivery_method": "audio" }'タスクの結果を取得
delivery_method=urlで同期呼び出しを行った場合は、レスポンスJSONから結果URLを読み取ります。async=trueを渡すとtask_idが返されるので、GET /v1/audio/tasks/{task_id}でタスク結果を照会できます。タスクの照会 curl https://api.mosi.cn/v1/audio/tasks/$TASK_ID \ -H "Authorization: Bearer $MOSS_API_KEY"成功を確認
成功の目安:完全な対話音声(
delivery_method=audio)または結果URL(delivery_method=url)を取得でき、ダウンロードまたは再生できます。