Fish Audio Docs
API СсылкаПреобразование текста в речьСинтез речи в реальном времени
Back to site

Синтез речи в реальном времени v1

Поддержка клиентов, использующих замороженный протокол WebSocket Realtime TTS v1.

Realtime TTS v1 — замороженный контракт совместимости. Новые интеграции должны использовать родительский контракт v3; события и поля v1, v2 и v3 не взаимозаменяемы.

Адрес, аутентификация и кодирование

ЭлементЗначение
WebSocketwss://realtime.fishaudio.org/v1/tts/live
Подпротоколrealtime.tts.msgpack.v1
КодированиеБинарные кадры MessagePack
Authorization: Bearer FISHAUDIO_API_KEY
Sec-WebSocket-Protocol: realtime.tts.msgpack.v1

Не помещайте учётные данные в URL или браузерный код.

Поток событий

authenticated → start → ready → text → flush → audio → usage → stop → finish

События клиента: start, text, flush, stop, ping. События сервера: authenticated, ready, audio, usage, pong, warning, finish, error. Аудио находится в audio.data; до stop можно отправить несколько сегментов textflush.

start.request

ПолеПравило
model_idОбязательный публичный UUID голоса/модели; также принимается modelId.
engine_model_idНеобязательно; псевдоним engineModelId.
formatmp3, wav, pcm, opus; по умолчанию mp3.
speed / volume0.5–2 / 0–10.
language1–32 символа.
chunk_lengthЦелое 100–300.
latencynormal или balanced.

Все сообщения — карты MessagePack; неизвестные поля отклоняются. Оплата рассчитывается по каждому принятому сегменту flush. v1 не поддерживает устойчивый повтор или идемпотентность сегментов. Ошибки содержат code, message, retryable. Для новых возможностей перейдите на Realtime TTS v3.