Перейти до основного вмісту
Цей API базується на офіційному 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, спершу перейдіть до консолі Ace Data Cloud, щоб отримати свій API Token, і збережіть його для подальшого використання. Якщо ви ще не увійшли або не зареєструвалися, вас буде автоматично перенаправлено на сторінку входу із запрошенням зареєструватися та увійти, після завершення ви автоматично повернетеся на поточну сторінку. Один API Token може викликати всі сервіси платформи, не потрібно подавати заявку окремо для кожного сервісу. Під час першого отримання заявки надається безкоштовна квота для безкоштовного тестування; коли квоти недостатньо, ви можете поповнити універсальний баланс у консолі.
📘 Повна документація: Fish Model API →

Поля тіла запиту

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

Приклад: створення публічного клонованого голосу

Зверніть увагу: voices має бути рядком (один URL аудіо), а не масивом. Якщо передати як ["..."], upstream відхилить запит. Рекомендується використовувати загальнодоступне пряме посилання, яке можна завантажити, із суфіксом .mp3 або .wav.
Успішна відповідь безпосередньо повертає об’єкт ModelEntity платформи Fish (у прикладі нижче показано мінімальний придатний голос, який ми протестували; деякі довгі поля видалено для зручності читання):
_id можна використовувати як значення поля reference_id у подальшому Fish TTS API, щоб виконувати синтез мовлення з використанням цього клонованого голосу: Успішно створений голос буде збережено у відкритому доступі; через self=true у Fish Model Query API можна отримати голоси, створені поточним користувачем-викликачем через цю платформу. self=true лише фільтрує список і не обмежує використання цього голосу іншими користувачами.

Вимоги до зразків

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

Опис тарифікації

Створення моделі клонування голосу (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, без необхідності створювати довгостроковий голос.