多人语音生成
将多角色对话文本合成为完整对话音频,适合播客、角色扮演、有声书和课程对话。
Endpoint
POST
/v1/audio/speech/speakers模型名称
moss-ttsd-1.0创建 API Key
进入 API Key 管理平台,创建 API Key,并保存为环境变量。不要把 API Key 写进客户端代码或提交到仓库。
环境变量 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": "诶,我最近看了一篇讲人工智能的文章,还挺有意思的,想跟你聊聊。" }, { "speaker": "speaker_b", "text": "哦?是吗,关于啥的啊?又是哪个公司发了什么逆天的新模型吗?" } ], "response_format": "wav", "delivery_method": "audio" }发起第一次请求
向当前场景的 endpoint 发起请求。同步请求按
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": "诶,我最近看了一篇讲人工智能的文章,还挺有意思的,想跟你聊聊。" }, { "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),可下载或播放。