语音合成(MiMo-TTS 系列)- OpenAI API 兼容
请求地址
https://api.xiaomimimo.com/v1/chat/completions
请求头
接口支持以下两种认证方式,请选择其中一种添加到请求头中:
api-key: $MIMO_API_KEY
Content-Type: application/json
请求体
- messagesarray必选对话的消息列表。隐藏子属性由终端用户发送的消息,包含提示或额外的上下文信息。
注意:使用
mimo-v2.5-tts-voicedesign模型生成音频时,该消息为必填,用于指定音色设计描述文本。隐藏子属性messages.contentstring必选用户消息的内容。messages.rolestring必选用户消息的角色。
可选值:user - modelstring必选用于生成响应的模型 ID。
可选值:mimo-v2.5-tts,mimo-v2.5-tts-voicedesign,mimo-v2.5-tts-voiceclone - audioobject音频输出参数。详情请参考语音合成。
注意:如果要生成音频,必须添加一条
role为assistant的消息,该消息需指定用于音频合成的文本。此外,使用mimo-v2.5-tts-voicedesign模型时,role为user的消息为必填,若将optimize_text_preview设置为true,则可省略assistant消息。隐藏子属性audio.formatstring默认值: wav指定输出音频格式。默认值:wav,如果设置stream: true则为pcm。传入
可选值:pcm或pcm16,均表示指定使用pcm16格式。wav,mp3,pcm,pcm16audio.optimize_text_previewboolean默认值: false是否开启目标音频播报文本智能优化能力。
设置为true时,会对传入的目标文本做智能润色;若未传入目标文本,则自动生成适配播报场景的目标文本,再将处理完成的最终文本送入模型进行合成。注意:该参数为
true时,可省略传入用于指定音频合成内容的 assistant 消息。仅支持
mimo-v2.5-tts-voicedesign模型。audio.voicestring预置音色的音色ID 或音频样本的 base64 编码。mimo-v2.5-tts:该字段为可选,且仅支持使用预置音色,默认值为mimo_defaultmimo-v2.5-tts-voiceclone:该字段为必填,且仅支持传入音频样本的 base64 编码,仅支持传入mp3和wav格式的音频样本文件mimo-v2.5-tts-voicedesign:不支持该字段
mimo-v2.5-tts:mimo_default,冰糖,茉莉,苏打,白桦,Mia,Chloe,Milo,Dean
- streamboolean默认值: false如果设置为
true,模型的响应数据会在生成过程中通过SSE(server-sent events)的形式流式传输到客户端。
Chat 响应对象(非流式输出)
- choicesarray包含生成的回复选项列表。隐藏子属性choices.finish_reasonstring模型停止生成 token 的原因:
stop:模型到达自然结束点或触发了用户指定的停止序列length:因超出模型最大生成长度而终止content_filter:内容因触发过滤策略而被拦截
choices.indexinteger选项列表中对应选项的索引。choices.messageobject模型生成的对话补全消息。隐藏子属性choices.message.contentstring消息的内容。choices.message.rolestring消息作者的角色。choices.message.audioobject如果请求输出音频,该对象将包含有关模型音频响应的数据。隐藏子属性choices.message.audio.idstring此音频响应的唯一标识符。choices.message.audio.datastring模型生成的 Base64 编码音频,格式为请求中指定的格式。choices.message.audio.expires_atnumber | null此音频响应过期的 Unix 时间戳(以秒为单位)。当前仅为null。choices.message.audio.transcriptstring | null模型生成的音频的文字记录。当前仅为null。choices.message.final_text_previewstring经过智能优化润色后的音频播报最终文本。仅当请求参数optimize_text_preview设为true时,该字段才会返回。 - createdinteger对话补全对象创建时的 Unix 时间戳(以秒为单位)。
- idstring响应的唯一标识符。
- modelstring用于生成结果的模型。
- objectstring对象类型,仅为
chat.completion。 - usageobject | null该对话补全请求的用量信息。隐藏子属性usage.completion_tokensinteger模型输出内容花费的 token。usage.prompt_tokensinteger提示词使用的 token 数量。usage.total_tokensinteger请求中使用的 token 总数(提示词 + 补全结果)。usage.completion_tokens_detailsobject补全中使用的 token 数量明细。隐藏子属性usage.completion_tokens_details.reasoning_tokensinteger模型为推理生成的 token 数量,固定为
0。usage.prompt_tokens_detailsobject提示中使用的 token 数量明细。隐藏子属性usage.prompt_tokens_details.cached_tokensinteger命中缓存的 token 数量。
Chat 响应 chunk 对象(流式输出)
- choicesarray包含生成的回复选项列表。隐藏子属性choices.deltaobject流式模型响应生成的对话补全增量。隐藏子属性choices.delta.contentstring数据块消息的内容。choices.delta.rolestring消息作者的角色。choices.delta.audioobject | null如果请求输出音频,该对象将包含有关模型音频响应的数据。隐藏子属性choices.delta.audio.idstring此音频响应的唯一标识符。choices.delta.audio.datastring模型生成的 Base64 编码音频,格式为请求中指定的格式。choices.delta.audio.expires_atnumber | null此音频响应过期的 Unix 时间戳(以秒为单位)。当前仅为
null。choices.delta.audio.transcriptstring | null模型生成的音频的文字记录。当前仅为null。choices.delta.final_text_previewstring经过智能优化润色后的音频播报最终文本。仅当请求参数optimize_text_preview设为true时,该字段才会返回。choices.finish_reasonstring | null模型停止生成 token 的原因:stop:模型到达自然结束点或触发了用户指定的停止序列length:因超出模型最大生成长度而终止content_filter:内容因触发过滤策略而被拦截
choices.indexinteger选项列表中对应选项的索引。 - createdinteger对话补全对象创建时的 Unix 时间戳(以秒为单位)。每个数据块均使用相同的时间戳。
- idstring对话补全对象的唯一标识符。每个数据块均使用相同的 ID。
- modelstring用于生成结果的模型。
- objectstring对象类型,仅为
chat.completion.chunk。 - usageobject | null该对话补全请求的用量信息。隐藏子属性usage.completion_tokensinteger模型输出内容花费的 token。usage.prompt_tokensinteger提示词使用的 token 数量。usage.total_tokensinteger请求中使用的 token 总数(提示词 + 补全结果)。usage.completion_tokens_detailsobject补全中使用的 token 数量明细。隐藏子属性usage.completion_tokens_details.reasoning_tokensinteger模型为推理生成的 token 数量,固定为
0。usage.prompt_tokens_detailsobject提示中使用的 token 数量明细。隐藏子属性usage.prompt_tokens_details.cached_tokensinteger命中缓存的 token 数量。
curl --location --request POST 'https://api.xiaomimimo.com/v1/chat/completions' \
--header "api-key: $MIMO_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"model": "mimo-v2.5-tts",
"messages": [
{
"role": "user",
"content": "Bright, bouncy, slightly sing-song tone — like you are bursting with good news you can barely hold in. Fast pace, rising pitch at the end."
},
{
"role": "assistant",
"content": "Hey boss — guess what, guess what? I just got the results back and I actually passed! Not just passed, I got a distinction! I know, I know — you told me I was cutting it close, but hey, here we are. Drinks are on me tonight, okay?"
}
],
"audio": {
"format": "wav",
"voice": "mimo_default"
}
}'响应
{
"id": "6ebed286b58546f6b87fa7fa9d0e806b",
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"content": "",
"role": "assistant",
"audio": {
"id": "979a91904f9a4143928d9e1f54837b4f",
"data": "base64Data",
"expires_at": null,
"transcript": null
},
"tool_calls": null
}
}
],
"created": 1776954802,
"model": "mimo-v2.5-tts",
"object": "chat.completion",
"usage": {
"completion_tokens": 97,
"prompt_tokens": 213,
"total_tokens": 310,
"completion_tokens_details": {
"reasoning_tokens": 0
},
"prompt_tokens_details": {
"cached_tokens": 109
}
}
}更新时间 2026 年 07 月 17 日