Перейти до основного вмісту

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.

У цій статті описано інструкцію зі взаємодії з Fish Model Get API (GET /fish/model/{id}), який повністю сумісний з офіційним OpenAPI Fish Audio і використовується для отримання повної інформації про окремий клонований голос за його ID.
Для створення голосу див. Fish Model Create API, для отримання списку з пагінацією див. Fish Model Query API.

Процес подачі заявки

Щоб користуватися API, спочатку потрібно подати заявку на відповідний сервіс на сторінці Fish Model API. Після переходу на сторінку натисніть кнопку «Acquire». Якщо ви ще не увійшли або не зареєстровані, вас автоматично перенаправить на сторінку входу, де можна зареєструватися або увійти. Після входу або реєстрації ви автоматично повернетеся на цю сторінку. При першому запиті надання послуги надається безкоштовний ліміт, що дозволяє безкоштовно користуватися API.

Відмінності від офіційного API

  • Метод автентифікації: використовується Authorization: Bearer {token}, де {token} — це ключ, отриманий на цій платформі.
  • Структура відповіді: напряму передається об’єкт ModelEntity з Fish, без додаткової обгортки платформи; у разі помилки використовується стандартна структура платформи {success:false, error:{code,message}, trace_id}.
  • Параметр шляху: {id} — це _id голосу, який повертається при створенні через Fish Model Create API або отримується при пагінаційному запиті через Fish Model Query API.

Приклад запиту

curl 'https://api.xhuoapi.ai/v1/fish/model/d7900c21663f485ab63ebdb7e5905036' \
  -H 'accept: application/json' \
  -H 'authorization: Bearer {token}'
Потрібно лише замінити {id} у URL на конкретний ID голосу, без додаткових параметрів запиту або тіла.

Приклад відповіді

Успішна відповідь напряму передає об’єкт ModelEntity з платформи Fish:
{
  "_id": "d7900c21663f485ab63ebdb7e5905036",
  "type": "tts",
  "title": "Мій клонований голос",
  "description": "Голос, клонований за допомогою запису подкасту",
  "cover_image": "https://example.com/cover.png",
  "train_mode": "fast",
  "state": "trained",
  "tags": [],
  "samples": [
    {
      "audio": "https://example.com/sample-voice.mp3",
      "text": ""
    }
  ],
  "created_at": "2025-05-09T12:34:56.789Z",
  "updated_at": "2025-05-09T12:34:56.789Z",
  "languages": ["zh", "en"],
  "visibility": "private",
  "lock_visibility": false,
  "default_text": "",
  "default_mode": "fast",
  "like_count": 0,
  "mark_count": 0,
  "shared_count": 0,
  "task_count": 0,
  "unliked": false,
  "liked": false,
  "marked": false,
  "author": {
    "_id": "00000000000000000000000000000000",
    "nickname": "",
    "avatar": ""
  }
}
Повернений _id можна використовувати як значення поля reference_id у наступних запитах Fish TTS API для синтезу мови з цим клонованим голосом.

Інформація про тарифи

Цей інтерфейс не тарифікується — отримання деталей голосу за ID є безкоштовною операцією. Тарифікація застосовується лише при створенні нового голосу через POST /fish/model з полем voices у тілі запиту.

Обробка помилок

  • 400 token_mismatched: відсутні або некоректні параметри запиту.
  • 400 api_not_implemented: метод або параметри наразі не підтримуються.
  • 401 invalid_token: відсутня або недійсна інформація автентифікації.
  • 404 not_found: голос з вказаним _id не існує або недоступний для поточного акаунта.
  • 429 too_many_requests: перевищено ліміт швидкості для поточного акаунта.
  • 500 api_error: внутрішня помилка сервера.

Приклад відповіді з помилкою

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Висновок

Fish Model Get API надає можливість отримувати детальну інформацію про окремий голос, повністю сумісну з офіційним Fish Audio API. Після отримання ID голосу можна за допомогою цього API отримати повний об’єкт ModelEntity (включно з прикладами, станом, видимістю, статистикою тощо), а потім використовувати Fish TTS API для повного циклу клонування та синтезу.