长文本语音合成请求

最近更新时间:2024-08-21 02:26:55

我的收藏

1. 接口描述

接口请求域名: tts.tencentcloudapi.com 。

本接口服务对10万字符以内的文本进行语音合成,异步返回音频结果。满足一次性合成较长文本的客户需求,如阅读播报、新闻媒体等场景。

  • 支持音频格式:mp3,wav,pcm
  • 支持音频采样率:16000 Hz, 8000 Hz
  • 支持中文普通话、英文、中英文混读、粤语合成
  • 支持语速、音量设置
  • 支持回调或轮询的方式获取结果,结果获取请参考 长文本语音合成结果查询。
  • 提交长文本语音合成请求后,合成结果在3小时内完成,音频文件在服务端可保存24小时
  • 长文本合成支持 SSML,语法详见 SSML 标记语言,使用时需满足如下使用规范:

  • 使用 SSML 标签,需置于 speak 闭合标签内部;
  • 合成文本可包含多组 speak 闭合标签,且无数量限制;
  • 每个 speak 闭合标签内部,字符数不超过 150 字(标签字符本身不计算在内);
  • 每个 speak 闭合标签内部,使用 break 标签数目最大为 10 个。如需要使用更多,可拆解到多个 speak 标签中;
  • 默认接口请求频率限制:20次/秒。

    推荐使用 API Explorer
    点击调试
    API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

    2. 输入参数

    以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

    参数名称 必选 类型 描述
    Action String 公共参数,本接口取值:CreateTtsTask。
    Version String 公共参数,本接口取值:2019-08-23。
    Region String 公共参数,本接口不需要传递此参数。
    Text String 合成语音的源文本,按UTF-8编码统一计算,最多支持10万字符
    示例值:你好
    Volume Float 音量大小,范围[-10,10],对应音量大小。默认为0,代表正常音量,值越大音量越高。
    示例值:1
    Speed Float 语速,范围:[-2,2],分别对应不同语速:
  • -2代表0.6倍
  • -1代表0.8倍
  • 0代表1.0倍(默认)
  • 1代表1.2倍
  • 2代表1.5倍
  • 如果需要更细化的语速,可以保留小数点后 2 位,例如0.5/1.25/2.81等。
    参数值与实际语速转换,可参考代码示例
    示例值:1
    ProjectId Integer 项目id,用户自定义,默认为0。
    示例值:0
    ModelType Integer 模型类型,1-默认模型。
    示例值:1
    VoiceType Integer 音色 ID,包括标准音色与精品音色,精品音色拟真度更高,价格不同于标准音色,请参见购买指南。完整的音色 ID 列表请参见音色列表
    示例值:101008
    PrimaryLanguage Integer 主语言类型:
  • 1-中文(默认)
  • 2-英文
  • 3-日文

  • 示例值:1
    SampleRate Integer 音频采样率:
  • 16000:16k(默认)
  • 8000:8k

  • 示例值:16000
    Codec String 返回音频格式,可取值:mp3(默认),wav,pcm
    示例值:wav
    CallbackUrl String 回调 URL,用户自行搭建的用于接收识别结果的服务URL。如果用户使用轮询方式获取识别结果,则无需提交该参数。回调说明
    示例值:http://www.callback.com/tts_call
    EnableSubtitle Boolean 是否开启时间戳功能,默认为false。
    示例值:true
    VoiceoverDialogueSplit Boolean 旁白与对白文本解析,分别合成相应风格(仅适用于旁对白音色10510000、100510000),默认 false
    示例值:false
    EmotionCategory String 控制合成音频的情感,仅支持多情感音色使用。取值: neutral(中性)、sad(悲伤)、happy(高兴)、angry(生气)、fear(恐惧)、news(新闻)、story(故事)、radio(广播)、poetry(诗歌)、call(客服)、sajiao(撒娇)、disgusted(厌恶)、amaze(震惊)、peaceful(平静)、exciting(兴奋)、aojiao(傲娇)、jieshuo(解说)
    示例值:neutral
    EmotionIntensity Integer 控制合成音频情感程度,取值范围为[50,200],默认为100;只有EmotionCategory不为空时生效。
    示例值:100

    3. 输出参数

    参数名称 类型 描述
    Data CreateTtsTaskRespData 任务 id
    示例值:"gz-0d7faf5f-9165-47b5-93b2-bb98ca340755"
    RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

    4. 示例

    示例1 API调用

    长文本语音合成请求

    输入示例

    POST / HTTP/1.1
    Host: tts.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateTtsTask
    <公共请求参数>
    
    {
        "Text": "欢迎使用腾讯云长文本语音合成",
        "Volume": 0,
        "Speed": 0,
        "ProjectId": 0,
        "ModelType": 1,
        "VoiceType": 301001,
        "PrimaryLanguage": 1,
        "SampleRate": 16000,
        "Codec": "mp3",
        "CallbackUrl": "http://www.callback.com/tts_call",
        "EnableSubtitle": true,
        "VoiceoverDialogueSplit": false,
        "EmotionCategory": "neutral",
        "EmotionIntensity": 100
    }

    输出示例

    {
        "Response": {
            "RequestId": "fabc2d63-a1b7-40a0-b4c3-640f78974919",
            "Data": {
                "TaskId": "gz-5faa7bc8-6e78-46b9-90ea-5ebba32aa04c"
            }
        }
    }

    示例2 成功示例

    长文本语音合成请求

    输入示例

    POST / HTTP/1.1
    Host: tts.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateTtsTask
    <公共请求参数>
    
    {
        "Text": "字符串",
        "ProjectId": 1,
        "ModelType": 1,
        "Volume": 0,
        "Codec": "mp3",
        "VoiceType": 101001,
        "SampleRate": 16000,
        "PrimaryLanguage": 1,
        "Speed": 0
    }

    输出示例

    {
        "Response": {
            "RequestId": "41a54cd2-3941-4a85-8b9a-f1e8b0000be5",
            "Data": {
                "TaskId": "gz-53c9e73a-d8ec-4792-bc9e-e982115623a5"
            }
        }
    }

    5. 开发者资源

    腾讯云 API 平台

    腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

    API Inspector

    用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

    SDK

    云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

    命令行工具

    6. 错误码

    以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

    错误码 描述
    AuthFailure.InvalidAuthorization 授权无效。
    InternalError.ErrorGetRoute 路由错误。
    InternalError.FailAccessDatabase 数据库存取失败。
    InternalError.InternalError 内部错误。
    InvalidParameter.InvalidText 请求文本含有非法字符。
    InvalidParameter.Status status 不合法。
    InvalidParameterValue.AppId AppId非法,请参考AppId参数说明。
    InvalidParameterValue.AppIdNotRegistered APPID未注册,请在语音合成主页 https://console.cloud.tencent.com/tts 开通使用。
    InvalidParameterValue.CallbackUrl CallbackUrl非法或不可访问。
    InvalidParameterValue.Codec Codec非法,请参考Codec参数说明。
    InvalidParameterValue.ErrorCardinalFormat ssml的say-as标签属性为cardinal、currency、address时,数字部分非有效参数,仅允许包含数字、“,”、“.”和空格。
    InvalidParameterValue.InvalidText 请求文本含有非法字符,或请求文本没有有效字符。
    InvalidParameterValue.MissParameters 缺少参数。
    InvalidParameterValue.ModelType ModelType非法。
    InvalidParameterValue.PrimaryLanguage PrimaryLanguage非法,请参考PrimaryLanguage参数说明。
    InvalidParameterValue.SampleRate SampleRate非法,请参考SampleRate参数说明。
    InvalidParameterValue.Speed Speed非法,请参考Speed参数说明。
    InvalidParameterValue.Text 文本缺失。
    InvalidParameterValue.TextEmpty Text为空。
    InvalidParameterValue.TextNotUtf8 文本不是 UTF8 格式。
    InvalidParameterValue.TextSsmlParseError Text参数SSML语法错误,请参考SSML文档说明。
    InvalidParameterValue.TextTooLong 合成文本字符过长。
    InvalidParameterValue.Type Type 类型非法。
    InvalidParameterValue.VoiceType VoiceType非法,请参考VoiceType参数说明。
    InvalidParameterValue.Volume Volume非法,请参考Volume参数说明。
    LimitExceeded.AccessLimit 请求超过限制频率。
    UnsupportedOperation 操作不支持。
    UnsupportedOperation.AccountArrears 欠费。
    UnsupportedOperation.AuthorizationExpired 鉴权已过期。
    UnsupportedOperation.AuthorizationFailed 鉴权失败。
    UnsupportedOperation.ForbiddenUse 服务禁止使用。
    UnsupportedOperation.NoBanlance 没有余额。
    UnsupportedOperation.NoFreeAccount 免费资源包已用尽,请购买资源包或开通后付费。
    UnsupportedOperation.PkgExhausted 资源包余量已用尽。
    UnsupportedOperation.ServerAlreadyOpen 服务器已打开。
    UnsupportedOperation.ServerDestoryed 服务已销毁。
    UnsupportedOperation.ServerNotOpen 服务未开通使用。
    UnsupportedOperation.ServerStopped 服务已停止使用。
    UnsupportedOperation.TextTooLong 文本过长,请参考请求参数Text的说明。