Процес подачі заявки
Щоб використовувати Face Swap API, спочатку потрібно перейти на сторінку подачі заявки Face Swap API, після переходу на сторінку натисніть кнопку «Acquire», як показано на малюнку:
Якщо ви ще не увійшли в систему або не зареєстровані, вас автоматично перенаправлять на сторінку входу, запрошуючи вас зареєструватися та увійти, після входу або реєстрації ви автоматично повернетеся на поточну сторінку.
При першій подачі заявки вам буде надано безкоштовний ліміт, який дозволяє безкоштовно використовувати цей API.
Приклад запиту
Ми візьмемо два зображення як приклад, щоб продемонструвати, як використовувати цей API. Припустимо, зображення джерела виглядає так:

Налаштування заголовків запиту та тіла запиту
Request Headers включає:accept: вказує на прийняття відповіді у форматі JSON, тут вказуєтьсяapplication/json.authorization: ключ для виклику API, після подачі заявки можна вибрати безпосередньо зі списку.
source_image_url: посилання на завантажене зображення джерела.target_image_url: посилання на завантажене зображення цілі.timeout: необов’язковий, час обробки (в секундах), при перевищенні часу буде повернено відповідь.

Приклад коду
Можна помітити, що на правій стороні сторінки вже автоматично згенеровано код на різних мовах, як показано на малюнку:
CURL
Python
Приклад відповіді
Після успішного запиту API поверне інформацію про результати зображення після заміни обличчя. Наприклад:image_url, яке містить посилання на зображення, де обличчя на зображенні цілі замінено обличчям на зображенні джерела, інша інформація виглядає так, як показано на малюнку:
image_url, посилання на згенероване зображення.image_width, ширина згенерованого зображення.image_height, висота згенерованого зображення.image_size, розмір згенерованого зображення.task_id, ID завдання на генерацію.

Асинхронний зворотний виклик
Оскільки час генерації Face Swap відносно довгий, приблизно 1-2 хвилини, якщо API довго не відповідає, HTTP запит буде постійно підтримувати з’єднання, що призводить до додаткових витрат системних ресурсів, тому цей API також підтримує асинхронні зворотні виклики. Загальний процес: коли клієнт ініціює запит, додатково вказується полеcallback_url, після ініціювання запиту API відразу поверне результат, що містить інформацію про поле task_id, яке представляє ID поточного завдання. Коли завдання завершено, результат генерації Face Swap буде надіслано на вказаний клієнтом callback_url у форматі POST JSON, в якому також міститься поле task_id, таким чином результати завдання можна пов’язати за ID.
Далі ми розглянемо приклад, щоб зрозуміти, як це працює.
По-перше, Webhook зворотний виклик - це служба, яка може приймати HTTP запити, розробники повинні замінити на URL свого HTTP сервера. Тут для зручності демонстрації використовується публічний зразок сайту Webhook https://webhook.site/, відкривши цей сайт, ви отримаєте Webhook URL, як показано на малюнку:
Скопіюйте цей URL, і ви зможете використовувати його як Webhook, приклад тут - https://webhook.site/3b76eba5-4573-432a-b607-3000b87afc06.
Далі ми можемо налаштувати поле callback_url на вказаний Webhook URL, одночасно заповнивши відповідні параметри, як показано на малюнку:

Зміст виглядає так:
task_id, інші поля схожі на наведені вище, за допомогою цього поля можна реалізувати зв’язок завдання.
Обробка помилок
При виклику API, якщо виникає помилка, API поверне відповідний код помилки та інформацію. Наприклад:400 token_mismatched:Неправильний запит, можливо, через відсутні або недійсні параметри.400 api_not_implemented:Неправильний запит, можливо, через відсутні або недійсні параметри.401 invalid_token:Неавторизовано, недійсний або відсутній токен авторизації.429 too_many_requests:Занадто багато запитів, ви перевищили ліміт запитів.500 api_error:Внутрішня помилка сервера, щось пішло не так на сервері.

