文档中心>媒体处理>接入教程>媒体 AI 接入>语音合成和音色复刻接入

语音合成和音色复刻接入

最近更新时间:2026-03-23 11:08:11

我的收藏

功能介绍

基于 AI 语音模型,支持声音复刻、语音合成能力,适用于有声书、播客、音视频创作等多种场景。支持中、英、日、韩等40+语种,提供丰富的系统音色,音色复刻还原度高。


前提条件

在使用本功能前,您需完成以下前置操作:
腾讯云账号注册/登录、开通 MPS 产品、完成服务角色授权
若您使用腾讯云子账号,还需要保证账号有足够权限使用 MPS 产品。
具体指引请参考 快速入门。账号授权问题可参考 账号授权 文档。

发起音色复刻任务

调用 同步配音 接口,传入待复刻的音频,即可实现极速复刻。
说明:
输入的音频时长没有限制,为提高复刻效果,建议时长控制在10秒-20秒之间,且仅包含单人清晰语音。
输入示例:
{
"AudioData": "UklGRghoAABXQVZFZm10IBAAAAABAAEAgD4AAAB..."
}
输出示例:
{
"Response": {
"ErrorCode": 0,
"Msg": "success",
"VoiceId": "v1_jRFTM0hdReIsnPll+lDRCpW6+3Drq0RcmXwUT",
"RequestId": "15468f21-9d4a-4958-b652-454d6f7646ea"
}
}

计费说明

使用音色复刻能力,收取“克隆音色”费用,详细定价请参考 计费说明文档

发起语音合成任务

短文本语音合成(同步)

调用 同步配音 接口,支持两种使用方式:
传入文本、指定音色 ID:按照指定音色语音合成,返回语音数据。
传入文本、训练音频:先基于训练音频进行音色复刻,再基于复刻出的音色进行语音合成,返回语音数据、音色 ID。

传入文本、音色 ID 进行语音合成

输入示例:
{
"Text": "您好",
"VoiceId": "s1_2GSzVAf00hl"
}
输出示例:
{
"Response": {
"RequestId": "2f8fa58c-91e8-4564-8b42-490ececda193",
"ErrorCode": 0,
"Msg": "success",
"AudioData": "UklGRuxnAABXQVZFZm10IBAAAAABAAEAgD4AAA...",
"VoiceId": "s1_2GSzVAf00hl"
}
}
计费说明
收取“语音合成(基于音色 ID)”费用,详细定价请参考 计费说明文档

传入文本、训练音频,同时进行音色复刻、语音合成

输入示例:
{
"Text": "您好",
"AudioData": "UklGRghoAABXQVZFZm10IBAAAAABAAEAgD4AAAB..."
}
输出示例:
{
"Response": {
"RequestId": "2f8fa58c-91e8-4564-8b42-490ececda193",
"ErrorCode": 0,
"Msg": "success",
"AudioData": "UklGRuxnAABXQVZFZm10IBAAAAABAAEAgD4AAA...",
"VoiceId": "s1_2GSzVAf00hl"
}
}
计费说明
收取“克隆音色”+“语音合成(基于音色 ID)”费用,详细定价请参考 计费说明文档

长文本语音合成(异步)

调用 ProcessMedia 接口 ,选择 AiAnalysisTask 任务,将 Definition 设置为36(预设模板 ID)。
ExtendedParameter 填写扩展参数,用于传入合成音频的文本以及其他个性化能力,取值见下文 扩展参数说明
传参 JSON 示例如下:
{
"InputInfo": {
"Type": "URL",
"UrlInputInfo": {
"Url": "https://test.myqcloud.com/video/xxx.mp4" // SpeechToSpeech模式替换成要做音色替换的视频/音频,TextToSpeech模式下随便填写一个可访问的音视频链接即可,不会统计时长计费
}
},
"AiAnalysisTask": {
"Definition": 36, //预设语音合成模板 ID
"ExtendedParameter": "{\\"dubbing\\":{\\"dubbingType\\":\\"TextToSpeech\\",\\"text\\":\\"文本\\",\\"voiceId\\":\\"clone_v1_Q03FBduA\\"}}" //扩展参数,用于传入合成音频的文本以及其他个性化能力,见下文说明
},
"OutputStorage": {
"CosOutputStorage": {
"Bucket": "test-mps-123456789",
"Region": "ap-guangzhou-2"
},
"Type": "COS"
},
"OutputDir": "/output/",
"TaskNotifyConfig": {
"NotifyType": "URL",
"NotifyUrl": "http://qq.com/callback/qtatest/?token=xxxxxx"
},
"Action": "ProcessMedia",
"Version": "2019-06-12"
}


ExtendedParameter扩展参数说明

ExtendedParameter 用于对长文本语音合成(异步)任务进行个性设置,不同场景可选参数及其说明如下文。

文本转语音场景

输入长文本,合成语音。ExtendedParameter 传参示例:
{
"dubbing": {
"dubbingType": "TextToSpeech",
"text": "文本",
"voiceId": "clone_v1_Q03FBduA"
}
}
//调用API时需进行转义!
参数
类型
必选
描述
dubbingType
String
配音任务类型,该场景填 TextToSpeech。
text
String
需要合成音频的文本。
textLang
String
文本对应语言,默认中文。选项见 此文档
voiceId
String
指定音色 ID,可填克隆音色或系统音色,系统音色见 此文档
cloneVideoUrl
String
克隆音色的视频/音频,要求时长不小于5s且只包含一个说话人。若没有指定 voiceId,将克隆该音视频的音色。
cloneVideoLang
String
克隆视频/音频对应的语言,默认中文。
outputPattern
String
输出文件名前缀,支持占位符{taskType}、{timestamp},默认文件名为{taskType}_{timestamp}。
extraPara
Object
其他参数。
extraPara.synExt
Object
语音合成扩展参数。
synExt.pitch
Integer
结果音频音调,取值[-12,12],默认0即原音色输出。
synExt.sampleRate
Integer
结果音频采样率,支持[8000,16000,22050,32000,44100]。

语音转语音场景(音视频音色替换)

输入原始音频或视频,指定音色 ID 或传入用于克隆音色的训练音频/视频,可以替换原始音色,说话内容不变。
ExtendedParameter 传参示例:
{
"dubbing": {
"dubbingType": "SpeechToSpeech",
"cloneVideoUrl": "https://test.tencentcos.cn/test/trainingvoice.mp4"
}
}

//调用API时需进行转义!
参数
类型
必选
描述
dubbingType
String
配音任务类型,该场景填 SpeechToSpeech。
srcLang
String
源视频/音频对应语言,源视频即 InputInfo 中的音视频。
voiceId
String
指定音色 ID,可填克隆音色或系统音色,系统音色见 此文档
cloneVideoUrl
String
克隆音色的视频/音频,要求时长不小于5s且只包含一个说话人。若没有指定 voiceId,将克隆该音视频的音色。
cloneVideoLang
String
克隆视频/音频对应的语言,默认中文。选项见 此文档
outputPattern
String
输出文件名前缀,支持占位符{taskType}、{timestamp},默认文件名为{taskType}_{timestamp}。
extraPara
Object
其他参数。
extraPara.synExt
Object
语音合成扩展参数。
synExt.pitch
Integer
结果音频音调,取值[-12,12],默认0即原音色输出。
计费说明
若指定音色 ID 合成语音,收取“语音合成(基于音色 ID)”费用。
若传入了cloneVideoUrl,则会先进行克隆音色操作再进行语音合成,收取“克隆音色”+“语音合成(基于音色 ID)”费用,详细定价请参考 计费说明文档

查询任务结果

事件通知回调
在使用 ProcessMedia 发起媒体处理任务时,您可以通过 TaskNotifyConfig 参数配置事件回调。当任务处理完成后,会通过配置的回调信息回调任务结果,您可以通过 ParseNotification 解析事件通知结果。相关数据结构可参考下文。
调用接口查询任务结果
在使用 ProcessMedia 发起媒体处理任务后,会返回任务 ID(TaskId),例如:24000022-WorkflowTask-b20a8exxxxxxx1tt110253、24000022-ScheduleTask-774f101xxxxxxx1tt110253。调用 DescribeTaskDetail 接口,输入任务 ID 即可获取任务结果,您需要解析 WorkflowTask ->AiAnalysisResultSet > DubbingTask > Output 字段获取任务结果。下方列出了相关数据结构以供参考。

附:支持语种、系统音色列表

以下为语音合成、音色复刻支持的语种列表。MPS 针对常用语种,提供一系列系统音色,详细请参考 系统音色列表
支持语种
语种 Code(srcLangcloneVideoLang传参支持选项)
中文 (Chinese)
zh
英语 (English)
en
日语 (Japanese)
ja
德语 (German)
de
法语 (French)
fr
韩语 (Korean)
ko
俄语 (Russian)
ru
乌克兰语 (Ukrainian)
uk
葡萄牙语 (Portuguese)
pt
意大利语 (Italian)
it
西班牙语 (Spanish)
es
印度尼西亚语 (Indonesian)
id
荷兰语 (Dutch)
nl
土耳其语 (Turkish)
tr
菲律宾语 (Filipino)
fil
马来语 (Malay)
ms
希腊语 (Greek)
el
芬兰语 (Finnish)
fi
克罗地亚语 (Croatian)
hr
斯洛伐克语 (Slovak)
sk
波兰语 (Polish)
pl
瑞典语 (Swedish)
sv
印地语 (Hindi)
hi
保加利亚语 (Bulgarian)
bg
罗马尼亚语 (Romanian)
ro
阿拉伯语 (Arabic)
ar
捷克语 (Czech)
cs
丹麦语 (Danish)
da
泰米尔语 (Tamil)
ta
匈牙利语 (Hungarian)
hun
越南语 (Vietnamese)
vi
挪威语 (Norwegian)
no
粤语 (Cantonese)
yue
泰语 (Thai)
th
希伯来语 (Hebrew)
he
加泰罗尼亚语 (Catalan)
ca
尼诺斯克语 (Nynorsk)
nn
阿非利卡语 (Afrikaans)
af
波斯语 (Persian)
fa
斯洛文尼亚语 (Slovenian)
sl