语音合成

声音克隆

对口型视频

其他

语音合成 — HTTP v2

通过 HTTP 接口,使用音色 ID 与可选引擎参数合成语音。

语音合成(HTTP v2)

POST /api/open/v2/speech/tts。请求体为 JSON,包含待合成文本、音色 ID,以及可选的引擎与合成参数。鉴权使用 Authorization: Bearer,也可在 JSON 中附带 token。

接口地址

POST /api/open/v2/speech/tts

请求头

Content-Type
stringheaderrequired
application/json
Authorization
stringheaderrequired
Bearer <token> (API Key)

请求参数

application/json
voiceId
stringrequired
音色 ID。
modelId
stringoptional
引擎 ID。
可选项:fishaudio-s2profishaudio-s1minimax-2.8-turbominimax-2.8-hdminimax-2.6-turbominimax-2.6-hdqwen3-tts-flash
text
stringrequired
待合成文本。
format
stringoptionaldefault: mp3
输出音频格式。
可选项:mp3wavogg
speed
numberoptionaldefault: 1
语速倍速(0.5-2.0)。
volume
numberoptionaldefault: 0
输出音量(-20~20)。
stability
numberoptional
稳定性/表现力(0.5-1.5;仅 Fish Audio 引擎支持)。
similarity
numberoptional
相似度(0.5-1.5;仅 Fish Audio 引擎支持)。
pitch
numberoptional
音调(半音,-12~12;仅 MiniMax / Qwen 引擎支持)。
language
stringoptional
语言提示/覆盖。
emotion
stringoptional
说话情绪(仅 MiniMax 引擎支持)。
可选项:happysadangryfearfuldisgustedsurprisedcalm
token
string // 可选,已使用 Authorization: Bearer 时可省略
API token(已用 Authorization 时可省略)。

返回数据

// 成功响应 - 200
Content-Type: audio/mpeg (or audio/wav / audio/ogg depending on format)
<二进制音频数据>

// 响应中可能包含与本次用量、剩余额度相关的响应头。

// 错误响应
{
  "code": string,
  "message": string,
  "requestId"?: string
}

CURL 示例

curl -X POST https://fishaudio.net/api/open/v2/speech/tts \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
    "voiceId": "00a1b221-6137-4b73-ad62-b0cbce134167",
    "modelId": "fishaudio-s2pro",
    "text": "Hello, world.",
    "format": "wav",
    "speed": 1,
    "volume": 0
  }' \
  --output output.wav

在线调试

状态码说明

状态码说明:
200 OK                  - 请求成功
400 Bad Request         - 请求参数错误
401 Unauthorized        - API Token 无效
403 Forbidden          - 禁止访问
404 Not Found          - 资源不存在
413 Payload Too Large  - 上传文件过大
429 Too Many Requests  - 请求频率超限/积分不足
500 Server Error       - 服务器内部错误

错误响应格式:
{
  "error": string,      // 错误信息
  "details": string,    // 详细错误信息(可选)
  "code": string       // 错误代码(可选)
}