LoopToken
音频生成

文字转语音

gpt-4o-mini-tts / tts-1:OpenAI 兼容文字转语音,同步,响应体直接是音频二进制

POST/v1/audio/speech

一次请求直接返回音频二进制内容,适合旁白、播报和语音助手。需要 API Key:Authorization: Bearer sk-lt-...,详见鉴权。

项值
模型gpt-4o-mini-tts(推荐,支持 instructions 和扩展音色)、tts-1
模式同步,响应体即音频
计费按输入 Unicode 字符数,价格以定价页为准

快速开始

curl https://api.vibelab.me/v1/audio/speech \
  -H "Authorization: Bearer $LOOPTOKEN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini-tts",
    "input": "欢迎使用 LoopToken 文字转语音服务。",
    "voice": "coral",
    "instructions": "语气热情、亲切,语速稍快",
    "response_format": "wav"
  }' \
  --output speech.wav
import os
import requests

response = requests.post(
    "https://api.vibelab.me/v1/audio/speech",
    headers={"Authorization": f"Bearer {os.environ['LOOPTOKEN_API_KEY']}"},
    json={
        "model": "gpt-4o-mini-tts",
        "input": "欢迎使用 LoopToken 文字转语音服务。",
        "voice": "coral",
        "instructions": "语气热情、亲切,语速稍快",
        "response_format": "wav",
    },
)
response.raise_for_status()

with open("speech.wav", "wb") as file:
    file.write(response.content)

请求参数

参数类型必填默认说明
modelstring是-gpt-4o-mini-tts 或 tts-1
inputstring是-要合成的文字,最多 4096 个 Unicode 字符(按 Unicode 字符统计,不是 UTF-8 字节数)
voicestring是-两个模型通用:alloy、echo、fable、onyx、nova、shimmer;仅 gpt-4o-mini-tts:ash、ballad、coral、sage、verse、marin、cedar
instructionsstring否-仅 gpt-4o-mini-tts,用自然语言描述语气、情绪、口音或语速风格,最多 4096 个字符;不计入计费字符数。对 tts-1 传入会返回参数错误
response_formatstring否wavwav、opus、aac、flac 或 pcm
speednumber否1.0语速,范围 0.25 到 4.0

不支持的字段会返回参数错误。

响应

成功时返回 HTTP 200 和音频二进制内容,不返回 JSON。请根据请求格式保存响应:

response_format常见 Content-Type建议扩展名
wavaudio/wav.wav
opusaudio/opus.opus
aacaudio/aac.aac
flacaudio/flac.flac
pcmapplication/octet-stream.pcm

计费

gpt-4o-mini-tts 和 tts-1 都按 input 的 Unicode 字符数计费(instructions 不计费),定价页以每千字符展示。请求开始时按确定的字符数预扣,合成成功后结算;失败时自动退款。实际费率以定价页为准。

错误

错误体为 {"error": {"message": "...", "type": "...", "code": "...", "request_id": "..."}},不会混入音频字节,也不返回内部路由或原始错误。通用错误码见错误码。本接口常见错误:

HTTPcode触发场景处理
400 / 422invalid_request_errorJSON、字段、音色、格式、文本长度或语速不合法按 message 修正参数
402insufficient_credits余额不足充值后重试
404model_not_found模型不存在或当前不可用核对 model
429media_concurrency_exceeded用户或 API Key 的媒体并发超限(带 Retry-After)稍后重试
502upstream_error音频服务暂时不可用指数退避重试,已预扣费用会退回
503no_available_channel当前没有可用的音频生成通道指数退避重试

本页内容