API 平台

多人语音生成

多说话人文本转语音(TTSD)。用 speakers 数组声明每个说话人(id + 音色),再用 segments 数组按说话人分句给出台词。音色用 voice_id 指定,取值见 查询音色列表

POST
/v1/audio/speech/speakers

多说话人 TTS。请求体为 JSON;delivery_method=url 返回 JSON(含结果 URL),delivery_method=audio(默认)返回音频二进制。

认证

在请求头中加入 Authorization: Bearer <API_KEY> 完成鉴权,密钥可在控制台「API 密钥」页生成。

示例
curl -X POST https://api.mosi.cn/v1/audio/speech/speakers \
  -H "Authorization: Bearer $MOSS_API_KEY"

支持模型

字段允许值
model

moss-ttsd-1.0

请求字段

字段类型必填说明
modelstring

完整模型 ID。常规调用使用 moss-ttsd-1.0;需要固定版本时使用 moss-ttsd-1.0-2026-03-20

speakersarray

说话人配置数组,声明每个说话人及其音色,不能为空。

speakers[].idstring

说话人标识,供 segments[].speaker 引用。

speakers[].voice_idstring

说话人音色 ID,可从查询音色列表或创建音色接口获得。

segmentsarray

分句数组,按说话人给出台词,不能为空。

segments[].speakerstring

说话人标识,必须匹配 speakers[].id 之一。

segments[].textstring

该句台词文本。

response_formatstring

同步请求的音频格式,例如 mp3 / wav;异步任务实际格式以任务查询返回为准。

delivery_methodstring

audio 直接返回音频;url 返回 JSON 和结果 URL。

asyncboolean

设为 true 时创建异步任务并立即返回任务对象;异步语音结果通过 URL 交付。

webhook_urlstring

异步任务完成后回调的 HTTPS URL。

aigc_metadataobject

控制是否在生成的音频文件中写入 AIGC 隐式标识,默认不写入。该字段仅影响最终音频文件的元数据,不影响语音合成内容。

aigc_metadata.enabledboolean

是否写入 AIGC 隐式标识,默认 false

aigc_metadata.content_propagatorstring

内容传播服务提供者的名称或编码。

aigc_metadata.propagate_idstring

内容传播编号,用于标识本次内容传播。

请求示例

示例
curl https://api.mosi.cn/v1/audio/speech/speakers \
  -H "Authorization: Bearer $MOSS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "moss-ttsd-1.0",
    "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",
    "aigc_metadata": {
      "enabled": true,
      "content_propagator": "<content_propagator>",
      "propagate_id": "<propagate_id>"
    }
  }'

返回方式

请求方式返回内容
默认或 delivery_method=audio直接返回音频二进制,Content-Typeresponse_format 变化
delivery_method=url返回 JSON,包含音频结果 URL
async=true返回异步任务对象;任务结果通过 GET /v1/audio/tasks/{task_id} 查询

同步 URL 响应字段

delivery_method=url 时返回 JSON(含结果 URL):

字段类型必返说明
idstring

任务/结果 ID。同步 URL JSON 响应统一使用 id

objectstring

固定为 audio.speech

statusstring

任务状态,例如 SUCCESS

urlstring

音频结果 URL。

response_formatstring

实际输出音频格式,例如 mp3

content_typestring

音频 MIME 类型,例如 audio/mpeg

created_atinteger

创建时间,Unix 时间戳,单位为秒。

异步创建响应字段

async=true 时立即返回:

字段类型必返说明
idstring

任务 ID。

task_idstring

任务查询 ID,通常与 id 相同。

objectstring

固定为 audio.speech

statusstring

初始状态,例如 PENDING

retry_afterinteger

建议轮询间隔,单位为秒。

created_atinteger

创建时间,Unix 时间戳,单位为秒。

updated_atinteger

更新时间,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
}

下一步