微软 TTS 作为企业级 AI 语音服务,凭借高拟真、强稳定、全球化的优势,广泛应用于短视频配音、智能播报、教育培训、工具集成等各类场景。本文为你完整整理Microsoft TTS API 对接规范,包含接口说明、参数配置、调用示例、错误处理与常见问题,一站式完成语音合成接入。
一、产品优势
相比微软官方 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)
- 如何获取 API Key?
登录会员中心 → 进入 API 密钥 → 创建并管理密钥。 - 字符如何计费?
中文字符计 2 个,英文 / 数字 / 符号计 1 个。 - 会员有什么优惠?
VIP/SVIP 享每月免费字符额度,超出部分享折扣。 - 支持哪些格式?
主流支持 MP3,同时支持 WAV、OGG 等(通过码率参数切换)。 - SSML 怎么用?
使用 ssml 参数传入标准 SSML 文本,支持停顿、语气、语速精细控制。 - 接口超时时间?
60 秒。 - 如何测试接口?
使用官方测试页面,输入 API Key 即可在线调试。 - 返回音频可直接播放吗?
可以,返回标准二进制音频,支持浏览器直接播放与本地保存。
十一、适用场景
- 短视频配音、自媒体解说
- 有声阅读、课件播报
- 智能硬件、APP 语音提示
- 客服系统、机器人播报
- 工具软件、网站语音集成
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。


评论(0)