请求参数
Header 参数
Authorizationstring必填API Key,格式为 Bearer <key>。
示例:
Bearer sk-zerofa-xxxContent-Typestring必填示例:
application/jsonBody 参数application/json
modelstring必填TTS 模型,可在下方查看可用模型。
示例:
<tts-model>inputstring必填需要合成的文本,按字符数计费。
示例:
你好,这是 ZeroFA 的语音合成测试。voicestring可选音色名称由模型决定,例如 Qwen-TTS 的 Cherry 或 OpenAI 的 alloy。
示例:
Cherryresponse_formatstring可选输出格式可为 mp3、opus、aac、flac、wav 或 pcm;部分上游固定格式。
示例:
mp3speednumber可选语速,仅部分上游支持。
示例:
1.0计费模型
按输入字符数计费,不按时长或 token。失败请求不扣费。
语音转写(STT)
POST
/v1/audio/transcriptions使用 multipart 上传音频文件并返回转写文本,按音频时长计费。response_format 支持 json、text 和 verbose_json。Paraformer 实时语音识别可使用 paraformer-realtime-v2。
语音转写 · curl
curl https://zerofa.ai/v1/audio/transcriptions \
-H "Authorization: Bearer sk-zerofa-xxx" \
-F "model=paraformer-realtime-v2" \
-F "file=@audio.wav" \
-F "response_format=json"实时语音转写(WebSocket)
GET
/v1/audio/transcriptions/realtime连接后持续发送 PCM16 单声道二进制音频帧,服务端实时返回 transcript.delta 和 transcript.completed;发送 input_audio_buffer.commit 后返回 session.completed。
握手必须携带 Authorization Header。max_duration_seconds 默认 60、最大 600;API Key 会先按最大时长预留额度,结束后按实际秒数结算。浏览器原生 WebSocket 无法设置该 Header,当前建议由业务后端连接。
实时转写 · Python
import json
import time
import websocket
url = (
"wss://zerofa.ai/v1/audio/transcriptions/realtime"
"?model=paraformer-realtime-v2&format=pcm"
"&sample_rate=16000&language=zh&max_duration_seconds=60"
)
ws = websocket.create_connection(
url,
header=["Authorization: Bearer sk-zerofa-xxx"],
timeout=90,
)
print(json.loads(ws.recv())) # session.created
with open("audio.pcm", "rb") as audio:
while chunk := audio.read(3200): # 100ms PCM16 mono 16kHz
ws.send_binary(chunk)
time.sleep(0.1)
ws.send(json.dumps({"type": "input_audio_buffer.commit"}))
while True:
event = json.loads(ws.recv())
print(event)
if event["type"] in {"session.completed", "error"}:
break
ws.close()可用模型
TTS 模型见 模型广场 并筛选语音类型。示例中的 model 是占位符;没有匹配模型时表示 TTS 当前未开放。
请求与响应体
用下面的示例确认请求格式与返回结构。需要在线发起请求时,点击页面顶部“调试”拉起在线运行面板。
curl https://zerofa.ai/v1/audio/speech \
-H "Authorization: Bearer sk-zerofa-xxx" \
-H "Content-Type: application/json" \
-d '{
"model": "<tts-model>",
"input": "你好,这是 ZeroFA 的语音合成测试。",
"voice": "Cherry"
}' \
--output speech.wav响应为二进制音频(如 audio/wav 或 audio/mpeg),不是 JSON。请直接写入文件或播放。