文档导航
开发集成

语音生成与转写

调用 TTS 和转写模型,获取音频或 OSS 签名链接,并了解字符、分钟和 Token 计费。

本页目录
  1. 模型与计费
  2. 文字转语音
  3. 语音转文字
  4. 错误处理

语音专项包含文字转语音(TTS)和语音转文字(STT)。 使用本站统一接口和 ZCloudAPI Key,不需要填写供应商地址或供应商密钥。

模型与计费

在控制台创建「语音专项」分组的 Key,也可以使用包含语音专项的 AUTO Key。模型白名单和自定义 AUTO 顺序仍然有效。

模型名称 功能 语音专项 1.0× 价格
openai/gpt-4o-mini-tts 文字转语音 ¥8.55 / 百万输入字符
openai/gpt-transcribe 语音转文字 ¥0.052 / 音频分钟
openai/gpt-4o-mini-transcribe 语音转文字 输入 ¥14.45、输出 ¥57.77 / 百万 Token

以上为 2026-10-23 配置,实际价格以模型广场及调用分组为准。平台额度按人民币 1:1 展示,不是美元充值汇率。

  • TTS 按输入 Unicode 字符计数,包含空格和标点;字符与 Token 不是一回事。
  • GPT Transcribe 按音频时长计费,向上取整到秒,再按每分钟价格折算,不是每次至少收一分钟。
  • Mini Transcribe 按实际输入、输出 Token 计费,不按录音分钟统一收费。

文字转语音

先设置环境变量,密钥只放在本机环境或服务端 Secret 中:

export ZCLOUD_API_KEY="sk-你的-ZCloudAPI-Key"
export ZCLOUD_BASE_URL="https://api.zcloudapi.com/v1"

默认直接返回 MP3 音频:

curl --fail-with-body "$ZCLOUD_BASE_URL/audio/speech" \
  -H "Authorization: Bearer $ZCLOUD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini-tts",
    "input": "欢迎使用语音服务,明天上午九点开会。",
    "voice": "alloy",
    "response_format": "mp3"
  }' \
  --output speech.mp3

如果需要下载链接,增加本站参数 output_format: "url":

curl --fail-with-body "$ZCLOUD_BASE_URL/audio/speech" \
  -H "Authorization: Bearer $ZCLOUD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini-tts",
    "input": "欢迎使用语音服务。",
    "voice": "alloy",
    "response_format": "mp3",
    "output_format": "url"
  }'

返回:

{
  "url": "https://<OSS域名>/<对象路径>?<签名参数>",
  "expires_at": 1790000000,
  "format": "mp3"
}

示例时间仅说明字段类型。expires_at 是实际到期 Unix 秒时间戳,当前签名链接有效期为 1 小时。文件私有、长期保存;链接到期不代表文件删除。下载签名 URL 时不要发送 ZCloudAPI Key。本轮没有提供自助刷新签名接口,请及时下载需要的文件。

Client Client ZCloudAPI ZCloudAPI AudioProvider AudioProvider OSS OSS POST /v1/audio/speech 生成音频 音频 URL 或文件 安全下载并转存私有音频 返回音频文件或签名 URL 下载音频,不附带 API Key

response_format 表示音频编码,output_format 表示交付方式,两者不要混淆。默认文件模式也会先转存,并在响应头提供 X-Audio-URL、X-Audio-URL-Expires-At。

当前 AIMLAPI TTS 接入为非流式;不要传 stream_format: "sse"。MP3 已完成真实验收,其他音色、编码请先小规模测试。转存失败会返回错误,不会再次自动生成音频,也不会把上游临时 URL 当作 OSS 链接返回。

语音转文字

上传音频文件,返回 JSON 文字:

curl --fail-with-body "$ZCLOUD_BASE_URL/audio/transcriptions" \
  -H "Authorization: Bearer $ZCLOUD_API_KEY" \
  -F model=openai/gpt-transcribe \
  -F file=@speech.mp3 \
  -F language=zh \
  -F response_format=json

另一款只需改为 model=openai/gpt-4o-mini-transcribe。示例响应:

{
  "text": "欢迎使用语音服务。",
  "usage": {
    "seconds": 3,
    "cost": 0.000225
  }
}

不同模型的 Usage 字段不同。供应商返回的 usage.cost 不代表本站钱包实际扣费,本站以配置价格、分组倍率及实际计量结算,最终查看使用日志。

上传 MP3/WAV 等供应商支持格式,建议不超过 25 MB;长录音先分段。此接口不是实时语音通话,不保证流式转写能力。转写上传的原始录音没有因本次功能而新增永久 OSS 保存策略。

错误处理

  • 400:检查模型名称、文件格式、参数和流式设置。
  • 401/403:检查 Key、分组权限、模型白名单和额度。
  • 429:降低并发,等待后再试。
  • 502/超时:保留请求 ID,检查供应商或转存链路;不要无节制重复生成。

公开使用前,单轮 20 个混合短音频请求已测试通过;这不是持续压测或长音频 SLA。