BXINLE API

语音合成(TTS)

OpenAI 兼容的文本转语音接口。根据 model 路由到 OpenAI 兼容 TTS 或阿里 Qwen-TTS 上游,并返回二进制音频。

POSThttps://bxinle.com/v1/audio/speech

请求参数

Header 参数
Authorizationstring必填
API Key,格式为 Bearer <key>。
示例:Bearer sk-zerofa-xxx
Content-Typestring必填
示例:application/json
Body 参数application/json
modelstring必填
TTS 模型,可在下方查看可用模型。
示例:<tts-model>
inputstring必填
需要合成的文本,按字符数计费。
示例:你好,这是 BXINLE 的语音合成测试。
voicestring可选
音色名称由模型决定,例如 Qwen-TTS 的 Cherry 或 OpenAI 的 alloy。
示例:Cherry
response_formatstring可选
输出格式可为 mp3、opus、aac、flac、wav 或 pcm;部分上游固定格式。
示例:mp3
speednumber可选
语速,仅部分上游支持。
示例:1.0

计费模型

按输入字符数计费,不按时长或 token。失败请求不扣费。

语音转写(STT)

POST/v1/audio/transcriptions

使用 multipart 上传音频文件并返回转写文本,按音频时长计费。response_format 支持 json、text 和 verbose_json。Paraformer 实时语音识别可使用 paraformer-realtime-v2。

语音转写 · curl
curl https://bxinle.com/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://bxinle.com/v1/audio/speech \
  -H "Authorization: Bearer sk-zerofa-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<tts-model>",
    "input": "你好,这是 BXINLE 的语音合成测试。",
    "voice": "Cherry"
  }' \
  --output speech.wav
响应为二进制音频(如 audio/wav 或 audio/mpeg),不是 JSON。请直接写入文件或播放。