Przejdź do głównej treści

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.

Niniejszy dokument opisuje integrację Fish Model Get API (GET /fish/model/{id}), które jest w pełni kompatybilne z oficjalnym OpenAPI Fish Audio i służy do pobierania szczegółowych informacji o pojedynczym klonowanym brzmieniu na podstawie jego ID.
Tworzenie brzmień opisano w Fish Model Create API, a paginowane listy można pobierać za pomocą Fish Model Query API.

Proces aplikacji

Aby korzystać z API, należy najpierw złożyć wniosek o dostęp do odpowiedniej usługi na stronie Fish Model API. Po wejściu na stronę kliknij przycisk „Acquire”. Jeśli nie jesteś zalogowany lub zarejestrowany, zostaniesz automatycznie przekierowany na stronę logowania, gdzie możesz się zarejestrować lub zalogować. Po zalogowaniu zostaniesz automatycznie przekierowany z powrotem na tę stronę. Przy pierwszym wniosku otrzymasz darmowy limit, który pozwala na bezpłatne korzystanie z API.

Różnice względem oficjalnego API

  • Metoda uwierzytelniania: używany jest nagłówek Authorization: Bearer {token}, gdzie {token} to klucz uzyskany na tej platformie.
  • Struktura odpowiedzi: bezpośrednio przekazywany jest obiekt ModelEntity z Fish, bez dodatkowego opakowania platformowego; w przypadku błędu zwracana jest standardowa struktura platformy {success:false, error:{code,message}, trace_id}.
  • Parametr ścieżki: {id} to _id brzmienia, które jest zwracane podczas tworzenia w Fish Model Create API lub można je uzyskać z paginowanych wyników Fish Model Query API.

Przykład zapytania

curl 'https://api.xhuoapi.ai/v1/fish/model/d7900c21663f485ab63ebdb7e5905036' \
  -H 'accept: application/json' \
  -H 'authorization: Bearer {token}'
Wystarczy podmienić {id} w URL na konkretne ID brzmienia, bez potrzeby dodawania parametrów zapytania lub ciała żądania.

Przykład odpowiedzi

W przypadku sukcesu zwracany jest bezpośrednio obiekt ModelEntity z platformy 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": ""
  }
}
Zwrócone _id może być użyte jako wartość pola reference_id w Fish TTS API do syntezy mowy z wykorzystaniem tego klonowanego brzmienia.

Informacje o rozliczeniach

To API jest bezpłatne — zapytania o szczegóły brzmienia po ID nie są naliczane. Opłaty pojawiają się tylko przy tworzeniu nowego brzmienia za pomocą POST /fish/model z polem voices w ciele żądania.

Obsługa błędów

  • 400 token_mismatched: brak lub nieprawidłowe parametry żądania.
  • 400 api_not_implemented: metoda lub parametry żądania nie są obecnie obsługiwane.
  • 401 invalid_token: brak lub nieprawidłowe dane uwierzytelniające.
  • 404 not_found: brzmienie o podanym _id nie istnieje lub nie jest widoczne dla bieżącego konta.
  • 429 too_many_requests: przekroczono limit szybkości dla konta.
  • 500 api_error: wewnętrzny błąd serwera.

Przykład odpowiedzi błędu

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

Podsumowanie

Fish Model Get API zapewnia pełną kompatybilność z oficjalnym Fish Audio i umożliwia pobranie szczegółów pojedynczego brzmienia. Po uzyskaniu ID brzmienia można za pomocą tego API pobrać kompletny obiekt ModelEntity (wraz z próbkami, stanem, widocznością, statystykami itd.), a następnie wykorzystać Fish TTS API do realizacji pełnego procesu klonowania i syntezy mowy.