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

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

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

Поля тела запроса

Дополнительную информацию о голосовой модели можно найти в официальной документации Fish.
Созданные голоса будут храниться публично в течение длительного времени, и другие пользователи могут искать и использовать их. Не нужно передавать visibility; даже если передать private или unlist, текущий интерфейс не изменит на их основании область публичного доступа.

Пример: создание публичного клонированного голоса

Примечание: voices должен быть строкой (одним URL аудио), а не массивом. Если передать ["..."], вышестоящий сервис отклонит запрос. Рекомендуется использовать общедоступную прямую ссылку с расширением .mp3 или .wav.
Успешный ответ напрямую возвращает объект ModelEntity платформы Fish (в следующем примере приведён минимально рабочий голос, протестированный нами; часть длинных полей удалена для удобства чтения):
_id можно использовать как значение поля reference_id в последующем Fish TTS API для синтеза речи с использованием этого клонированного голоса: Успешно созданные голоса будут сохранены публично; через self=true в Fish Model Query API можно запросить голоса, созданные текущим вызывающим пользователем через эту платформу. self=true только фильтрует список и не ограничивает использование этого голоса другими пользователями.

Требования к образцам

Практические значения (соответствуют вышестоящему сервису, можно обратиться к официальной документации Fish):
  • Рекомендуемая длительность — более 30 секунд, наилучший результат достигается в пределах 5 минут; после 10 минут предельная выгода невелика.
  • Частота дискретизации 16 kHz и выше, допустимы как моно, так и стерео.
  • Содержание должно быть по возможности чистым: без фоновой музыки, эха и заметного окружающего шума; один и тот же говорящий.
  • Рекомендуемые форматы: mp3 / wav.
Если вы не уверены в качестве образца, можно одновременно передать enhance_audio_quality: true, чтобы вышестоящий сервис сначала выполнил улучшение качества звука.

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

Создание модели клонирования голоса (POST /fish/model) бесплатно и не взимает никаких сборов; интерфейсы запросов голосов (Fish Model Query、Fish Model Get) также не тарифицируются. Расходы возникают только при последующем вызове Fish TTS для синтеза речи в соответствии с использованием.

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

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

Вывод

Для вызова этого интерфейса нужно лишь подготовить URL общедоступного образца аудио, поместить его в поле voices, чтобы получить _id, а затем передать его в reference_id для /fish/tts, и будет завершён сквозной процесс «клонирование → синтез». Распространённая ошибка заключается в том, что voices должен быть строкой, а не массивом.

Создание и повторное использование голоса через MCP

В Fish MCP вызовите fish_create_model(title="Мой голос", voices="https://example.com/authorized-voice.wav")。 voices — это один HTTP(S) URL аудио; также можно передать description、cover_image、tags、 texts、enhance_audio_quality、generate_sample。 Этот инструмент будет длительно хранить публичные голоса, и другие пользователи могут обнаружить и использовать их; используйте только аудиоматериалы, на обработку и публикацию которых получено разрешение. У инструмента нет приватного или непубличного варианта. Возвращаемый при успешном создании _id используется для reference_id в fish_generate_audio, а fish_list_models(self=true) позволяет запросить собственные сохранённые голоса. Если эталонный голос нужен только один раз, используйте references в fish_generate_audio, без необходимости создавать долгосрочный голос.