callback_url), struktura ciała żądania jest zgodna z upstream. Adres to POST https://api.acedata.cloud/fish/tts.
Proces aplikacji
Aby korzystać z Fish TTS API, najpierw przejdź do konsoli Ace Data Cloud, aby uzyskać swój token API, zachowaj go na przyszłość.
Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować, po zakończeniu zostaniesz automatycznie przekierowany z powrotem na bieżącą stronę.
Jeden token API wystarczy do wywołania wszystkich usług platformy, nie ma potrzeby składania osobnych wniosków dla każdej usługi. Pierwsze zgłoszenie otrzyma darmowy limit, aby móc skorzystać z bezpłatnej wersji; w przypadku niewystarczającego limitu można doładować saldo ogólne w konsoli.
📘 Pełna dokumentacja: Fish TTS API →
Nagłówki żądania
Pola ciała żądania
Nazewnictwo pól jest całkowicie zgodne z upstream. Z wyjątkiem callback_url, pozostałe pola mają takie same znaczenie i wartości jak w oficjalnej dokumentacji TTS Fish.
Przykład 1: Minimalne żądanie (text + format=mp3)
audio_url wskazuje na CDN tej platformy, można bezpośrednio pobrać lub odtworzyć w <audio>. Link jest długoterminowy, ale nadal zaleca się przechowywanie kopii w swoim własnym magazynie.
Przykład 2: Użycie klonowanego głosu reference_id
Poniżej użyto jednego z publicznych głosów hiszpańskich na platformie Fish (_id można uzyskać za pomocą Fish Model Query):
Przykład 3: Regulacja prędkości / głośności (prosody)
speed większe niż 1 przyspiesza, mniejsze niż 1 spowalnia; volume w dB, 0 oznacza brak zmian, liczby dodatnie to wzmocnienie, liczby ujemne to osłabienie.
Przykład 4: Zmiana modelu + kontrola bitrate
Przez nagłówek HTTPmodel: s1 przełączamy się na model stabilny, dodajemy mp3_bitrate: 128 w ciele żądania, aby kontrolować bitrate MP3:
Przykład 5: PCM surowa fala
W przypadku, gdy potrzebujesz na bieżąco łączyć w przeglądarce lub przeprowadzać dalsze przetwarzanie (miksowanie, zmiana prędkości) po stronie klienta, zaleca się użyciepcm:
Rozszerzenie linku podąża zaformatw żądaniu:mp3daje.mp3,wavipcmdaje.wav(kontener WAV, 16 bit PCM).
Asynchroniczny callback (callback_url)
Dla długich tekstów, jednorazowa synteza może zająć od kilkunastu do kilkudziesięciu sekund, jeśli połączenie zostanie przerwane, należy spróbować ponownie. Po przesłaniu callback_url w ciele żądania, interfejs natychmiast zwróci {task_id, started_at}, a gdy zadanie zostanie zakończone, pełny wynik zostanie zwrócony w formacie POST JSON na ten URL, z tym samym task_id w ciele żądania.
callback_url otrzyma coś w stylu:
task_id, szczegóły w tym dokumencie.
Obsługa błędów
400 token_mismatched: Brakujące lub nieprawidłowe parametry żądania (najczęściejtextjest pusty lubformatma wartość inną niżmp3/wav/pcm).401 invalid_token: Token autoryzacyjny nie istnieje lub jest nieprawidłowy.429 too_many_requests: Przekroczenie limitu szybkości konta.500 api_error: Błąd wewnętrzny serwera.
message, co ułatwia zlokalizowanie, który parametr jest nieprawidłowy, na przykład:
Wnioski
Minimalny koszt integracji z Fish TTS to: w istniejącym kodzie wywołującymapi.fish.audio/v1/tts zamienić autoryzację na token platformy i w ciele żądania jawnie dodać format: "mp3". W przypadku długich tekstów zaleca się użycie asynchronicznego callbacku callback_url; w celu odkrycia reference_id dla klonowania głosu, należy skorzystać z Fish Model Query oraz Fish Model Get.
