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

语音合成任务接口

最近更新时间:2026-02-13 15:06:04
我的收藏

简介

本文档提供关于语音合成任务接口的 API 概览和 SDK 示例代码。
API
操作描述
提交语音合成任务
查询指定的任务

提交语音合成任务

功能说明

提交一个语音合成任务。

方法原型

public Guzzle\\Service\\Resource\\Model createVoiceTtsJobs(array $args = array());

请求示例

示例一:使用模板

<?php

require dirname(__FILE__, 2) . '/vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', //协议头部,默认为 http
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
// 1. 使用模板
$result = $cosClient->createVoiceTtsJobs(array(
'Bucket' => 'examplebucket-125000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Tag' => 'Tts', // 固定为 Tts
'Operation' => array(
'TemplateId' => 't1460606b9752148c4ab182f55163ba7cd',
'TtsConfig' => array(
'InputType' => 'Text',
'Input' => '床前明月光,疑是地上霜',
),
'Output' => array(
'Region' => $region,
'Bucket' => 'examplebucket-125000000',
'Object' => 'demo.mp3',
),
// 'UserData' => 'xxx',
// 'JobLevel' => '0',
),
// 'CallBack' => '',
// 'CallBackFormat' => '',
// 'CallBackType' => '',
// 'CallBackMqConfig' => array(
// 'MqRegion' => '',
// 'MqMode' => '',
// 'MqName' => '',
// ),
));
// 请求成功
print_r($result);
} catch (\\Exception $e) {
// 请求失败
echo($e);
}

示例二:自定义参数

<?php

require dirname(__FILE__, 2) . '/vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', //协议头部,默认为 http
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
// 2. 自定义参数
$result = $cosClient->createVoiceTtsJobs(array(
'Bucket' => 'examplebucket-125000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Tag' => 'Tts', // 固定为 Tts
'Operation' => array(
'TtsConfig' => array(
'InputType' => 'Text',
'Input' => '床前明月光,疑是地上霜',
),
'TtsTpl' => array(
'Mode' => 'Sync',
'Codec' => 'pcm',
'VoiceType' => 'aixiaoxing',
'Volume' => '2',
'Speed' => '200',
'Emotion' => 'arousal',
),
'Output' => array(
'Region' => $region,
'Bucket' => 'examplebucket-125000000',
'Object' => 'demo.mp3',
),
// 'UserData' => 'xxx',
// 'JobLevel' => '0',
),
// 'CallBack' => '',
// 'CallBackFormat' => '',
// 'CallBackType' => '',
// 'CallBackMqConfig' => array(
// 'MqRegion' => '',
// 'MqMode' => '',
// 'MqName' => '',
// ),
));
// 请求成功
print_r($result);
} catch (\\Exception $e) {
// 请求失败
echo($e);
}

参数说明

Request 中的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Tag
Request
创建任务的 Tag:Tts
String
是
Operation
Request
操作规则
Container
是
CallBackFormat
Request
任务回调格式,JSON 或 XML,默认 XML,优先级高于队列的回调格式
String
否
CallBackType
Request
任务回调类型,Url 或 TDMQ,默认 Url,优先级高于队列的回调类型
String
否
CallBack
Request
任务回调地址,优先级高于队列的回调地址。设置为 no 时,表示队列的回调地址不产生回调
String
否
CallBackMqConfig
Request
任务回调TDMQ配置,当 CallBackType 为 TDMQ 时必填。详情见 CallBackMqConfig
Container
否
Container 类型 Operation 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
TtsTpl
Request.Operation
语音合成参数
Container
否
TemplateId
Request.Operation
模板 ID
String
否
TtsConfig
Request.Operation
语音合成任务参数
Container
是
Output
Request.Operation
结果输出配置
Container
是
UserData
Request.Operation
透传用户信息,可打印的 ASCII 码,长度不超过1024
String
否
JobLevel
Request.Operation
任务优先级,级别限制:0 、1 、2 。级别越大任务优先级越高,默认为0
String
否
注意
优先使用 TemplateId,无 TemplateId 时使用 TtsTpl。
Container 类型 TtsTpl 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Mode
Request.Operation.TtsTpl
同创建语音合成模板接口中的 Request.Mode
String
否
Codec
Request.Operation.TtsTpl
同创建语音合成模板接口中的 Request.Codec
String
否
VoiceType
Request.Operation.TtsTpl
同创建语音合成模板接口中的 Request.VoiceType
String
否
Volume
Request.Operation.TtsTpl
同创建语音合成模板接口中的 Request.Volume
String
否
Speed
Request.Operation.TtsTpl
同创建语音合成模板接口中的 Request.Speed
String
否
Emotion
Request.Operation.TtsTpl
同创建语音合成模板接口中的 Request.Emotion
String
否
Container 类型 TtsConfig 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
InputType
Request.Operation.TtsConfig
输入类型,Url/Text
String
是
Input
Request.Operation.TtsConfig
1. 当 InputType 为 Url 时, 必须是合法的 COS 地址,文件必须是utf-8编码,且大小不超过10M。如果模板中指定的合成方式为同步处理,则文件内容不超过300个utf-8字符;如果模板中指定的合成方式为异步处理,则文件内容不超过10000个utf-8字符
2. 当 InputType为Text 时, 输入必须是utf-8字符, 且不超过300个字符
String
是
Container 类型 Output 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Region
Request.Operation.Output
存储桶的地域
String
是
Bucket
Request.Operation.Output
存储结果的存储桶
String
是
Object
Request.Operation.Output
结果文件名
String
是

返回结果示例

GuzzleHttp\\Command\\Result Object
(
[RequestId] => NjRjYjYNjRjMjIxODBfMzUxNGSIOJOIDAJOIDg=
[ContentType] => application/xml
[ContentLength] => 938
[JobsDetail] => Array
(
[QueueType] => Speeching
[Code] => Success
[Message] =>
[JobId] => jb8cpc7a00f19asf798sd7f89s7f2e646
[Tag] => Tts
[State] => Submitted
[CreationTime] => 2023-08-03T16:14:09+0800
[StartTime] => -
[EndTime] => -
[QueueId] => p0c99c6pc7a00f19asf798sd7f89s7f2e646
[Operation] => Array
(
[TtsTpl] => Array
(
[Codec] => pcm
[Emotion] => arousal
[Mode] => Sync
[Speed] => 200
[VoiceType] => aixiaoxing
[Volume] => 2
)

[UserData] => xxx
[JobLevel] => 0
[TtsConfig] => Array
(
[InputType] => Text
[Input] => 床前明月光,疑是地上霜
)

[Output] => Array
(
[Region] => ap-guangzhou
[Bucket] => examplebucket-1250000000
[Object] => tmp/demo.mp3
)

)

)

[Bucket] => examplebucket-1250000000
[Location] => examplebucket-1250000000.ci.ap-guangzhou.myqcloud.com/jobs
)

查询任务结果

功能说明

查询指定的任务。

方法原型

public Guzzle\\Service\\Resource\\Model describeMediaJob(array $args = array());

请求示例

<?php

require dirname(__FILE__) . '/../vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', //协议头部,默认为 http
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
// 查询指定的任务
$result = $cosClient->describeMediaJob(array(
'Bucket' => 'examplebucket-125000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Key' => '', // jobId
));
// 请求成功
print_r($result);
} catch (\\Exception $e) {
// 请求失败
echo($e);
}

参数说明

Request 中的具体数据描述如下:
参数名称
类型
描述
是否必填
Bucket
String
存储桶名称,格式:BucketName-APPID
是
Key
String
需要查询的任务 ID
是

返回结果示例

GuzzleHttp\\Command\\Result Object
(
[RequestId] => NjRkMNjRjMjIxODBfMzUxNGSIOJOIDAJOIDg=
[ContentType] => application/xml
[ContentLength] => 1836
[Key] => j7380pc7a00f19asf798sd7f89s7f2e646
[Bucket] => examplebucket-1250000000
[Location] => examplebucket-1250000000.ci.ap-guangzhou.myqcloud.com/jobs/j7380pc7a00f19asf798sd7f89s7f2e646
[Response] => Array
(
[JobsDetail] => Array
(
[Code] => Success
[CreationTime] => 2023-08-07T16:07:28+0800
[EndTime] => 2023-08-07T16:07:29+0800
[Input] => Array
(
[BucketId] => examplebucket-1250000000
[Object] => object
[Region] => ap-guangzhou
)

[JobId] => j7380pc7a00f19asf798sd7f89s7f2e646
[Message] =>
[Operation] => Array
(
[JobLevel] => 0
[Output] => Array
(
[Bucket] => examplebucket-1250000000
[Object] => tmp/out_object
[Region] => ap-guangzhou
)

[TemplateId] => t0pc7a00f19asf798sd7f89s7f2e646
[TemplateName] => TemplateName
)

[QueueId] => pc6f4d28f798sd7f89s7f2e646bffb5a
[QueueType] => QueueType
[StartTime] => 2023-08-07T16:07:28+0800
[State] => Success
[Tag] => Tag
)
)
)