В этой статье описывается инструкция по интеграции Fish Model API, который полностью совместим с официальным OpenAPI Fish Audio. Включает:Documentation Index
Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
Use this file to discover all available pages before exploring further.
POST /fish/model: создание нового клонированного голосового профиля (Voice Model) на основе аудиопробы.GET /fish/model: постраничный запрос списка голосовых профилей, доступных для текущего аккаунта или на всей платформе.
Процесс подачи заявки
Для использования API необходимо сначала подать заявку на соответствующую услугу на странице Fish Model API, нажав кнопку «Acquire». Если вы не вошли в систему или не зарегистрированы, будет выполнен автоматический переход на страницу входа с приглашением зарегистрироваться и войти. После входа или регистрации вы автоматически вернетесь на текущую страницу. При первом запросе предоставляется бесплатный лимит для использования API.Отличия от официального API
- Метод аутентификации: используется
Authorization: Bearer {token}, где{token}— ключ, полученный на данной платформе. - Загрузка образцов при создании модели: данный интерфейс поддерживает только отправку JSON с передачей URL аудиопробы через поле
voices. Официальный Fish поддерживает multipart/msgpack для прямой загрузки бинарных данных, но на нашей платформе это пока не реализовано. Формат URL покрывает около 80% типичных сценариев. - Структура ответа:
POST /fish/modelиGET /fish/modelнапрямую передают ответ Fish без обёртки платформы, при ошибках используется стандартная структура платформы{success:false, error:{code,message}, trace_id}.
Создание голосового профиля (POST /fish/model)
Минимальный запрос на создание требует поляtitle и voices. voices — список URL аудиопроб, рекомендуется, чтобы каждый файл был длительностью более 30 секунд с частотой дискретизации не ниже 16 кГц.
_id можно использовать в дальнейшем в поле reference_id при вызове POST /fish/tts для синтеза речи с этим клонированным голосом.
Запрос списка голосовых профилей (GET /fish/model)
page_size: количество элементов на страницу, по умолчанию 10.page_number: номер страницы, начиная с 1.title: поиск по названию с использованием шаблона.tag: фильтрация по тегу.self: при значенииtrueвозвращает только голосовые профили, созданные текущим аккаунтом.author_id: фильтрация по создателю.language: фильтрация по языку голосового профиля.title_language: фильтрация по языку названия.
Информация о тарификации
Оплата взимается только при создании голосового профиля (POST /fish/model с полем voices в теле запроса). Запросы на получение списка голосовых профилей (GET /fish/model) бесплатны.
Обработка ошибок
400 token_mismatched: Некорректный запрос, возможно, из-за отсутствия или неверных параметров.400 api_not_implemented: Некорректный запрос, возможно, из-за отсутствия или неверных параметров.401 invalid_token: Неавторизован, неверный или отсутствующий токен авторизации.429 too_many_requests: Слишком много запросов, превышен лимит частоты.500 api_error: Внутренняя ошибка сервера.
Пример ответа с ошибкой
Заключение
Fish Model API полностью совместим с интерфейсом ModelEntity официального OpenAPI Fish Audio, что позволяет мигрировать существующий код управления клонированными голосами без изменений. Созданный голосовой профиль_id можно напрямую использовать в поле reference_id Fish TTS API для синтеза речи.
