🎁 新人 免费注册,送 10 次调用,最高 $1,免绑卡。

文本转语音

POST /v1/audio/speech

用一个 OpenAI 兼容端点把文本转成自然语音。发送 JSON,直接拿回音频字节 —— 换供应商只需改 model。全程不落盘:音频直接流式返回给你。

示例请求

curl https://synthorai.io/v1/audio/speech \
  -H "Authorization: Bearer $SYNTHORAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-1",
    "input": "Hello from Synthorai.",
    "voice": "alloy"
  }' \
  --output speech.mp3

Python (OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    api_key="$SYNTHORAI_API_KEY",
    base_url="https://synthorai.io/v1",
)

with client.audio.speech.with_streaming_response.create(
    model="tts-1",
    voice="alloy",
    input="Hello from Synthorai.",
) as response:
    response.stream_to_file("speech.mp3")

请求体

参数 类型 说明
model* string 模型 ID。可选 tts-1tts-1-hdseed-tts-2.0
input* string 要合成的文本。最多 4096 个字符。
voice string 使用的音色。默认 alloy。详见下方「音色」。
response_format string 音频封装格式:mp3(默认)、opuswavpcm
speed number 语速,0.25–4.0。默认 1.0。

支持的模型

该选哪个?

你需要 推荐模型
最便宜,足够大多数产品语音场景 google-tts-standard
中文内容为主,或需要更多音色可选 qwen3-tts-instruct-flash seed-tts-2.0
日常产品语音,在音质与成本之间取平衡 tts-1 google-tts-neural2
表现力最好 —— 旁白、陪伴设备、品牌音色 tts-1-hd google-tts-chirp3-hd
模型 价格 适合场景
google-tts-standard $4 / 1M chars 成本主导的大批量通知与提示音
qwen3-tts-instruct-flash $11.50 / 1M chars 中文与多语种内容;上游回传计费字符数
tts-1 $15 / 1M chars 常规产品语音、提示音、通知
google-tts-neural2 $16 / 1M chars 多语种的自然日常语音
tts-1-hd $30 / 1M chars 旁白、营销内容,以及用户会听较久的场景
seed-tts-2.0 $30 / 1M chars 中文与多语种内容;180+ 音色
google-tts-chirp3-hd $30 / 1M chars Google 最新、表现力最强的音色

有三个模型同为 $30 —— 它们的差别在音色气质与语种覆盖,而不在价格。建议用你自己的文案实测对比后再定。

换供应商只需要改一行。 这里的每个模型都使用完全相同的请求与响应结构。底层供应商差异极大(鉴权方式、流式格式、音色命名各不相同)—— 网关把这些差异吸收掉,你只需要改 model.

# Same request, different provider — only the model name changes.
-d '{"model": "tts-1",        "input": "...", "voice": "alloy"}'
-d '{"model": "seed-tts-2.0", "input": "...", "voice": "alloy"}'

音色

OpenAI 模型支持这些标准音色: alloy, echo, fable, onyx, nova, shimmer.

对于 seed-tts-2.0 ,同样的六个名字可用(会映射到相近音色);你也可以直接传 BytePlus 原生音色 ID 获得完全控制 —— 例如 zh_female_cancan_uranus_bigtts. 完整的 180+ 原生音色清单见 BytePlus 音色目录。

对于 qwen3-tts-instruct-flash ,同样的六个名字可用,也可以直接传 Qwen 原生音色,例如 Cherry, Ethan, Nofish, Jada.

Google 的音色与价格档位绑定。 每个 Google 模型对应一个档位,而档位就写在音色名字里。如果你直接传原生音色 id,例如 en-US-Neural2-C ,就必须用与之匹配的模型 —— 该例中是 google-tts-neural2。跨档位的音色会被拒绝(502),而不是按错误的价格静默计费。

音频格式

response_format 选择封装格式。默认是 mp3: mp3, opus, wav, pcm.

并非每家供应商都支持所有格式;不支持的取值会回落到 MP3,而不是报错。

计费

输入字符计费,采用供应商官方刊例价 —— 不加价。1 个字符 = 1 个汉字 = 1 个字母 = 1 个标点 = 1 个空格。请求失败不收费。

返回的音频不单独计量;只按你发送的文本计费。

限制

  • 单次请求最多 4096 个字符。超长输入会在扣费前被拒绝 —— 请在客户端切分后拼接音频。
  • 语速由 speed 控制(0.25–4.0,默认 1.0)。超出供应商范围的取值会被夹紧,而不是报错。

错误

响应 说明
400 输入为空,或超过 4096 个字符。
401 API key 缺失或无效。
402 配额不足。
502 该模型在你的账号下不可用,或上游供应商失败。不计费。
503 当前没有渠道提供该模型。