Содержание
- Что даёт API Fish Audio и где проходят границы продукта
- Условия доступа и где смотреть актуальные требования
- Порядок действий: от ключа до первого аудиофайла
- Учебный пример и критерии самостоятельной проверки
- Смежные варианты: SDK, REST, потоковый режим
- Типичные проблемы и способы диагностики
- Частые вопросы
Как подключить API Fish Audio: первый запрос
Черновик готовит редакция с помощью ИИ. За стандарт издания отвечает главный редактор — Валерий Курземнек.
Материал редакции Зерокодера. Счёт по выдаче снят собственным прогоном 22 октября 2026 года; цитаты источников приведены дословно. Обновлено: октябрь 2026.
Как подключить API Fish Audio: первый запрос строится в четыре шага — регистрация и верификация аккаунта, создание ключа в разделе API, сохранение ключа в переменной окружения и отправка запроса на синтез речи. Документация проекта описывает этот путь на странице Quick Start. Собственный прогон редакции по запросу «Как подключить API Fish Audio: первый запрос» показал: текст отдали 5 из 10 страниц выдачи, медиана объёма читаемого текста топа — 1205 слов, метку 2026 года несут 0 из 5 прочитанных страниц.
Мы скачали подборку результатов веб-поиска по запросу «Как подключить API Fish Audio: первый запрос»: текст отдали 5 из 10.
Что даёт API Fish Audio и где проходят границы продукта
Fish Audio — платформа синтеза и распознавания речи. Документация проекта делит её на несколько слоёв, и путать их не стоит. Веб-приложение платформы живёт по адресу fish.audio: там создаётся аккаунт, оформляется подписка, хранятся голосовые модели. REST API живёт на отдельном хосте api.fish.audio и принимает запросы с ключом. SDK — это клиентские библиотеки для Python и JavaScript, которые обращаются к тому же API. Локальное выполнение — отдельный режим self-hosting, описанный в разделе Running Inference.
Базовый адрес API документация указывает как https://api.fish.audio, авторизацию — через заголовок Authorization: Bearer
Границы продукта просты. API отвечает за генерацию и распознавание аудио. Хранение ключей, биллинг, лимиты и модерация голосов лежат на стороне платформы. Локальная установка требует собственного железа и лицензии — это отдельная история, описанная в разделе self-hosting.
Для читателя, который пришёл с запросом «fish audio api», практический вывод такой: начинать нужно с облачного API и бесплатного уровня модели, а к self-hosting переходить, когда появятся требования по приватности или нагрузке.
Условия доступа и где смотреть актуальные требования
Документация проекта описывает доступ так: пользователь заполняет данные для создания аккаунта и проходит шаги верификации. Затем входит в аккаунт и переходит в раздел API. Там нажимает «Create New Key», задаёт ключу понятное имя и при желании выставляет срок действия. После создания ключ копируется и сохраняется в надёжном месте.
Источник актуальных требований — страница Quick Start в разделе developer-guide на docs.fish.audio. Она же ссылается на API Reference с полным описанием эндпоинтов. Для машинных сценариев документация предлагает отдельные файлы: llms.txt как курируемый индекс, llms-full.txt с расширенным контекстом по сайту, OpenAPI со схемами REST и AsyncAPI с описанием WebSocket-протокола.
Вопросы тарифов, лимитов и доступности из конкретного региона документация решает через разделы Models & Pricing и Billing. Региональные ограничения аккаунта в прочитанных материалах не раскрыты — этот пункт стоит уточнять в личном кабинете перед началом интеграции.
Таблица ниже собирает ключевые элементы доступа и их назначение.
| Элемент | Где находится | Назначение |
|---|---|---|
| Аккаунт | fish.audio | Верификация, биллинг, управление моделями |
| API-ключ | Раздел API в дашборде | Авторизация запросов через Bearer-заголовок |
| Base URL | https://api.fish.audio | Адрес REST-запросов |
| WebSocket URL | wss://api.fish.audio/v1/tts/live | Потоковый синтез в реальном времени |
| Индекс документации | llms.txt | Курируемый список разделов для агентов |
Порядок действий: от ключа до первого аудиофайла
Документация проекта описывает последовательность так. Сначала создаётся аккаунт с верификацией. Затем пользователь входит в дашборд Fish Audio и переходит в раздел API. Там нажимает «Create New Key», даёт ключу описательное имя и при необходимости выставляет срок действия. Ключ копируется и сохраняется в защищённом месте.
Дальше сохраните ключ в переменной окружения Bash без пробелов вокруг знака равенства: export FISH_API_KEY="your_api_key_here". Для первого запроса выполните curl --request POST https://api.fish.audio/v1/tts --header "Authorization: Bearer $FISH_API_KEY" --header "Content-Type: application/json" --header "model: s2-pro" --data '{ "text": "Hello from Fish Audio!", "format": "mp3" }' --output hello.mp3. Этот пример со страницы Get Your API Key сохраняет ответ в hello.mp3; откройте файл в медиаплеере и проверьте разборчивость речи.
Первый запрос можно отправить двумя путями. Через curl документация показывает POST на https://api.fish.audio/v1/tts с заголовками Authorization, Content-Type и model, телом с полями text и format, и флагом —output для сохранения файла. Через Python SDK — установку пакета fish-audio-sdk, создание клиента FishAudio() и вызов client.tts.convert с текстом. Через JavaScript SDK — импорт FishAudioClient, создание клиента с apiKey из process.env.FISH_API_KEY и вызов textToSpeech.convert.
Проверка результата описана просто: файл открывается двойным щелчком или в любом медиаплеере. Документация приводит команды для трёх систем — afplay на macOS, mpg123 на Linux, start на Windows.
| Шаг | Действие | Что проверяем |
|---|---|---|
| 1 | Регистрация и верификация | Аккаунт активен |
| 2 | Раздел API → Create New Key | Ключ создан и скопирован |
| 3 | export FISH_API_KEY | Переменная доступна в оболочке |
| 4 | POST /v1/tts или SDK-вызов | Файл welcome.mp3 создан |
| 5 | Открытие файла в плеере | Речь звучит разборчиво |
Учебный пример и критерии самостоятельной проверки
Возьмём минимальный сценарий: озвучить одну короткую фразу и сохранить её в mp3. Документация проекта приводит такой запрос через curl с моделью s2.1-pro-free и текстом «Hello! Welcome to Fish Audio. This is my first AI-generated voice.». Ответ сохраняется в файл welcome.mp3. Тот же результат даёт Python-скрипт из документации: клиент читает FISH_API_KEY из окружения, вызывает client.tts.convert с текстом и сохраняет результат через save(audio, «welcome.mp3»).
Критерии проверки, которые читатель применяет сам:
- Файл создан и открывается в медиаплеере.
- Длительность примерно соответствует длине текста.
- Речь разборчива, без щелчков и обрывов.
- В консоли нет сообщений об ошибке.
- Ключ не попал в логи и не остался в истории команд.
Второе упражнение — смена голоса. Документация показывает параметр reference_id: в запрос добавляется идентификатор голосовой модели, и синтез идёт выбранным голосом. Пример приводит значение вида ca3007f96ae7499ab87d27ea3599956a. Критерий проверки: тембр отличается от базового, текст произносится полностью.
Третье упражнение — управление темпом. В Python SDK доступен параметр speed со значением 1.5, что даёт ускорение. Критерий: длительность файла заметно короче, разборчивость сохраняется.
Эти упражнения — наши предложения для тренировки. Результаты зависят от выбранной модели, текста и качества сети.
Смежные варианты: SDK, REST, потоковый режим
Документация проекта перечисляет несколько способов работы с API, и выбор зависит от задачи.
Прямой REST через curl удобен для разовой проверки и отладки. Он не требует установки зависимостей и сразу показывает сырой ответ сервера.
Python SDK подходит для скриптов и серверных задач. Документация описывает синхронный клиент FishAudio и асинхронный AsyncFishAudio. Для потоковой обработки есть методы stream() и stream_websocket(). Для распознавания — client.asr.transcribe(). Для управления голосами — client.voices с методами list, get, create, update, delete.
JavaScript SDK удобен для веб-приложений и Node.js. Документация показывает FishAudioClient с apiKey из окружения и вызов textToSpeech.convert.
Потоковый режим через WebSocket описан как wss://api.fish.audio/v1/tts/live. Он нужен, когда аудио должно идти в реальном времени: голосовые боты, озвучка чатов, интерактивные сценарии.
Отдельный вариант — self-hosting. Документация описывает его в разделе Running Inference: собственные платформы, режимы развёртывания, требования, реестр и лицензия, Kubernetes, All-in-One контейнер, air-gapped сценарии. Этот путь выбирают при жёстких требованиях к приватности или при больших объёмах.
Для агентных сценариев документация предлагает команды вида npx skills add https://docs.fish.audio с указанием конкретного навыка. Это способ подключить справочные материалы к ассистенту.
Типичные проблемы и способы диагностики
Документация проекта приводит таблицу ошибок и короткие указания к каждой.
| Код | Сообщение | Что делать |
|---|---|---|
| 401 | Invalid or missing API key | Проверить FISH_API_KEY и ключ в разделе API Keys |
| 402 | Out of credits | Пополнить баланс в Billing |
| 400 | Bad reference_id / parameters | Проверить идентификатор голоса и текст ошибки |
| 429 | Rate limit | Подождать и повторить с задержкой |
Диагностика строится от кода. При 401 первым делом проверяется переменная окружения: команда echo $FISH_API_KEY должна показать значение. Если переменная пуста, ключ не подхватился оболочкой. Второй шаг — сверка с ключом в дашборде: возможно, ключ отозван или истёк.
При 402 проверяется раздел Billing. Документация прямо указывает на пополнение баланса.
При 400 проверяется reference_id. Ошибка возникает, когда идентификатор голоса указан неверно или параметры не совпадают с ожидаемыми. Документация советует прочитать текст ошибки: там указано, что именно не подошло.
При 429 срабатывает ограничение частоты. Документация рекомендует подождать и повторить с задержкой.
Python SDK даёт отдельные исключения: AuthenticationError, RateLimitError, NotFoundError, APIError, FishAudioError. Их удобно ловить по отдельности и выводить понятные сообщения.
Отдельная категория проблем — сетевые. Если запрос не доходит до сервера, стоит проверить доступность api.fish.audio из вашей сети и настройки прокси.
Частые вопросы
Как создать ключ fish audio api key?
Войдите в дашборд Fish Audio и перейдите в раздел API. Нажмите «Create New Key», задайте описательное имя и при желании срок действия. Скопируйте ключ и сохраните в защищённом месте: документация проекта подчёркивает, что после создания ключ нужно хранить надёжно.
Где найти fish audio app api keys?
Ключи живут в разделе API внутри веб-приложения fish.audio. Документация описывает путь так: вход в дашборд, переход в раздел API, создание нового ключа. Там же отображаются существующие ключи и их статус.
Какой эндпоинт использовать для первого запроса?
Для синтеза речи документация указывает POST на https://api.fish.audio/v1/tts. В заголовках передаются Authorization с Bearer-токеном, Content-Type и model. В теле — текст и формат аудио. Ответ сохраняется в файл через флаг —output или через SDK.
Что делать при ошибке 401 Invalid or missing API key?
Проверьте переменную окружения FISH_API_KEY и сам ключ в разделе API Keys. Документация проекта даёт именно эту рекомендацию. Если переменная пуста, ключ не подхватился оболочкой. Если ключ отозван или истёк, создайте новый.
Можно ли работать с Fish Audio API без SDK?
Да. Документация приводит примеры прямых REST-запросов через curl на https://api.fish.audio/v1/tts. SDK удобен для повторяющихся сценариев, потоковой обработки и обработки исключений. Для разовой проверки достаточно curl.
Если сервис перестал отвечать, разбор причин собран в материале Fish Audio не работает: причины и решения. Для сравнения подходов к озвучке пригодится обзор ElevenLabs в России: доступ, оплата и обходные пути. А тем, кто работает с генерацией медиа, будет полезен разбор Промт для Seedance: структура, шаблоны и версии.
