API СсылкаПреобразование текста в речьСинхронный синтез речи
Синхронный синтез речи v2
HTTP v2 для совместимости существующих клиентов.
V2 поддерживается только для существующих клиентов. Новые интеграции используют v3.
Endpoint
POST /api/open/v2/speech/ttsПолный URL:
https://fishaudio.org/api/open/v2/speech/ttsАутентификация и заголовки
Authorization: Bearer FISHAUDIO_API_KEY
Content-Type: application/json
X-Request-Id: YOUR_STABLE_REQUEST_IDПоля запроса
| field | type | required | constraints |
|---|---|---|---|
text | string | yes | 1–10,000 |
voiceId | string | yes | must support modelId |
modelId | string | no | public model ID |
format | string | no | mp3, wav, ogg; default mp3 |
speed | number | no | 0.5–2; default 1 |
volume | number | no | -20–20; default 0 |
pitch | number | no | -12–12 |
stability | number | no | 0.5–1.5 |
similarity | number | no | 0.5–1.5 |
language | string | no | 1–64 characters in v3 |
emotion | string | no | 1–64 characters in v3 |
instruction | string | no | up to 1,600 characters |
textNormalization | boolean | no | structured-text normalization |
V2 also accepts legacy engineModelId, version, qwenModel, and minimaxEmotion fields. Do not use them in new clients.
curl
curl "https://fishaudio.org/api/open/v2/speech/tts" \
-H "Authorization: Bearer $FISHAUDIO_API_KEY" \
-H "Content-Type: application/json" \
-H "X-Request-Id: legacy-tts-001" \
-d '{"text":"Hello","voiceId":"00a1b221-6137-4b73-ad62-b0cbce134167","modelId":"fishaudio-s21pro-flash","format":"mp3"}' --output speech.mp3Успешный ответ
Успех возвращает аудиобайты. Сначала проверяйте HTTP-статус и Content-Type; ошибки возвращаются в JSON.
Ошибки и повторы
400 неверный запрос; 401 неверный ключ; 402 недостаточно квоты; 404 не найдено; 409 конфликт идемпотентности; 413 слишком большой; 429 лимит; 500 сбой.
Migration
Клиенты v1/v2 сохраняют совместимость. Новые интеграции используют v3. Migration guide.