微软 TTS 作为企业级 AI 语音服务,凭借高拟真、强稳定、全球化的优势,广泛应用于短视频配音、智能播报、教育培训、工具集成等各类场景。本文为你完整整理Microsoft TTS API 对接规范,包含接口说明、参数配置、调用示例、错误处理与常见问题,一站式完成语音合成接入。

微软Microsoft TTS API对接文档 1


一、产品优势

相比微软官方 Azure 语音合成 API,本接口做了大量体验优化,更适合中小开发者与企业使用:

  • 低成本:10 元可生成 50 万字符,性价比更高
  • 易接入:统一请求格式,无需复杂配置
  • 高兼容:支持文本 / SSML 双模式,多音色多风格
  • 稳定输出:直接返回音频二进制,方便前端 / 后端集成
  • 精准计费:按字符精确计费,会员享免费额度与折扣

二、接口概述

Microsoft TTS API 提供标准化语音合成能力,支持调节语速、音量、音调、情感风格,支持 SSML 精细控制停顿、语气、发音结构,满足专业配音需求。

核心特性

  • 支持普通文本与 SSML 两种输入方式
  • 多语言、多音色、多角色可选
  • 可自定义语速、音量、音调、说话风格
  • 计费精确到字符(中文 2 字符 / 其他 1 字符)
  • 会员享免费额度与专属折扣
  • 直接返回 MP3/WAV 二进制音频数据

三、接口信息

  • 请求方式:POST
  • 接口地址:https://www.jiaozitts.com/api/v1/microsoft-tts

认证方式

所有请求需在请求头携带 Token 鉴权:

Authorization: Bearer {your_api_key}
Content-Type: application/json

四、请求参数

1. 基础参数(二选一)

参数名 类型 必填 说明
text string 普通文本内容
ssml string SSML 格式文本

2. 语音参数

参数名 类型 必填 默认值 说明
voice string zh-CN-XiaoxiaoNeural 音色标识
language string zh-CN 语言代码
rate string/int 0 语速:-100~200 或 ±x%
volume string/int 0 音量:0~100
pitch string/int 0 音调:-100~100 或 ±x%
style string general 说话风格
role string general 角色风格
styledegree float 1 情感强度:0.1~2
kbitrate string audio-16khz-32kbitrate-mono-mp3 音频码率

五、常用音色列表(中文)

音色标识 说明
zh-CN-XiaoxiaoNeural 晓晓(女声)
zh-CN-YunxiNeural 云希(男声)
zh-CN-YunyangNeural 云扬(男声)
zh-CN-XiaohanNeural 晓涵(女声)
zh-CN-XiaomengNeural 晓梦(女声)
zh-CN-XiaoxuanNeural 晓萱(女声)
zh-CN-YunhaoNeural 云皓(男声)
zh-CN-YunyeNeural 云野(男声)

六、支持音频码率

码率值 说明
audio-16khz-32kbitrate-mono-mp3 16kHz 32kbps MP3(默认)
audio-16khz-64kbitrate-mono-mp3 16kHz 64kbps MP3
audio-16khz-128kbitrate-mono-mp3 16kHz 128kbps MP3
audio-24khz-48kbitrate-mono-mp3 24kHz 48kbps MP3
audio-24khz-96kbitrate-mono-mp3 24kHz 96kbps MP3
audio-24khz-160kbitrate-mono-mp3 24kHz 160kbps MP3

七、响应说明

1. 成功响应(音频)

接口直接返回二进制音频数据,响应头包含:

  • Content-Type: audio/mpeg
  • X-Characters: 本次合成字符数
  • X-Cost: 本次消耗费用

2. 成功响应(JSON)

批量任务场景返回:

{
  "code": 200,
  "message": "成功",
  "data": {}
}

3. 错误响应

{
  "code": 400/401/403/500,
  "error": "错误码",
  "message": "错误描述"
}

八、错误码说明

HTTP 状态码 错误码 说明
400 method_not_allowed 请求方法错误,请用 POST
400 empty_text 文本 / SSML 不能为空
400 invalid_ssml SSML 格式错误
401 empty_key 未携带 API Key
401 invalid_key API Key 无效
403 insufficient_balance 余额不足
500 api_error 接口服务异常
500 parse_error 响应解析失败
500 save_failed 音频保存失败

九、代码示例

1. PHP 文本合成示例

function synthesizeText($text, $apiKey, $outputPath) {
    $apiUrl = 'https://www.jiaozitts.com/api/v1/microsoft-tts';
    $params = [
        'text' => $text,
        'voice' => 'zh-CN-XiaoxiaoNeural',
        'rate' => 0,
        'volume' => 0,
        'pitch' => 0,
        'kbitrate' => 'audio-16khz-32kbitrate-mono-mp3'
    ];

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $apiUrl);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json',
        'Authorization: Bearer ' . $apiKey
    ]);

    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $headerSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
    curl_close($ch);

    $headers = substr($response, 0, $headerSize);
    $body = substr($response, $headerSize);

    if ($httpCode !== 200) {
        $error = json_decode($body, true);
        throw new Exception($error['message'] ?? '请求失败');
    }
    file_put_contents($outputPath, $body);
    return $outputPath;
}

// 使用
synthesizeText('欢迎使用微软语音合成', '你的API Key', 'output.mp3');

2. PHP SSML 合成示例

function synthesizeSSML($apiKey, $outputPath) {
    $ssml = '<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="http://www.w3.org/2001/mstts" xml:lang="zh-CN">
  <voice name="zh-CN-XiaoxiaoNeural">
    <prosody rate="+10%" pitch="+5%">欢迎使用Microsoft SSML语音合成</prosody>
  </voice>
</speak>';

    $apiUrl = 'https://www.jiaozitts.com/api/v1/microsoft-tts';
    $params = ['ssml' => $ssml];

    // 请求逻辑同上
}

十、常见问题(FAQ)

  1. 如何获取 API Key?
    登录会员中心 → 进入 API 密钥 → 创建并管理密钥。
  2. 字符如何计费?
    中文字符计 2 个,英文 / 数字 / 符号计 1 个。
  3. 会员有什么优惠?
    VIP/SVIP 享每月免费字符额度,超出部分享折扣。
  4. 支持哪些格式?
    主流支持 MP3,同时支持 WAV、OGG 等(通过码率参数切换)。
  5. SSML 怎么用?
    使用 ssml 参数传入标准 SSML 文本,支持停顿、语气、语速精细控制。
  6. 接口超时时间?
    60 秒。
  7. 如何测试接口?
    使用官方测试页面,输入 API Key 即可在线调试。
  8. 返回音频可直接播放吗?
    可以,返回标准二进制音频,支持浏览器直接播放与本地保存。

十一、适用场景

  • 短视频配音、自媒体解说
  • 有声阅读、课件播报
  • 智能硬件、APP 语音提示
  • 客服系统、机器人播报
  • 工具软件、网站语音集成
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。