Перейти к основному содержанию
Данный интерфейс основан на официальном Model API Fish Audio и предназначен для постраничного поиска в публичной библиотеке голосов Fish или среди клонированных голосов текущего аккаунта. Адрес: GET https://api.acedata.cloud/fish/model.
Для создания голоса обратитесь к Fish Model Create API; для запроса сведений об одном голосе по _id обратитесь к Fish Model Get API。

Процесс получения

Чтобы использовать Fish Model API, сначала получите ваш API Token в консоли Ace Data Cloud и сохраните его для дальнейшего использования. Если вы ещё не вошли в систему или не зарегистрировались, вы будете автоматически перенаправлены на страницу входа, где вам будет предложено зарегистрироваться и войти; после завершения вы автоматически вернётесь на текущую страницу. Один API Token позволяет вызывать все сервисы платформы, и не требуется подавать отдельную заявку для каждого сервиса. При первом получении предоставляется бесплатная квота для бесплатного ознакомления; при недостатке квоты вы можете пополнить общий баланс в консоли.
📘 Полная документация: Fish Model API →

Параметры запроса

Имена параметров полностью совпадают с вышестоящим GET https://api.fish.audio/model; подробности см. в официальной документации Fish。

Пример 1: постраничный вывод по умолчанию (по page_size)

Ответ (проверено на практике, общий объём публичной библиотеки составляет около 1,8 млн записей; для удобства чтения в примере ниже опущены некоторые длинные поля):

Пример 2: нечёткий поиск по названию (title)

Ответ (проверено на практике):
Обратите внимание, что title — это «глобальное нечёткое сопоставление», которое одновременно находит все голоса в публичной библиотеке Fish (не только собственные).

Пример 3: вывести только голоса, созданные вами (self=true)

Пример ответа:
self=true выводит голоса, созданные и сохранённые через эту платформу для фактически вызывающего аккаунта; голоса, созданные одним и тем же аккаунтом с использованием разных API Token, также будут перечислены вместе. Результаты постранично сортируются по времени создания в обратном порядке, author_id может дополнительно фильтровать ID автора этих голосов. Этот параметр фильтрует только список, голоса по-прежнему доступны публично. self=true не поддерживает title_language; если требуется поиск по языку названия, выполните запрос к публичной библиотеке голосов.

Пример 4: фильтрация по языку + тегу

Вышестоящий сервис также возвращает результаты для tag, отсутствующих в словаре тегов, однако сопоставление относительно неточное; если количество совпадений равно 0, рекомендуется использовать нечёткое сопоставление по title.

Поля ответа

Каждый элемент в items[] является полным объектом ModelEntity, часто используемые поля:

Описание тарификации

Этот интерфейс не тарифицируется — постраничный запрос списка голосов является бесплатной операцией. Создание голосов (Fish Model Create) также бесплатно, расходы возникают только при вызове Fish TTS для синтеза речи в зависимости от использования.

Обработка ошибок

  • 400 token_mismatched: параметры запроса отсутствуют или недопустимы.
  • 401 invalid_token: токен авторизации не существует или недействителен.
  • 429 too_many_requests: сработало ограничение скорости для аккаунта.
  • 500 api_error: внутренняя ошибка сервера.
Пример ответа с ошибкой:

Заключение

Чтобы выбрать голос из публичной библиотеки Fish и передать его в reference_id для /fish/tts, сначала используйте этот интерфейс вместе с title / tag / language для поиска, найдите целевой _id, затем используйте Fish Model Get, чтобы получить образцы для прослушивания. Чтобы вывести созданные вами голоса, достаточно передать self=true.