多人语音生成
多说话人文本转语音(TTSD)。用 speakers 数组声明每个说话人(id + 音色),再用 segments 数组按说话人分句给出台词。音色用 voice_id 指定,取值见 查询音色列表。
认证
在请求头中加入 Authorization: Bearer <API_KEY> 完成鉴权,密钥可在控制台「API 密钥」页生成。
curl https://api.mosi.cn/v1/audio/speech/speakers \
-H "Authorization: Bearer $MOSS_API_KEY"
支持模型
| 字段 | 允许值 |
|---|---|
| model |
|
请求字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 模型名称,取值为 |
| version | string | 否 | 指定已上线且对外开放的模型版本,例如 |
| speakers | array | 是 | 说话人配置数组,声明每个说话人及其音色,不能为空。 |
| speakers[].id | string | 是 | 说话人标识,供 |
| speakers[].voice_id | string | 是 | 说话人音色 ID,可从查询音色列表或创建音色接口获得。 |
| segments | array | 是 | 分句数组,按说话人给出台词,不能为空。 |
| segments[].speaker | string | 是 | 说话人标识,必须匹配 |
| segments[].text | string | 是 | 该句台词文本。 |
| response_format | string | 否 | 同步请求的音频格式,例如 |
| delivery_method | string | 否 |
|
| async | boolean | 否 | 设为 |
| webhook_url | string | 否 | 异步任务完成后回调的 HTTPS URL。 |
请求示例
curl https://api.mosi.cn/v1/audio/speech/speakers \
-H "Authorization: Bearer $MOSS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "moss-ttsd",
"speakers": [
{ "id": "A", "voice_id": "<speaker_a_voice_id>" },
{ "id": "B", "voice_id": "<speaker_b_voice_id>" }
],
"segments": [
{ "speaker": "A", "text": "今天进度如何?" },
{ "speaker": "B", "text": "已经完成接口联调。" }
],
"delivery_method": "url",
"response_format": "mp3"
}'
返回方式
| 请求方式 | 返回内容 |
|---|---|
默认或 delivery_method=audio | 直接返回音频二进制,Content-Type 随 response_format 变化 |
delivery_method=url | 返回 JSON,包含音频结果 URL |
async=true | 返回异步任务对象;任务结果通过 GET /v1/audio/tasks/{task_id} 查询 |
同步 URL 响应字段
delivery_method=url 时返回 JSON(含结果 URL):
| 字段 | 类型 | 必返 | 说明 |
|---|---|---|---|
| id | string | 是 | 任务/结果 ID。同步 URL JSON 响应统一使用 |
| object | string | 是 | 固定为 |
| status | string | 是 | 任务状态,例如 |
| url | string | 是 | 音频结果 URL。 |
| response_format | string | 是 | 实际输出音频格式,例如 |
| content_type | string | 是 | 音频 MIME 类型,例如 |
| created_at | integer | 是 | 创建时间,Unix 时间戳,单位为秒。 |
异步创建响应字段
async=true 时立即返回:
| 字段 | 类型 | 必返 | 说明 |
|---|---|---|---|
| id | string | 是 | 任务 ID。 |
| task_id | string | 是 | 任务查询 ID,通常与 |
| object | string | 是 | 固定为 |
| status | string | 是 | 初始状态,例如 |
| retry_after | integer | 否 | 建议轮询间隔,单位为秒。 |
| created_at | integer | 是 | 创建时间,Unix 时间戳,单位为秒。 |
| updated_at | integer | 否 | 更新时间,Unix 时间戳,单位为秒。 |
响应示例
{
"id": "task_abc123",
"object": "audio.speech",
"status": "SUCCESS",
"url": "https://cdn.example.com/out.mp3",
"response_format": "mp3",
"content_type": "audio/mpeg",
"created_at": 1710000000
}