帮你快速理解、总结文档立即下载

语音音色转换和视频加语音

最近更新时间:2026-07-09 16:14:31

我的收藏

功能介绍

功能
说明
语音音色转换
输入原始视频或音频,指定音色 ID 或传入用于克隆音色的训练音频/视频,可以替换原始音色,说话内容不变且情绪自然。
视频加语音
输入原始视频,指定音色 ID 和文本内容,系统将自动生成配音并合成到视频中,输出新视频文件。

前提条件

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

计费说明

若发起任务时指定音色 ID,收取“AI 配音-指定音色”费用。
若传入了 cloneVideoUrl,则会先进行克隆音色操作再进行语音合成,收取“克隆音色”+“AI 配音-指定音色”费用。
详细定价请参考 计费说明文档

发起任务

调用 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\\":\\"SpeechToSpeech\\",\\"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 用于指定不同功能场景和对应参数。

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

输入原始音频或视频,指定音色 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即原音色输出。

场景二、视频加语音场景

文本转语音,并将语音和字幕添加到视频上
ExtendedParameter 传参示例:
{
"dubbing": {
"dubbingType": "AddAudioByTTS",
"text": "肌肤总干燥紧绷、透着黯黄?想要皮肤状态好,清洁到位是首要!魅护这款洁面乳,甄选芦荟与玫瑰精华,洗完清爽又透亮,日常清洁选它很省心~",
"voiceId": "s1_W6dm+psx/nndDcTY9fy8CXAuxN82CrmPBVLhaLBZGbylzrAzDwog9zElho/SYnVtGxU="
}
}
参数
类型
必填
描述
dubbingType
string
配音任务类型,该场景填 AddAudioByTTS。
durationMode
string
默认 video 模式。
video:以视频时长为准。若合成音频时长不等于视频,通过倍速或在两端填充静音保证时长一致。
audio:以音频时长为准。若音频时长大于视频,循环播放视频;若小于视频则截断视频,保证视频与合成音频时长相同。
text
string
语音合成文本。
textLang
string
文本对应语言,默认中文。
textSegments
array of object
文本片段列表,可以将 tts 的结果插入到指定位置。
textSegments[i].text
string
文本。
textSegments[i].startTime
float
插入到视频中的起始时间位置。
textSegments[i].endTime
float
插入到视频中的结束时间位置。
voiceId
string
指定音色 ID,可填克隆音色或系统音色,系统音色见附录。
cloneVideoUrl
string
克隆音色的视频/音频,要求时长不小于5s且只包含一个说话人。若没有指定 voiceId,将克隆该音视频的音色。
cloneVideoLang
string
克隆视频/音频对应的语言,默认中文。
extraPara
object
其他参数。
extraPara.synExt
object
语音合成扩展参数。
synExt.pitch
int
结果音频音调,取值[-12,12],默认0原音色输出。
subtitle
object
字幕相关参数。
subtitle.style
Style
字幕样式。详情见相关数据结构。

查询任务结果

事件通知回调

在使用 ProcessMedia 发起媒体处理任务时,您可以通过 TaskNotifyConfig 参数配置事件回调。当任务处理完成后,会通过配置的回调信息回调任务结果,您可以通过 ParseNotification 解析事件通知结果。相关数据结构可参考下文。

调用接口查询任务结果

在使用 ProcessMedia 发起媒体处理任务后,会返回任务 ID(TaskId),例如:24000022-WorkflowTask-b20a8exxxxxxx1tt110253、24000022-ScheduleTask-774f101xxxxxxx1tt110253。调用 DescribeTaskDetail 接口,输入任务 ID 即可获取任务结果,您需要解析 WorkflowTask ->AiAnalysisResultSet > DubbingTask > Output 字段获取任务结果。
下方列出了相关数据结构以供参考: