はじめに
Face Swap は、ある画像の顔立ちを別の画像の人物に移します。移るのは顔立ちだけで、対象画像の髪型、生え際、頭の輪郭、ポーズ、服装、光、背景は元のまま残ります。だからこそ、結果は元の写真の上に貼り付いたものではなく、写真の中に収まったものになります。
リクエストは画像 URL 2 つと任意の seed だけです。変更する写真を image_url、顔を reference_image_url に入れます。書くプロンプトの欄はなく、1 リクエストにつき 1 枚が返ります。
主な機能とハイライト
カットはそのまま、人物だけを変える
対象の写真の髪、ポーズ、服装、フレーミング、背景がすでに決まっているときの、範囲を絞った選択肢です。顔のアイデンティティだけを移し、承認済みの構図のほかの部分は守るため、人物の差し替えが画像全体の生成し直しになりません。
繰り返し使える画像ペアのために
流れはあえて単純にしてあります。権利処理の済んだ対象画像と参照画像を、角度と光をそろえて用意し、結果のあごのライン、目、肌のつながりを確認します。カットが見分けられる状態を保つ必要がある、アバター、カタログ、キャンペーンのバリエーションを管理しながら作るのに向いています。
入れ替える範囲を先に決める
対象画像の髪型と頭の輪郭が構図の一部なら Face Swap を使います。新しい人物の髪と頭の形まで持ち込む必要があるなら、Head Swap に回してください。範囲を正しく選べば、避けられたはずのやり直しがなくなります。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
image_url | はい | 書き換えられる画像です。この人物の頭の形、髪、ポーズ、衣装、背景は保たれ、置き換わるのは顔立ちだけです。 1 文字以上 |
reference_image_url | はい | 顔立ちを供給する画像です。取り込まれるのは顔だけで、頭の形や髪は取り込まれません。 1 文字以上 |
face_mapping | いいえ | 集合写真向けです。参照画像のどの顔を対象のどの顔に入れるかを 1 項目 1 組で指定します。 10 件以内 |
style | いいえ | 入れ替えた顔の仕上げです。realistic(既定)は自然な肌の色と質感を保ち、beautify は肌をなめらかに明るくし、lossless は顔のディテールを最も多く残します。 |
face_enhance | いいえ | 入れ替えた顔に顔補正の処理をかけ、より高解像度の顔にします。既定はオフです。 デフォルト値: |
seed | いいえ | 同じ seed を使い回すと、同じ画像ペアでの 2 回の実行を同じ乱数のうえで比べられます。空のままにするか 0 を指定すると毎回ランダムに引き直します。 |
料金
$0.013 / 枚
ユースケース
髪型はもう決まっている写真に、新しい顔を入れる
対象の写真の髪型、生え際、頭の輪郭が構図の一部で、変えたいのが顔立ちだけのときに使います。対象を image_url、顔を reference_image_url で送り、結果を受け入れる前に、目とあごのラインを原寸で元画像と見比べます。
ストック写真や生成画像の人物を差し替える
光、ポーズ、セットがすでにうまくいっているカットを使い、そこに別の顔を入れます。画像全体を生成し直して、承認済みの構図を失う必要はありません。
アバターやプロフィール画像の大量処理
書くプロンプトがないので、対象と参照のペアのリストをプログラムからそのまま流せます。再試行を最初の結果と比べられるようにしたいときは、ペアごとに seed を固定します。
撮影全体を通して同じ人物にする
どのモデルでも一連の場面を生成し、そのあとで同じ顔をすべてに移せば、シリーズが同じ人物として読めます。髪と服はそれぞれの対象画像のものが残るので、生成したバリエーションも失われません。
プロンプトガイドと実践のヒント
両方の顔について権利があるか確認する
技術的なことの前に確認してください。対象画像も参照画像も人物を写しているため、移す顔と、それを入れる画像の両方について権利が必要です。許諾は作業記録と一緒に保管します。
2 枚の画像をホストしてペアで送る
image_url は変更する画像、reference_image_url は顔を提供する画像です。プロンプトは関わりません。汎用の画像エディターなら、次のような指示が必要になります。「Face swap: take the face and hairline of the woman in the second image and place it onto the woman in the first image. Keep the first image's pose, outfit, magazine layout, lighting, framing and colour grade completely unchanged. Match skin tone and lighting so the result reads as one photograph.」このエンドポイントでは、そのどちらも要りません。
反復する前に結果を確かめる
2 枚とも、はっきり見えて、おおむね正面向きで、光がよく当たった顔にしてください。横顔に近い角度、動きのぶれ、顔が大きく隠れている場合、顔がとても小さい場合は、移し替えの質が落ちるか、失敗します。2 枚の間で光の向きや肌のトーンが大きく違うとあごのラインに出るので、対象画像とおおよそ光が合う参照画像を選んでください。既定では 1 枚につき顔を 1 つ入れ替えます。集合写真では face_mapping に組み合わせ(参照画像のどの顔を対象のどの顔に入れるか、0 から数えた番号)を指定してください。プロンプトもマスクも強度の調整もないため、結果が違うときに直すのは別の画像ペアであって、言い換えたリクエストではありません。
API クイックスタート
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "spicyapi/face-swap-v1/edit",
"input": {
"image_url": "https://example.com/reference.png",
"reference_image_url": "https://example.com/reference.png",
"style": "realistic"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
認証、完全なスキーマ、ポーリング、エラー処理は API リファレンスを参照してください。











