声音克隆配音
本页印出的枚举值是快照。机器可读的真相源是 枚举清单 —— 两边若有出入,以那份为准。
输入文本与音色(speaker),生成对应音色的配音音频(声音克隆)。无需上传文件,输入即文本。
创建任务
基本信息
| 项目 | 值 |
|---|---|
| 请求方法 | POST |
| 请求路径 | /task/audio_tts_clone |
| Content-Type | application/json |
| 鉴权方式 | Authorization 请求头(直接传 API Key) |
请求参数(Body)
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
text | string | 是 | — | 待合成文本,非空,长度上限 5000 字 |
speaker | string | 是 | — | 音色代号(见下方「可用音色」) |
text_lang | string | 否 | 该音色的语种 | 目标语言(BCP-47,如 zh-CN)。通常不必传——音色本身已决定语种,不传即按音色的语种合成 |
output_format | string | 否 | wav | 输出音频格式:wav 或 mp3 |
refresh | boolean | 否 | false | 强制重新合成(跳过缓存),用于要一版新演绎;仅云引擎音色生效 |
speed | number | 否 | 音色预设 | 语速倍率(1.0 = 原速)。合法区间逐音色不同,以音色清单接口返回的 speed_range 为准;个别音色不支持调速(其 speed_range 的 min 与 max 同为 1.0)。越界会前置返回参数错误,不建任务、不计费 |
subtitle_format | string | 否 | 不生成字幕 | 传 srt 时,除音频外额外产出一份 .srt 字幕文件(UTF-8、无 BOM、LF 换行)。时码取自本次合成的句级时码,与音频严格一致;过长的句子会按 canvas 画幅拆成多行,拆出的行在该句时段内按字数分配时码;不额外计费。不传即完全不生成,产物与出参和以前一样。取值目前仅 srt,传别的值会返回参数错误 |
strip_punctuation | boolean | 否 | true | 字幕文本去标点开关,仅作用于 subtitle_format 附赠的 .srt 字幕文本:缺省去标点(标点在字幕里不好看)——中文 , 。 与英文 , . 替换为空格,词内形态豁免(小数 3.5、域名 example.com、千分位 1,000 不动),其余标点(引号、问号、感叹号、破折号等)一律保留;连续空格折一、行首尾裁净。时码、行数、音频与 segments 零变化。显式传 false 时完整保留标点 |
canvas | integer[] | 否 | [1080, 1920](竖屏) | 成片画布 [宽, 高],两个正整数,仅在传 subtitle_format 时可用(只传它会返回参数错误)。字幕按该画幅把过长的句子拆成多行——竖屏比横屏拆得更碎;不传即按缺省竖屏画幅拆,横屏成片请显式传 [1920, 1080]。只影响字幕分行,音频与 segments 零变化 |
text_split_method | string | 否 | 音色预设(通常 cut1) | 长文切分法,仅同合云自研(gpt_sovits)音色生效;云引擎音色目前会忽略此参数、观察期满后将改为报错(日期另行公告),请勿对云引擎音色传此参数——云引擎音色的句级时码本就按一句一段产出,想要句句分开无需该参数。它决定 segments 的断句粒度(字幕先按它断句,再按 canvas 把过长的句子拆成多行):cut1 = 凑 4 句为一段、cut2 = 约 50 字、cut3 = 按中文句号、cut4 = 按英文句号、cut5 = 按所有标点(句句分开)、cut0 = 不切。想让字幕在每个句末都断开,传 cut5 |
fragment_interval | number | 否 | 音色预设 | 句间停顿秒数,仅同合云自研(gpt_sovits)音色生效。合法区间 [0.05, 1.0] 秒(闭区间,两端点均合法),越界返回参数错误、不做静默钳位——不建任务、不计费。⚠️ 云引擎音色传了会明确报错,这与上一行 text_split_method「云引擎会忽略此参数」行为相反,别按那条的经验推断成「传了顶多没用」。不传即跟随该音色调好的预设,产物与本参数上线前逐字节一致 |
可用音色(speaker)
| 音色 | 代号(speaker) | 来源(engine) | 性别 | 语种 | 单价 | 试听 | 音色描述 |
|---|---|---|---|---|---|---|---|
| 同合云自研(9 条)· 5 积分/千字符 | |||||||
| 讲述者 | narrator | 同合云自研 | 男 | zh-CN | 5 积分/千字符 | ||
| 授课主播 | lecturer | 同合云自研 | 男 | zh-CN | 5 积分/千字符 | ||
| 弗兰教授 | professor_fran | 同合云自研 | 男 | zh-CN | 5 积分/千字符 | ||
| 广东荣姐 | cantonese_accent | 同合云自研 | 女 | zh-CN | 5 积分/千字符 | ||
| 电台女神 | radio_female | 同合云自研 | 女 | zh-CN | 5 积分/千字符 | ||
| 暖心姐姐 | heartwarming_female | 同合云自研 | 女 | zh-CN | 5 积分/千字符 | ||
| 亲切女声 | kind_female | 同合云自研 | 女 | zh-CN | 5 积分/千字符 | ||
| 灵动女声(仅供内部成员使用) | energetic_female | 同合云自研 | 女 | zh-CN | 5 积分/千字符 | ||
| 软萌少女(仅供内部成员使用) | sweet_female | 同合云自研 | 女 | zh-CN | 5 积分/千字符 | ||
| 微软 Azure(12 条)· 13 积分/千字符 | |||||||
| 雲龍(实验性) | azure_zh-HK-WanLungNeural | 微软 Azure | 男 | zh-HK | 13 积分/千字符 | ||
| Andrew Multilingual(实验性) | azure_en-US-AndrewMultilingualNeural | 微软 Azure | 男 | en-US | 13 积分/千字符 | ||
| 云扬(实验性) | azure_zh-CN-YunyangNeural | 微软 Azure | 男 | zh-CN | 13 积分/千字符 | ||
| 云健(实验性) | azure_zh-CN-YunjianNeural | 微软 Azure | 男 | zh-CN | 13 积分/千字符 | ||
| 云希 四川(实验性) | azure_zh-CN-sichuan-YunxiNeural | 微软 Azure | 男 | zh-CN · sichuan | 13 积分/千字符 | ||
| 云希(实验性) | azure_zh-CN-YunxiNeural | 微软 Azure | 男 | zh-CN | 13 积分/千字符 | ||
| Aria(实验性) | azure_en-US-AriaNeural | 微软 Azure | 女 | en-US | 13 积分/千字符 | ||
| 晓涵(实验性) | azure_zh-CN-XiaohanNeural | 微软 Azure | 女 | zh-CN | 13 积分/千字符 | ||
| 晓晓2 HD Flash(实验性) | azure_zh-CN-Xiaoxiao2:DragonHDFlashLatestNeural | 微软 Azure | 女 | zh-CN | 13 积分/千字符 | ||
| 晓晓(实验性) | azure_zh-CN-XiaoxiaoNeural | 微软 Azure | 女 | zh-CN | 13 积分/千字符 | ||
| 晓甄(实验性) | azure_zh-CN-XiaozhenNeural | 微软 Azure | 女 | zh-CN | 13 积分/千字符 | ||
| 晓伊(实验性) | azure_zh-CN-XiaoyiNeural | 微软 Azure | 女 | zh-CN | 13 积分/千字符 | ||
| 阿里云(14 条)· 21–42 积分/千字符 | |||||||
| 龙老伯 | ali_longlaobo_v3 | 阿里云 | 男 | zh-CN | 21 积分/千字符 | ||
| 龙修 | ali_longxiu_v3 | 阿里云 | 男 | zh-CN | 21 积分/千字符 | ||
| 龙逸尘 | ali_longyichen_v3 | 阿里云 | 男 | zh-CN | 21 积分/千字符 | ||
| 龙安洋 | ali_longanyang | 阿里云 | 男 | zh-CN | 21 积分/千字符 | ||
| 龙老铁 | ali_longlaotie_v3 | 阿里云 | 男 | zh-CN · dongbei | 21 积分/千字符 | ||
| 龙楠 | ali_longnan_v3 | 阿里云 | 男 | zh-CN | 21 积分/千字符 | ||
| 龙媛 | ali_longyuan_v3 | 阿里云 | 女 | zh-CN | 21 积分/千字符 | ||
| Bella3.0 | ali_loongbella_v3 | 阿里云 | 女 | zh-CN | 21 积分/千字符 | ||
| 龙安欢(V3 方言版) | ali_longanhuan_v3 | 阿里云 | 女 | zh-CN | 21 积分/千字符 | ||
| 龙妙 | ali_longmiao_v3 | 阿里云 | 女 | zh-CN | 21 积分/千字符 | ||
| 龙安欢 | ali_longanhuan | 阿里云 | 女 | zh-CN | 21 积分/千字符 | ||
| 龙嘉怡 | ali_longjiayi_v3 | 阿里云 | 女 | yue-HK | 21 积分/千字符 | ||
| 龙婧 | ali_longjing_v2 | 阿里云 | 女 | zh-CN | 42 积分/千字符 | ||
| 龙白芷 | ali_longbaizhi | 阿里云 | 女 | zh-CN | 42 积分/千字符 | ||
| 火山引擎(20 条)· 34–50 积分/千字符 | |||||||
| 深夜播客 2.0 | volc_zh_male_shenyeboke_uranus_bigtts | 火山引擎 | 男 | zh-CN | 34 积分/千字符 | ||
| 擎苍 2.0 | volc_zh_male_qingcang_uranus_bigtts | 火山引擎 | 男 | zh-CN | 34 积分/千字符 | ||
| 东方浩然 2.0 | volc_zh_male_dongfanghaoran_uranus_bigtts | 火山引擎 | 男 | zh-CN | 34 积分/千字符 | ||
| 磁性解说男声 2.0 | volc_zh_male_cixingjieshuonan_uranus_bigtts | 火山引擎 | 男 | zh-CN | 34 积分/千字符 | ||
| 云舟 2.0 | volc_zh_male_m191_uranus_bigtts | 火山引擎 | 男 | zh-CN | 34 积分/千字符 | ||
| 悬疑解说 2.0 | volc_zh_male_xuanyijieshuo_uranus_bigtts | 火山引擎 | 男 | zh-CN | 34 积分/千字符 | ||
| 解说小明 2.0 | volc_zh_male_jieshuoxiaoming_uranus_bigtts | 火山引擎 | 男 | zh-CN | 34 积分/千字符 | ||
| 译制片男 2.0 | volc_zh_male_yizhipiannan_uranus_bigtts | 火山引擎 | 男 | zh-CN | 34 积分/千字符 | ||
| Margaret | volc_en_female_authoritative-informative_uranus_bigtts | 火山引擎 | 女 | en-US | 34 积分/千字符 | ||
| Ken | volc_ja_male_bv524_uranus_bigtts | 火山引擎 | 男 | ja-JP | 34 积分/千字符 | ||
| 云舟 2.0(陕西话) | volc_zh_male_m191_uranus_bigtts__shaanxi | 火山引擎 | 男 | zh-CN · shaanxi | 34 积分/千字符 | ||
| 云舟 2.0(东北话) | volc_zh_male_m191_uranus_bigtts__dongbei | 火山引擎 | 男 | zh-CN · dongbei | 34 积分/千字符 | ||
| 爽快思思 2.0 | volc_zh_female_shuangkuaisisi_uranus_bigtts | 火山引擎 | 女 | zh-CN | 34 积分/千字符 | ||
| 温柔小雅 2.0 | volc_zh_female_wenrouxiaoya_uranus_bigtts | 火山引擎 | 女 | zh-CN | 34 积分/千字符 | ||
| 云舟 2.0(四川话) | volc_zh_male_m191_uranus_bigtts__sichuan | 火山引擎 | 男 | zh-CN · sichuan | 34 积分/千字符 | ||
| 知性女声 2.0 | volc_zh_female_zhixingnv_uranus_bigtts | 火山引擎 | 女 | zh-CN | 34 积分/千字符 | ||
| Vivi(陕西话) | volc_zh_female_vv_uranus_bigtts__shaanxi | 火山引擎 | 女 | zh-CN · shaanxi | 34 积分/千字符 | ||
| Vivi(东北话) | volc_zh_female_vv_uranus_bigtts__dongbei | 火山引擎 | 女 | zh-CN · dongbei | 34 积分/千字符 | ||
| Vivi(四川话) | volc_zh_female_vv_uranus_bigtts__sichuan | 火山引擎 | 女 | zh-CN · sichuan | 34 积分/千字符 | ||
| 京腔侃爷 / Harmony | volc_zh_male_jingqiangkanye_moon_bigtts | 火山引擎 | 男 | zh-CN | 50 积分/千字符 | ||
本表由服务端音色清单接口实时生成,不再手工维护。完整字段(人设、标签、适合题材、语速区间等)见音色清单与检索。「来源」列对应音色清单接口的
engine字段(同合云自研 =gpt_sovits、阿里云 =aliyun、火山引擎 =volcengine、微软 Azure =azure),可直接用作该接口的engine过滤值;不同来源单价不同,与价格页「声音克隆配音」的计费分档一一对应。表按来源分组,组间按最低单价、组内按单价升序排列。「试听」为各音色 demo 示例,全部音色念同一句标语,可直接横向比较。标注「仅供内部成员使用」的音色仅面向同合云内部成员开放,其他账号请求时会返回参数错误并明示原因。
计费说明
按输入文本的字符数计费,计量单位是千字符。
- 计费单位数 =
text字符数 ÷ 1000(保留小数) - 计费只看你提交的文本,与合成出来的音频时长无关——调慢语速会让音频变长,但不影响扣费
- 最终扣费向上取整到整积分,任何非空文本至少 1 积分
单价按音色所属的引擎与档位不同(5 ~ 50 积分 / 千字符),见音色清单接口返回的 credits_per_kchar 字段,与价格页「声音克隆配音」的分档一一对应。
字符怎么数
| 规则 | 说明 |
|---|---|
| 计数口径 | 按 Unicode 码点计,一个中日韩字符算 1 个字符,英文按字母、数字按位 |
| 首尾空白 | 不计(text 在校验前已做首尾裁剪) |
| 中间的空格、换行、标点 | 各计 1 |
例如 1000 字符 = 1 千字符;用一个 5 积分/千字符的音色合成,扣 5 积分。
⚠️ 计费口径已于 2026-08 由「分钟」改为「千字符」。此前文档写的「按合成时长计费、计费分钟按 240 字/分钟折算」已作废——那层折算是伪单位,现已收掉:按字符计费的能力,其对外单位就是字符。
音色清单接口在过渡期同时返回
credits_per_kchar(现行)与credits_per_minute(已废弃,仅因旧文档教用户读它而暂留),公告期结束后credits_per_minute会被移除。新接入请只读credits_per_kchar。
请求示例
curl -X POST https://api.ai-mcn.tv:10000/task/audio_tts_clone \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "你好,欢迎收听本期节目。",
"speaker": "narrator",
"output_format": "wav",
"speed": 1.0
}'
成功响应示例
{
"code": 200,
"msg": "success",
"data": {
"task_id": "537489015178247",
"task_type": "audio_tts_clone",
"status": "queued"
}
}
查询任务结果
基本信息
| 项目 | 值 |
|---|---|
| 请求方法 | GET |
| 请求路径 | /task/audio_tts_clone/{task_id} |
| 鉴权方式 | Authorization 请求头(直接传 API Key) |
响应参数(output_result)
| 参数名 | 类型 | 说明 |
|---|---|---|
file_id | string | 合成音频文件 ID |
download_url | string | 音频下载路径 |
speaker | string | 使用的音色代号 |
voice_id | string | 同 speaker(与音色清单接口的字段名对齐) |
engine | string | 合成引擎 |
sample_rate | integer | 音频采样率(Hz) |
duration_ms | integer | 音频实际时长(毫秒)。与计费无关——计费只看输入文本的字符数 |
billed_chars | integer | 上游引擎回传的字符计数,仅云引擎音色有(自研 gpt_sovits 音色不返回该字段)。⚠️ 它是上游用量留痕,不是你的扣费依据:各家引擎的计数口径不同(如火山取上游 usage.text_words),而你的扣费恒按本页「字符怎么数」那一节的口径算 |
segments | array | 句级时码 [{index, text, start_ms, end_ms}]:每句在音频里的起止毫秒,可直接用于字幕对齐与画面切换点。end_ms 含该句尾部的自然停顿,时间轴首尾相接无缝隙。云引擎音色恒返回;自训音色的分段粒度跟随请求参数 text_split_method(见上方请求参数表,缺省 cut1 会把最多 4 句合为一段),要句句分开传 cut5 |
subtitle_file_id | string | 字幕文件(.srt)ID。仅当请求传了 subtitle_format 时出现;生成失败时为空串,原因见 errors.subtitle |
subtitle_file_download_url | string | 字幕文件下载路径 |
errors | object | 仅在附赠产物降级时出现。字幕生成失败记在 errors.subtitle,任务仍是 completed、音频产物不受影响 |
cache_hit | boolean | 仅命中合成缓存时出现且为 true(此时音频复用上一次的产物) |
成功响应示例
{
"code": 200,
"msg": "success",
"data": {
"task_id": "537489015178247",
"status": "completed",
"progress": 100,
"output_result": {
"file_id": "537489015178248",
"download_url": "/download/a1/output_tts.wav",
"speaker": "narrator",
"voice_id": "narrator",
"engine": "gpt_sovits",
"sample_rate": 32000,
"duration_ms": 5240,
"billed_chars": 16,
"segments": [
{ "index": 0, "text": "第一句话在这里。", "start_ms": 0, "end_ms": 2600 },
{ "index": 1, "text": "第二句话在这里。", "start_ms": 2600, "end_ms": 5240 }
]
},
"create_time": "2026-06-21T08:00:00Z",
"update_time": "2026-06-21T08:00:12Z"
}
}
错误码
| 错误码 | HTTP 状态码 | 说明 | 解决方案 |
|---|---|---|---|
6013 | 400 | 必填参数缺失(text / speaker) | 补齐参数 |
6016 | 400 | 业务参数非法(speaker 不可用、text 为空或超长、speed 越界、subtitle_format 非法、canvas 非法或未传 subtitle_format 却传了 canvas、fragment_interval 越界、云引擎音色传了 fragment_interval 等) | 按参数说明修正 |
6502 | 401 | 鉴权失败 | 检查 Authorization 请求头 |
6201 | 402 | 额度不足 | 前往仪表盘充值 |
6202 | 402 | 余额不足 | 前往仪表盘充值 |
使用限制
⚠️ 行为变更公告(2026-09-13):自 2026-09-13 起,传
subtitle_format的请求,字幕会按canvas画幅把过长的句子拆成多行;未传canvas时按缺省竖屏画幅[1080, 1920]拆,字幕行会比升级前的「一句一条」更短。音频、segments与整句的起止时码零变化。横屏成片请显式传canvas: [1920, 1080]。
⚠️ 行为变更公告(2026-08-22):自 2026-08-22 起,
subtitle_format附赠的.srt字幕默认去除文本中的中英逗号句号(strip_punctuation缺省true),相同请求产出的字幕文本会与升级前不同;时码、行数、音频与segments等其余出参零变化。需要升级前的旧行为,请显式传strip_punctuation: false。
- 单次合成文本上限 5000 字。长文由服务端按句切分后逐句合成再拼接,无需自行分段;但越长耗时越久——最慢的引擎约 0.11 秒/字,5000 字要 9 分钟左右。
- 长文本由服务端按句切分后逐句合成再拼接,无需自行分段;云引擎音色按句并行合成,长稿耗时约为串行的三分之一(阿里音色暂为串行)。
- 相同参数(文本、音色、语速、格式)重复提交会命中合成缓存,直接返回上一次的音频(同一个
file_id),任务几乎即时完成、计费照常。想要一版新的演绎(合成有随机性,每次重合成都是新版本),传"refresh": true强制重新合成。 - 字幕(
subtitle_format)不额外计费:它由本次合成已有的句级时码直接生成,时码与音频严格一致(毫秒级,不做取整)。字幕先按segments断句(自研音色想在每个句末都断开,请一并传text_split_method: "cut5";云引擎音色固定一句一段),再按canvas画幅把过长的句子拆成多行。 - 字幕是附赠产物:万一生成失败(例如个别自研音色的句级时码本次不可用),任务仍会正常完成、音频照常返回,
subtitle_file_id为空串并在errors.subtitle里说明原因。 - 句间停顿可调(
fragment_interval):自研音色可按需收紧句与句之间的停顿。实测参考:一条 203 秒的解说里,约四分之一的时长是句间静音;把停顿调到0.2秒后,同一段稿子的成片缩到 171 秒。不传时跟随该音色调好的预设,产物与本参数上线前逐字节一致。 - 云引擎音色不支持调节句间停顿:传了
fragment_interval会直接返回参数错误(不建任务、不计费),而不是静默忽略——你不会拿到一条"看起来没变"的音频去反复猜。需要更紧的节奏,请改用同合云自研音色。 - 仅可使用已授权且质检通过的音色(见「可用音色」)。
- 标注「仅供内部成员使用」的音色需同合云内部成员身份,其他账号请求会返回参数错误(不会静默替换为其他音色)。
🤝 加入同和新媒体矩阵,解锁内部成员权益:矩阵成员(internal)可使用 custom 域全库素材检索(视频 / 图片 / 音频,含概念素材与非商用素材,支持仅可商用过滤)与内部专属音色。前往 创作者网络 申请加入,审核通过后管理员将为你开通内部权限。