Przejdź do głównej treści
Ten interfejs bazuje na oficjalnym Model API Fish Audio i służy do utworzenia modelu klonowanego głosu, który można wielokrotnie wykorzystywać długoterminowo, na podstawie próbki audio. Adres to POST https://api.acedata.cloud/fish/model.
Gdy głos referencyjny jest potrzebny tylko tymczasowo, nie trzeba tworzyć modelu — można bezpośrednio użyć jednorazowego klonowania w czasie rzeczywistym references z Fish TTS API. Aby stronicować wyszukiwanie istniejących głosów, zapoznaj się z Fish Model Query API; aby wyszukać szczegóły pojedynczego głosu według _id, zapoznaj się z Fish Model Get API.

Proces aplikowania

Aby używać Fish Model API, najpierw przejdź do konsoli Ace Data Cloud, aby uzyskać swój API Token i zachować go do użycia. Jeśli nie jesteś jeszcze zalogowany(-a) ani zarejestrowany(-a), zostaniesz automatycznie przekierowany(-a) na stronę logowania, gdzie zostaniesz zaproszony(-a) do rejestracji i zalogowania się, a po zakończeniu automatycznie wrócisz na bieżącą stronę. Jeden API Token umożliwia wywoływanie wszystkich usług platformy, bez konieczności osobnego aplikowania dla każdej usługi. Przy pierwszym uzyskaniu tokenu otrzymasz darmowy limit, aby bezpłatnie wypróbować usługę; gdy limit jest niewystarczający, możesz doładować wspólne saldo w konsoli.
📘 Pełna dokumentacja: Fish Model API →

Pola treści żądania

Więcej informacji o modelach głosu można znaleźć w oficjalnej dokumentacji Fish.
Utworzone głosy będą publicznie przechowywane długoterminowo, a inni użytkownicy mogą je wyszukiwać i używać. Nie trzeba przekazywać visibility; nawet jeśli przekażesz private lub unlist, bieżący interfejs nie zmieni na tej podstawie zakresu publicznego dostępu.

Przykład: utworzenie publicznego klonowanego głosu

Uwaga: voices musi być ciągiem znaków (pojedynczym URL audio), a nie tablicą. Przekazanie jako ["..."] zostanie odrzucone przez system nadrzędny. Zaleca się użycie publicznie dostępnego bezpośredniego linku z rozszerzeniem .mp3 lub .wav.
Pomyślna odpowiedź bezpośrednio zwraca obiekt ModelEntity platformy Fish (poniższy przykład to minimalny działający głos, który przetestowaliśmy; dla czytelności usunięto część długich pól):
_id może zostać użyte jako wartość pola reference_id w późniejszym Fish TTS API, aby użyć tego klonowanego głosu do syntezy mowy: Pomyślnie utworzony głos zostanie publicznie zapisany i można go wyszukać za pomocą self=true w Fish Model Query API, aby wyświetlić głosy utworzone przez bieżącego użytkownika wywołującego za pośrednictwem tej platformy. self=true filtruje jedynie listę i nie ogranicza innym użytkownikom używania tego głosu.

Wymagania dotyczące próbek

Wartości orientacyjne (zgodne z systemem nadrzędnym, można zapoznać się z oficjalną dokumentacją Fish):
  • Zalecany czas trwania to co najmniej 30 sekund, a najlepsze efekty osiąga się w ciągu 5 minut; powyżej 10 minut korzyści krańcowe są niewielkie.
  • Częstotliwość próbkowania 16 kHz lub wyższa; dozwolone jest mono lub stereo.
  • Treść powinna być możliwie czysta: bez muzyki w tle, pogłosu i wyraźnego hałasu otoczenia; ten sam mówca.
  • Zalecane formaty to mp3 / wav.
Jeśli nie masz pewności co do jakości próbki, możesz jednocześnie przekazać enhance_audio_quality: true, aby system nadrzędny najpierw poprawił jakość dźwięku.

Informacje o rozliczeniach

Utworzenie modelu klonowania głosu (POST /fish/model) jest bezpłatne i nie wiąże się z żadnymi opłatami; interfejsy zapytań dotyczących głosu (Fish Model Query、Fish Model Get) również nie są płatne. Opłaty są naliczane wyłącznie później, podczas wywoływania Fish TTS w celu syntezy mowy, zależnie od użycia.

Obsługa błędów

  • 400 token_mismatched: Parametry żądania są brakujące lub nieprawidłowe (najczęściej voices nie jest adresem URL lub zostało przekazane jako tablica).
  • 400: Gdy referencyjnego dźwięku nie można pobrać, jego czas trwania jest zbyt krótki lub format nie może zostać rozpoznany, sprawdź adres URL dźwięku i format pliku.
  • 401 invalid_token: Token uwierzytelniający nie istnieje lub jest nieprawidłowy.
  • 429 too_many_requests: Uruchomiono limit szybkości dla konta.
  • 500 api_error: Wewnętrzny błąd serwera.
Przykład odpowiedzi błędu:

Wniosek

Do wywołania tego interfejsu wystarczy przygotować publicznie dostępny adres URL przykładowego dźwięku, umieścić go w polu voices, aby otrzymać _id, a następnie przekazać go do reference_id w /fish/tts, co kończy kompleksowy proces „klonowanie → synteza”. Typową pułapką jest to, że voices musi być ciągiem znaków i nie może być tablicą.

Tworzenie i ponowne używanie głosu przez MCP

W Fish MCP wywołaj fish_create_model(title="Mój głos", voices="https://example.com/authorized-voice.wav"). voices to pojedynczy adres URL dźwięku HTTP(S); można również przekazać description, cover_image, tags, texts, enhance_audio_quality, generate_sample. To narzędzie będzie długoterminowo przechowywać publiczne głosy, które inni użytkownicy mogą znaleźć i używać; używaj wyłącznie materiałów dźwiękowych, których przetwarzanie i publikacja są dozwolone. Narzędzie nie ma opcji prywatnej ani niepublicznej. Zwrócone po pomyślnym utworzeniu _id jest używane jako reference_id dla fish_generate_audio, a fish_list_models(self=true) umożliwia wyszukiwanie głosów zapisanych przez siebie. Gdy referencyjny głos jest potrzebny tylko jednorazowo, użyj references w fish_generate_audio, bez konieczności tworzenia długoterminowego głosu.