本文へスキップ

Face Swap は SpicyAPI の画像顔入れ替えです。参照写真の顔立ちだけを対象画像へ移し、対象の頭の形・髪・ポーズ・背景はそのままです。画像 URL 2 つと任意のシードを送り、プロンプトは不要です。

最低価格 $0.013/枚

プレイグラウンド

入力

画像編集
1/1

ファイルやメディアのリンクをドロップ、貼り付け、または選択 · 1 ファイル・1 件 10 MB まで・JPG · PNG · WEBP

  • 1
1 / 1 ファイル
書き換えられる画像です。この人物の頭の形、髪、ポーズ、衣装、背景は保たれ、置き換わるのは顔立ちだけです。 1 文字以上
1/1

ファイルやメディアのリンクをドロップ、貼り付け、または選択 · 1 ファイル・1 件 10 MB まで・JPG · PNG · WEBP

  • 1
1 / 1 ファイル
顔立ちを供給する画像です。取り込まれるのは顔だけで、頭の形や髪は取り込まれません。対象とおおむね同じ方向から光が当たったものを選んでください。 1 文字以上
顔の対応付け0/10
集合写真向けです。参照画像のどの顔を対象のどの顔に入れるかを 1 項目 1 組で指定します。顔の番号は検出順に 0 から数えます。指定しなければ顔を 1 つだけ入れ替えます。料金は変わりません。 10 件以内
スタイル
realisticbeautifylossless
入れ替えた顔の仕上げです。realistic(既定)は自然な肌の色と質感を保ち、beautify は肌をなめらかに明るくし、lossless は顔のディテールを最も多く残します。料金は変わりません。
顔の補正
入れ替えた顔に顔補正の処理をかけ、より高解像度の顔にします。既定はオフです。料金は変わりません。
シード値
同じ seed を使い回すと、同じ画像ペアでの 2 回の実行を同じ乱数のうえで比べられます。空のままにするか 0 を指定すると毎回ランダムに引き直します。あくまで比較のための値で、まったく同じ結果は保証されません。 0 以上 · 2147483647 以下
セーフティチェックオフ

SpicyAPI はこのモデルにセーフティチェックをかけません。プロンプトと素材はそのままモデルに渡り、出力はモデル自身が決めます。

送信と料金見積もりを有効にする前にアカウントを確認しています。

出力

実行待ち
silver-bob-recastサンプル出力

関連モデルと次のステップ

お探しのモデルが見つかりませんか?

必要なモデルと用途をお知らせください。次に何を追加するかを決めるチームに直接届きます。

厳格な3項目スキーマ、返るのは画像1枚

Face Swap の編集 API は、image_url に対象画像、reference_image_url に転写したい顔を渡すと、顔の特徴を移した画像を1枚返します。スキーマが受け付けるフィールドは他に seed だけで、それ以外のキーを含めるとバリデーションで弾かれます。各画像フィールドには公開 HTTPS URL、アップロード済みファイルの URI、またはインライン data URI のいずれかを渡せます。

プレイグラウンド を開く
厳格な3項目スキーマ、返るのは画像1枚
必須フィールド
image_url(対象画像)と reference_image_url(顔)
任意フィールド
seed。0〜2,147,483,647 の整数
画像の渡し方
公開 HTTPS URL、アップロード済みファイルの URI、またはインライン data URI
対応フォーマット
どちらの画像フィールドも JPEG、PNG、WebP に対応
タスクの期限
1,800秒。超えるとタスクは期限切れになります
課金
出力画像1枚ごとに課金。価格は1段階のみで選べるバリエーションはありません
バリデーション
未知のフィールドはタスク化される前にリクエストを止めますスキーマは3つのフィールドしか定義しておらず additionalProperties は false です。別モデルのペイロードから紛れ込んだキー(strength の値やプロンプト文字列など)は、問題のフィールド名を添えた400エラーとして返ります。キューに積まれることも、途中で黙って捨てられることもありません。
Seed
seed は符号付き32ビットの全域をカバーします0〜2,147,483,647 の任意の整数を受け付けます。同じ画像の組み合わせに対して同じ値を2回渡すと、2回の実行を比較できる程度に結果が安定します。それがこのフィールドの役割であり、両方の画像が完全に一致することを保証するものではありません。省略するとランダムに値が選ばれます。
期限
1,800秒は上限であって、想定待ち時間ではありません各タスクには受理から1,800秒後の期限が設定され、タスクレコードの deadlineAt として返ります。この期限に達したタスクは画像を返さず expired として終了します。ポーリングのループは、写真1組あたりの所要時間を見積もるのではなく、この数値を基準に組んでください。

Face Swap API が得意なこと

リクエストボディはたった3つのキー

リクエストボディはたった3つのキー

image_url と reference_image_url が必須で、seed は任意。それがすべてです。強さを調整するダイヤルも塗って指定する領域もないので、同じリクエスト形式がスタジオ撮影のポートレートにも全身ショットにも通用し、バッチ処理でもジョブごとに変える値は2つの URL だけです。

2つの画像でフォーマットを別々に選べます

2つの画像でフォーマットを別々に選べます

image_url と reference_image_url はそれぞれ独立して JPEG、PNG、WebP に対応しています。WebP の対象画像に JPEG の参照顔を組み合わせても、同じ形式どうしの組み合わせと同様に有効で、どちらのファイルも呼び出し前に変換する必要はありません。渡し方も同様に互いに独立しています。

  • 画像フィールドはリンク、アップロード、インラインバイト列のいずれも受け付けます

    公開 HTTPS リンクなら追加の呼び出しは不要です。ファイルを先にプラットフォームへアップロードし、アップロードチケットとコミットを使って、返ってきた URI を参照することもできます。小さな画像は data URI としてインラインで渡すこともでき、デコード後 1,048,576 バイト、1辺 8,192 ピクセルまでという上限があります。

  • 1タスクにつき画像1枚

    完了したタスクはプラットフォームのストレージから画像アセットを1つだけ公開し、スキーマには枚数やバッチを指定するフィールドがありません。写真10組なら10タスクで、それぞれに独自の ID とポーリング状態があり、1組の失敗が残り9組を止めることはありません。

  • seed が力を発揮するのは再実行のときです

    seed を省略する、または 0 を送ると、呼び出しのたびに新しい値が選ばれます。同じ組み合わせに対する後続の実行を、たとえば照明の良い参照写真に差し替えたあとで、以前の実行と比較したいときに seed の指定が意味を持ちます。1回限りの呼び出しではフィールドごと省略して構いません。

  • タスクをポーリングするか、コールバックで受け取るか

    すべてのリクエストは非同期で、タスク作成のレスポンスは queued 状態のタスク ID を返します。そこから終端状態になるまでポーリングするか、作成リクエストに callBackUrl を渡して終端配信をそこで受け取ります。配信は署名付きの結果リンクを運ぶため、この URL は公開 HTTPS である必要があります。

Face Swap はどんな人に向くか

  • テンプレート化せずハードコードできるほど小さいスキーマ

    バックエンド統合エンジニア

    テンプレート化せずハードコードできるほど小さいスキーマ

    image_url、reference_image_url、seed の3つを埋めるだけなので、リクエストボディにテンプレートエンジンや動的なフィールドリストは要りません。3つの変数を直接 JSON オブジェクトに割り当てれば、このエンドポイントが受け付けるすべての呼び出しをカバーできます。

  • 照明と構図が決まった撮影素材のまま見た目だけ試す

    EC・カタログチーム

    照明と構図が決まった撮影素材のまま見た目だけ試す

    既存の商品写真(衣服のフィット感、ポーズ、背景)は image_url でそのまま残し、reference_image_url で別のモデルの顔に差し替えます。別の人物で掲載イメージを確認するためだけに、撮影を再度組む必要がなくなります。

  • 他所で生成した複数のフレームに1つの顔を通す

    キャラクター・アバタープラットフォーム

    他所で生成した複数のフレームに1つの顔を通す

    別の画像モデルで生成した一連のシーンに、同じ reference_image_url を順番に適用することで、あとから1つのアイデンティティを共有させられます。組ごとに1タスクで、以前のバッチと合わせたい再実行では seed を固定します。

  • 被写体本人の顔を出さずに画像を公開する

    プライバシー・匿名化のワークフロー

    被写体本人の顔を出さずに画像を公開する

    対象の写真は公開してよいが本人の実際の身元は出したくない場合、reference_image_url には合成の、または許諾済みの代役の顔を指定できます。実在する別人の肖像を使うのではありません。下記 FAQ にある利用条件は、どちらの画像にも同様に適用されます。

Face Swap API の使い方

  1. 各画像をどう渡すか決める

    image_url と reference_image_url は文字列なので、それぞれ公開 HTTPS リンク、プラットフォームへのアップロードから得たファイル URI、またはリクエストに埋め込む data URI のいずれかが必要です。どちらのフィールドも JPEG、PNG、WebP に対応しています。

  2. スキーマが定義するフィールドだけを送る

    image_url、reference_image_url、必要なら seed だけでボディを組み立てます。additionalProperties が false のため他のキーはすべてバリデーションで弾かれるので、送信前に別エンドポイント用のペイロードの残り物を取り除いてください。

  3. 見積もりで新規連携をドライランする

    見積もりエンドポイントはタスクを作成せず資金も確保せずに、タスク作成と同じ入力バリデーションと審査を実行します。返ってくる署名付き見積もりは5分間有効で、リクエストボディの形が正しいかを確認する最も早い方法です。

  4. 送信し、ポーリングするかコールバックを受け取る

    リクエストを送り、返ってきたタスク ID を保持します。タスクが終端状態に達するまでポーリングするか、callBackUrl を登録して配信を待ちます。Idempotency-Key を付けておけば、再試行時に2つ目のタスクを作らず元のタスクが返ります。

  5. 出力画像を1枚取得する

    成功したタスクはプラットフォームのストレージから提供される画像アセットを1つだけ公開します。枚数を指定するフィールドはないので、複数の出力が必要なら対象と参照の組ごとに1タスクずつ、それぞれポーリングして課金されます。

Face Swap の実際の例

  • 当日中の商品キャスト差し替え

    小売業者がすでに照明の整った1人のモデルの商品写真を持っていて、同じカットを別の許諾済みモデルで見せたいとします。image_url は元の写真のまま、reference_image_url に2人目のモデルのヘッドショットを指定すると、ポーズ・衣服・照明はそのままに画像が1枚返ります。

  • 1つのアイデンティティを共有する10枚のアバターフレームのバッチ

    別々に生成された10枚の対象フレームそれぞれに、同じ reference_image_url を順番に適用します。10タスクで1つの顔を共有し、バッチ全体で1つの seed 値を固定しておけば、どのフレームを再実行しても最初の結果と比較できます。

  • 接続断に耐えるバッチランナー

    各組は元の2つのソース ID から導出した Idempotency-Key とともに送信します。送信中に接続が切れてランナーが再試行しても、このキーによって2つ目のタスクを作らず元のタスクが返るため、再開したバッチが同じ組に対して二重に課金されることはありません。

Face Swap API のよくある質問

書くべきプロンプトはないので、連携作業の大部分は入力の準備と配線です。画像をどう渡すかを早めに決めてください。HTTPS リンクなら追加の呼び出しは不要、アップロードにはチケットとコミットが必要、data URI はデコード後 1,048,576 バイト未満に収める必要があります。実際のタスクを消費する前に最初のボディを見積もりに通し、比較する予定の再実行のために seed を残しておき、作成リクエストには毎回 Idempotency-Key を付けてください。

このシリーズのモデル4

画像モデル3