Niniejszy dokument przedstawia instrukcję integracji Fish Model API, które jest w pełni kompatybilne z oficjalnym OpenAPI Fish Audio i obejmuje: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.
POST /fish/model: tworzenie nowego klonowanego głosu (Voice Model) na podstawie próbki audio.GET /fish/model: paginowane pobieranie listy dostępnych głosów widocznych dla bieżącego konta lub na całej platformie.
Proces aplikacji
Aby korzystać z API, należy najpierw złożyć wniosek o odpowiednią usługę 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ć i zalogować. Po zalogowaniu zostaniesz automatycznie przekierowany z powrotem na tę stronę. Przy pierwszym zgłoszeniu otrzymasz darmowy limit na korzystanie z API.Różnice względem oficjalnego API
- Metoda uwierzytelniania: używa się nagłówka
Authorization: Bearer {token}, gdzie{token}to klucz uzyskany na tej platformie. - Przesyłanie próbek przy tworzeniu modelu: obecnie interfejs obsługuje wyłącznie przesyłanie danych w formacie JSON, gdzie próbki audio przekazywane są jako URL-e w polu
voices. Oficjalne API Fish wspiera multipart/msgpack do bezpośredniego przesyłania binarnego, co nie jest jeszcze zaimplementowane na tej platformie. Forma URL pokrywa około 80% typowych scenariuszy. - Struktura odpowiedzi: zarówno
POST /fish/model, jak iGET /fish/modelzwracają bezpośrednio odpowiedź z Fish, bez dodatkowego opakowania platformy. W przypadku błędu stosowana jest standardowa struktura platformy{success:false, error:{code,message}, trace_id}.
Tworzenie głosu (POST /fish/model)
Minimalne żądanie tworzenia wymaga póltitle oraz voices. voices to lista URL-i próbek audio, zaleca się, aby każdy plik miał ponad 30 sekund długości i próbkowanie co najmniej 16 kHz.
_id może być użyte jako wartość pola reference_id w dalszych wywołaniach POST /fish/tts do syntezy mowy z użyciem tego klonowanego głosu.
Pobieranie listy głosów (GET /fish/model)
page_size: liczba elementów na stronę, domyślnie 10.page_number: numer strony, zaczynając od 1.title: wyszukiwanie po tytule (fuzzy).tag: filtrowanie po tagu.self: jeślitrue, zwraca tylko głosy utworzone przez bieżące konto.author_id: filtrowanie po autorze.language: filtrowanie po języku głosu.title_language: filtrowanie po języku tytułu.
Informacje o rozliczeniach
Opłaty są naliczane tylko podczas „tworzenia głosu” (POST /fish/model z polem voices w ciele żądania). „Pobieranie listy głosów” (GET /fish/model) jest bezpłatne.
Obsługa błędów
400 token_mismatched: Niepoprawne żądanie, możliwe brak lub błędne parametry.400 api_not_implemented: Niepoprawne żądanie, możliwe brak lub błędne parametry.401 invalid_token: Brak autoryzacji, nieprawidłowy lub brakujący token.429 too_many_requests: Zbyt wiele żądań, przekroczono limit szybkości.500 api_error: Błąd wewnętrzny serwera.
Przykład odpowiedzi błędu
Podsumowanie
Fish Model API jest w pełni kompatybilne z interfejsem ModelEntity oficjalnego OpenAPI Fish Audio, co pozwala na migrację istniejącego kodu zarządzającego klonowanymi głosami bez konieczności zmian w kodzie. Utworzony_id głosu można bezpośrednio przekazać do pola reference_id w Fish TTS API w celu syntezy mowy.
