申請プロセス
Face Swap API を使用するには、まず申請ページ Face Swap API にアクセスして、該当するサービスを申請する必要があります。ページに入ったら、「Acquire」ボタンをクリックします。以下の図のように:
まだログインまたは登録していない場合は、自動的にログインページにリダイレクトされ、登録とログインを促されます。ログインまたは登録後、現在のページに自動的に戻ります。
初回申請時には無料のクレジットが付与され、この API を無料で使用できます。
リクエスト例
2つの画像を例に、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 リクエストを発行した後、API はすぐに結果を返し、task_id フィールド情報を含み、現在のタスク ID を示します。タスクが完了すると、生成された Face Swap の結果が POST JSON 形式でクライアントが指定した callback_url に送信され、その中にも task_id フィールドが含まれ、タスク結果を ID で関連付けることができます。
以下の例を通じて、具体的にどのように操作するかを理解しましょう。
まず、Webhook コールバックは HTTP リクエストを受け取ることができるサービスで、開発者は自分が構築した HTTP サーバーの URL に置き換える必要があります。ここでは、便利なデモのために公開された 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:内部サーバーエラー、サーバーで何かがうまくいきませんでした。

