Proces aplikacji
Aby skorzystać z API, należy najpierw przejść do strony Fish Audios Generation API i złożyć wniosek o odpowiednią usługę. Po wejściu na stronę kliknij przycisk „Acquire”, jak pokazano na obrazku:
Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować. Po zalogowaniu lub rejestracji automatycznie wrócisz na bieżącą stronę.
Podczas pierwszej aplikacji otrzymasz darmowy limit, który pozwala na bezpłatne korzystanie z tego API.
Podstawowe użycie
Najpierw zapoznaj się z podstawowym sposobem użycia, czyli wprowadzeniem słów kluczowychprompt, działania action, identyfikatora głosu voice_id oraz modelu model, aby uzyskać przetworzony wynik. Najpierw musisz przekazać pole action, którego wartość to generate, a następnie musimy wprowadzić model model, obecnie głównie model fish-tts, szczegóły są następujące:

accept: jakiego formatu odpowiedzi oczekujesz, tutaj wpiszapplication/json, czyli format JSON.authorization: klucz do wywołania API, po złożeniu wniosku można go bezpośrednio wybrać z rozwijanej listy.
model: model klonowania głosu, głównie modelfish-tts.action: działanie w ramach zadania klonowania głosu.prompt: słowa kluczowe do sklonowania.voice_id: klonowanie na podstawie identyfikatora głosu.callback_url: URL, na który mają być zwracane wyniki.

success, status zadania klonowania głosu.data, wynik zadania klonowania głosuaudio_url, link do audio wynikającego z zadania klonowania głosu.
data uzyskamy sklonowany głos.
Dodatkowo, jeśli chcesz wygenerować odpowiedni kod do integracji, możesz go bezpośrednio skopiować, na przykład kod CURL wygląda następująco:
Asynchroniczne wywołanie zwrotne
Ponieważ czas generacji Fish Audios Generation API jest stosunkowo długi, wynosi około 1-2 minut, jeśli API nie odpowiada przez dłuższy czas, żądanie HTTP będzie utrzymywać połączenie, co prowadzi do dodatkowego zużycia zasobów systemowych, dlatego to API oferuje również wsparcie dla asynchronicznych wywołań zwrotnych. Cały proces wygląda następująco: klient inicjuje żądanie, dodatkowo określając polecallback_url, po zainicjowaniu żądania API natychmiast zwraca wynik, zawierający pole task_id, które reprezentuje bieżące ID zadania. Po zakończeniu zadania, wynik generacji zostanie wysłany do określonego przez klienta callback_url w formie POST JSON, który również zawiera pole task_id, dzięki czemu wyniki zadania można powiązać za pomocą ID.
Poniżej przedstawiamy przykład, aby zrozumieć, jak to działa.
Najpierw, wywołanie zwrotne Webhook to usługa, która może odbierać żądania HTTP, deweloper powinien zastąpić to URL swojego serwera HTTP. Dla wygody demonstracji użyjemy publicznej strony przykładowej Webhook https://webhook.site/, otwierając tę stronę, otrzymasz URL Webhook, jak pokazano na obrazku:
Skopiuj ten URL, aby użyć go jako Webhook, przykładowy URL to https://webhook.site/4815f79f-a40f-4078-ac85-1cc126b6bb34.
Następnie możemy ustawić pole callback_url na powyższy URL Webhook, a także wprowadzić odpowiednie parametry, szczegóły są pokazane na obrazku:

https://webhook.site/4815f79f-a40f-4078-ac85-1cc126b6bb34 zobaczyć wynik zadania generacji, jak pokazano na obrazku:
Treść jest następująca:
task_id, a pozostałe pola są podobne do tych opisanych wcześniej, dzięki czemu można powiązać zadanie za pomocą tego pola.
Obsługa błędów
Podczas wywoływania API, jeśli wystąpią błędy, API zwróci odpowiedni kod błędu i informacje. Na przykład:400 token_mismatched: Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.400 api_not_implemented: Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.401 invalid_token: Nieautoryzowany, nieprawidłowy lub brakujący token autoryzacyjny.429 too_many_requests: Zbyt wiele żądań, przekroczono limit.500 api_error: Błąd wewnętrzny serwera, coś poszło nie tak na serwerze.

