Fish Audio 文档
API 文档文字转语音

Fish Audio 兼容 TTS

使用 fish.audio 风格的 POST /v1/tts 契约接入 Fish Audio API,适配 RikkaHub 等客户端。

Fish Audio 兼容 TTS

当客户端硬编码了 fish.audio 的 POST /v1/tts 请求形态时,请使用本接口。它会把请求映射到 Fish Audio Open TTS 流水线,并继续使用你的 Fish Audio API Key 完成鉴权、额度与计费。

若要接入原生 Open API,优先使用 同步 HTTP。若客户端走 OpenAI POST /v1/audio/speech,请使用 OpenAI 兼容 TTS

接口

POST /v1/tts
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
model: s2.1-pro

完整 URL:

https://fishaudio.org/v1/tts

如果第三方应用要求填写类似 https://api.fish.audio 的 Fish Audio API Base,请改成 https://fishaudio.org,路径仍保持 /v1/tts

请把 API Key 放在客户端的受保护凭据字段中。建议为每个应用单独创建 Key,便于监控与吊销。

请求

{
  "text": "Hello from Fish Audio.",
  "reference_id": "00a1b221-6137-4b73-ad62-b0cbce134167",
  "format": "mp3",
  "temperature": 0.7,
  "top_p": 0.7,
  "normalize": true,
  "prosody": {
    "speed": 1
  }
}
字段 / 请求头类型必填说明
model 请求头stringfish.audio 引擎标签,例如 s2.1-pros2.1-pro-flashs2-pro
textstring待合成文本
reference_idstringFish Audio 音色 ID;服务端不会静默回落默认音色
formatstringmp3wavpcm;不支持的值(如 opus)会降级为 mp3
prosody.speednumber语速,范围 0.52;也支持顶层 speed
temperaturenumber映射为 Fish Audio stability(0.51.5
top_pnumber映射为 Fish Audio similarity(0.51.5
normalizeboolean映射为文本规范化
chunk_lengthnumber仅为兼容客户端而接受,服务端忽略
latencystring仅为兼容客户端而接受,服务端忽略

model 请求头映射

model 请求头Fish Audio 引擎模型 ID
s2.1-profishaudio-s21pro
s2.1-pro-freefishaudio-s21pro-free
s2.1-flashfishaudio-s21-flash
s2.1-pro-flashfishaudio-s21pro-flash
s2-profishaudio-s2pro
s1 / s1-minifishaudio-s1
speech-1.5 / 1.6fishaudio-s1

未知请求头会被忽略,并使用服务端默认引擎。你也可以直接在请求头中发送原生引擎 ID,例如 fishaudio-s21pro-flash

音色 ID 可通过 GET /api/open/v1/voices 获取。联调时可先用公共系统音色 00a1b221-6137-4b73-ad62-b0cbce134167

响应

成功时返回二进制音频:

HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-OpenAPI-Quota-Remaining: 987988
X-OpenAPI-Credits-Used: 12

<binary audio data>

错误为 JSON,鉴权、额度与生成行为与 同步 HTTP 一致。

curl 示例

curl -X POST "https://fishaudio.org/v1/tts" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "model: s2.1-pro" \
  -d '{
    "text": "Hello from Fish Audio.",
    "reference_id": "00a1b221-6137-4b73-ad62-b0cbce134167",
    "format": "mp3",
    "prosody": { "speed": 1 }
  }' \
  --output speech.mp3

接入 RikkaHub

API Key、Base URL、模型与音色的配置步骤见 RikkaHub 接入指南

错误

状态含义处理建议
400文本无效、缺少 reference_id 或 JSON 错误修正请求后再试
401API Key 缺失或无效检查或更换集成 Key
402API 额度不足充值后再生成
429触发频率限制指数退避后重试
500TTS 生成失败仅在了解重复计费风险后重试