Proces aplikacji
Aby korzystać z API Face Swap, należy najpierw przejść do strony aplikacji Face Swap API, klikając przycisk „Acquire”, jak pokazano na poniższym obrazku:
Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować. Po zalogowaniu lub rejestracji zostaniesz automatycznie przekierowany z powrotem na bieżącą stronę.
Podczas pierwszej aplikacji otrzymasz darmowy limit, który pozwala na bezpłatne korzystanie z tego API.
Przykład żądania
Użyjemy dwóch obrazów jako przykładu, aby pokazać, jak korzystać z tego API. Załóżmy, że obraz źródłowy wygląda jak poniżej:

Ustawienia nagłówków żądania i ciała żądania
Nagłówki żądania obejmują:accept: określa, że oczekiwany jest wynik odpowiedzi w formacie JSON, tutaj wpiszapplication/json.authorization: klucz do wywołania API, po aplikacji można go bezpośrednio wybrać z rozwijanej listy.
source_image_url: link do przesłanego obrazu źródłowego.target_image_url: link do przesłanego obrazu docelowego.timeout: opcjonalne, czas oczekiwania na przetwarzanie (w sekundach), po upływie czasu zwróci bezpośrednio.

Przykład kodu
Można zauważyć, że po prawej stronie strony automatycznie wygenerowano kod w różnych językach, jak pokazano na poniższym obrazku:
CURL
Python
Przykład odpowiedzi
Po pomyślnym żądaniu API zwróci informacje o wyniku zamiany twarzy. Na przykład:image_url, które zawiera link do obrazu po zamianie twarzy, a inne informacje są pokazane na poniższym obrazku:
image_url, link do wygenerowanego obrazu.image_width, szerokość wygenerowanego obrazu.image_height, długość wygenerowanego obrazu.image_size, rozmiar wygenerowanego obrazu.task_id, ID zadania generacji.

Asynchroniczny callback
Ponieważ czas generacji Face Swap 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 callbacków. Cały proces polega na tym, że klient podczas wysyłania żądania dodatkowo określa polecallback_url, po wysłaniu żądania API natychmiast zwraca wynik, zawierający pole task_id, które reprezentuje aktualne ID zadania. Po zakończeniu zadania wynik generacji Face Swap zostanie wysłany do określonego przez klienta callback_url w formie POST JSON, w tym również 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, callback Webhook to usługa, która może odbierać żądania HTTP, deweloperzy powinni zastąpić ją URL swojego serwera HTTP. W tym celu, dla wygody demonstracji, użyjemy publicznej strony przykładowej Webhook https://webhook.site/, otwierając tę stronę, można uzyskać URL Webhook, jak pokazano na poniższym obrazku:
Skopiuj ten URL, aby użyć go jako Webhook, przykładowy URL to https://webhook.site/3b76eba5-4573-432a-b607-3000b87afc06.
Następnie możemy ustawić pole callback_url na powyższy URL Webhook, a także wypełnić odpowiednie parametry, jak pokazano na poniższym obrazku:

Treść jest następująca:
task_id, a inne pola są podobne do tych opisanych wcześniej, dzięki czemu można powiązać zadanie.
Obsługa błędów
Podczas wywoływania API, jeśli wystąpi błąd, API zwróci odpowiedni kod błędu i informacje. Na przykład:400 token_mismatched:Zły wniosek, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.400 api_not_implemented:Zły wniosek, 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ń, przekroczyłeś limit szybkości.500 api_error:Błąd wewnętrzny serwera, coś poszło nie tak na serwerze.

