callback_url), структура тела запроса соответствует upstream. Адрес: POST https://api.acedata.cloud/fish/tts.
Процесс подачи заявки
Чтобы использовать Fish TTS API, сначала перейдите в консоль Ace Data Cloud и получите ваш API токен для резервного копирования.
Если вы еще не вошли в систему или не зарегистрированы, вы будете автоматически перенаправлены на страницу входа, где вас пригласят зарегистрироваться и войти в систему, после чего вы будете автоматически возвращены на текущую страницу.
Один API токен позволяет вызывать все услуги платформы, не нужно подавать отдельные заявки на каждую услугу. При первой подаче заявки предоставляется бесплатный лимит, чтобы вы могли попробовать; если лимит исчерпан, вы можете пополнить общий баланс в консоли.
📘 Полная документация: Fish TTS API →
Заголовки запроса
Поля тела запроса
Имена полей полностью соответствуют upstream. За исключением callback_url, остальные поля имеют те же значения и значения, что и в официальной документации Fish TTS.
Пример 1: Минимальный запрос (text + format=mp3)
audio_url указывает на CDN этой платформы, можно напрямую скачать через GET или воспроизвести в <audio>. Ссылка будет доступна долго, но все же рекомендуется сохранить копию в вашем хранилище.
Пример 2: Использование клонированного голоса reference_id
Ниже приведен пример с публичным испанским голосом на платформе Fish (_id можно получить через Fish Model Query):
Пример 3: Регулировка скорости / громкости (prosody)
speed больше 1 ускоряет, меньше 1 замедляет; volume в дБ, 0 означает без изменений, положительное значение — увеличение, отрицательное — уменьшение.
Пример 4: Переключение модели + управление битрейтом
С помощью HTTP заголовкаmodel: s1 переключитесь на стабильную модель, добавьте в тело запроса mp3_bitrate: 128 для управления битрейтом MP3:
Пример 5: PCM оригинальная волна
Необходимо для реального соединения в браузере или для последующей обработки на клиенте (смешивание, изменение скорости), рекомендуется использоватьpcm:
Расширение ссылки соответствуетformatв запросе:mp3дает.mp3,wavиpcmдают.wav(контейнер WAV, 16 бит PCM).
Асинхронный обратный вызов (callback_url)
Синтез длинного текста может занять от нескольких секунд до десятков секунд, если соединение прерывается, необходимо повторить попытку. Передав callback_url в теле запроса, интерфейс сразу вернет {task_id, started_at}, а когда задача будет завершена, полный результат будет отправлен обратно на этот URL в формате POST JSON с тем же task_id.
callback_url получит следующее:
task_id, подробности см. в документации.
Обработка ошибок
400 token_mismatched: отсутствуют или недействительны параметры запроса (чаще всегоtextпустой илиformatимеет значение, отличное отmp3/wav/pcm).401 invalid_token: токен аутентификации отсутствует или недействителен.429 too_many_requests: превышен лимит скорости аккаунта.500 api_error: внутренняя ошибка сервера.
message, что поможет определить, какой именно параметр недействителен, например:
Заключение
Минимальные затраты на интеграцию Fish TTS: в уже существующем коде, вызывающемapi.fish.audio/v1/tts, заменить аутентификацию на токен платформы и в теле запроса явно указать format: "mp3". Для длинных текстов рекомендуется использовать асинхронный обратный вызов callback_url; для обнаружения клонированного голоса reference_id используйте Fish Model Query и Fish Model Get.
