本文へスキップ

Head Swap は SpicyAPI の画像頭部入れ替えです。対象画像の頭部全体を、髪型・髪色・シルエットごと参照写真の頭部に置き換え、身体・衣装・ポーズ・背景はそのままです。URL 2 つと任意のシードを送ります。

最低価格 $0.013/枚

プレイグラウンド

入力

画像編集
1/1

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

  • 1
1 / 1 ファイル
書き換えられる画像です。身体、衣装、ポーズ、光、背景は保たれ、首から上がすべて置き換わります。対応形式は JPEG・PNG・WebP です。AVIF は使えません。コンテナ形式が動画と共通のため、入力チェックが動画コンテンツとして弾きます。HEIC など他の ISOBMFF 系ファイルも同様になる見込みです。JPEG か PNG に変換してからお使いください。 1 文字以上
1/1

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

  • 1
1 / 1 ファイル
頭部そのものを供給する画像です。形、髪型、髪色まで含みます。対象と近い方向から光が当たり、近い角度で構えているものを選んでください。対応形式は JPEG・PNG・WebP です。AVIF は使えません。コンテナ形式が動画と共通のため、入力チェックが動画コンテンツとして弾きます。HEIC など他の ISOBMFF 系ファイルも同様になる見込みです。JPEG か PNG に変換してからお使いください。 1 文字以上
シード値
同じ seed を使い回すと、同じ画像ペアでの 2 回の実行を同じ乱数のうえで比べられます。空のままにするか 0 を指定すると毎回ランダムに引き直します。あくまで比較のための値で、まったく同じ結果は保証されません。 0 以上 · 2147483647 以下
セーフティチェックオフ

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

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

出力

実行待ち
silver-hair-onto-armorサンプル出力

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

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

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

画像URLを2つ渡すだけで頭部全体を入れ替え、プロンプト不要

Head Swap API は対象画像(image_url)と参照する頭部の写真(reference_image_url)を受け取り、対象画像の頭部全体を参照側に差し替えて返します。顔立ち、髪型、髪の色、頭の形はすべて参照画像から引き継がれ、首から下は対象画像のまま変わりません。プロンプト欄もマスクもなく、2枚の画像と任意のseedだけが結果を左右する入力です。

プレイグラウンド を開く
画像URLを2つ渡すだけで頭部全体を入れ替え、プロンプト不要
必須入力
image_url(対象)と reference_image_url(参照する頭部)
任意入力
seed、整数 0〜2,147,483,647。0 または未指定なら毎回ランダム
対応形式
両方の画像フィールドとも JPEG、PNG、WebP
プロンプトやマスク
このエンドポイントの schema にはどちらも存在しません
タスクの上限時間
終了状態に達するまで 1,800 秒
コンテンツポリシー
規制なし: このエンドポイントにプラットフォーム側のコンテンツフィルターはありません
対象範囲
顔だけでなく頭部全体が動く髪型と髪の色、頭の形が顔立ちと一緒に移るのが、顔だけを差し替える一般的なフェイススワップとの違いです。
スキーマ
画像2枚と任意のseed、それ以外はなしadditionalProperties は false で、スキーマにはちょうど3つのフィールドしかないため、言葉を選ぶプロンプトも強度を調整するダイヤルも存在しません。
失敗のパターン
首のつなぎ目で自然さが決まる2枚の元画像の光の向き、肌の色味、頭の角度がそろっているかどうかで、継ぎ目が1枚の写真に見えるか破綻するかが決まります。

Head Swap API が得意なこと

髪も色も頭の形も顔と一緒に移る

髪も色も頭の形も顔と一緒に移る

image_url は残す側の体を提供します。服装、ポーズ、光の当たり方、背景です。reference_image_url は首から上のすべてを提供し、髪型と髪の色も顔と一緒に反映されます。まったく別の構図に移しても、参照画像そのものの髪を保てます。

言葉にすることも選択することも不要

言葉にすることも選択することも不要

リクエストボディはちょうど3つのフィールドです。image_url、reference_image_url、任意のseed。言葉を選ぶプロンプトも範囲を選ぶ操作もないため、良い結果を出す作業はすべて2枚の写真選びに集約されます。別のエンドポイント用のキーを誤って混ぜるとバリデーションで弾かれ、黙って無視されることはありません。

  • seed は結果を比較する手段で、固定はしない

    同じ画像の組み合わせに同じseedを渡すと、2回の呼び出しを同じ乱数の系列にそろえられます。これにより2つの参照画像で光や角度を変えた違いが読み取りやすくなります。まったく同じ出力になる保証はなく、0または未指定は毎回新しい乱数を要求します。

  • 1回の呼び出しで頭部1つ、出力1枚

    このエンドポイントは各画像に写る頭部が1つであることを前提にしています。リクエストごとに出力画像は1枚で、生成した画像単位で課金され、1回の呼び出しで複数案を返すバッチ用フィールドはありません。異なるseedや参照写真はそれぞれ別のリクエストが必要です。

  • 画像を渡す方法は3通り

    image_url と reference_image_url はファイル添付ではなく文字列です。公開されたHTTPSアドレス、直接アップロード後にプラットフォームが返す spicy:// ファイルURI、小さいファイル向けのBase64データURIのいずれかを受け付けるため、手元の写真を公開ホストに置かずに使えます。

  • 上限が決まっている非同期タスク

    呼び出しはタスクを作成します。送信し、返されたタスクIDを保持し、ステータスが確定するまでポーリングし、出力画像をプラットフォームのストレージから取得します。タスクは終了状態に達するまで1,800秒の猶予があり、そこを超えるとタイムアウト扱いになるため、ポーリングのループはこの上限を基準に組んでください。

Head Swap はどんな人に向くか

  • 同じ1枚の撮影素材で、バージョンごとに登場人物を差し替える

    キャンペーン・カタログ制作チーム

    同じ1枚の撮影素材で、バージョンごとに登場人物を差し替える

    承認済みの1枚の写真を image_url に固定し、各バージョンで許諾を得た登場人物を reference_image_url に入れて、1パスにつき1タスクを実行します。服装、ポーズ、セット、色調はセット全体で変わりません。変化するのは参照する頭部だけだからです。

  • 同じ撮影の別カットから頭部を持ってくる

    レタッチ・カット間の連続性担当

    同じ撮影の別カットから頭部を持ってくる

    スキーマ上、2枚の画像が別人を写している必要はないため、体と光の状態が最も良いカットを image_url に、同じ人物の別カットを頭部の供給元として使えます。人物のアイデンティティは保たれ、ポーズもそのまま残ります。

  • 生成した頭部と撮影した体を組み合わせる

    合成キャラクター制作

    生成した頭部と撮影した体を組み合わせる

    生成したポートレートも有効な reference_image_url です。このフィールドはエンドポイントが取得できる画像であればよいためです。これにより、繰り返し登場する合成キャラクターに、撮影済みセットのポーズ、服装、光、背景を1回の呼び出しで与えられます。

  • フィールド2つの呼び出しがどんな画像処理にも組み込める

    パイプラインを組むエンジニア

    フィールド2つの呼び出しがどんな画像処理にも組み込める

    必須の画像フィールドが2つと任意のseedだけというスキーマなので、レンダリング、写真、別のエディタの出力のどれであっても、各画像がHTTPSアドレス、アップロード済みファイルURI、インラインデータURIのいずれかとして届けば、その後段に差し込めます。

Head Swap API の使い方

  1. 両方の画像にエンドポイントが読み取れる参照先を用意する

    image_url と reference_image_url は文字列を受け取るので、各画像は公開HTTPSリンク、プラットフォームのアップロードフローが返す spicy:// ファイルURI、ファイルが小さければインラインのデータURIとして届けます。両フィールドともJPEG、PNG、WebPに対応します。

  2. 2枚の写真で光の向きと角度をそろえる

    image_url とおおむね同じ方向から光が当たり、似た角度で撮られた reference_image_url を選びます。首のつなぎ目はこの一致度で判断され、ずれが可視化された継ぎ目の最も多い原因です。

  3. 集合写真は1人にトリミングしてから送る

    どちらかの元画像に2人以上写っている場合は、送る前に意図した人物にトリミングします。このエンドポイントは1枚の画像につき頭部1つを前提としており、トリミングしていない集合写真は予測できない結果になります。

  4. 検証段階ではseedを未指定にしておく

    序盤の呼び出しではseedを省略するか0のままにしてランダムな結果を得て、組み合わせがうまくいったところでseedを固定し、後の比較呼び出しを同じ乱数系列で走らせます。

  5. タスクを送信し、終了状態になるまで待つ

    image_url、reference_image_url、任意のseedを送信し、返されたタスクIDを保存して、ステータスが確定するまでポーリングし、出力画像をプラットフォームのストレージから取得します。

  6. まず首を確認する

    画像の他の部分を判断する前に首のつなぎ目を見ます。1枚の連続した写真に見えれば残りの転写もたいてい成立しています。そうでなければ、同じ組み合わせを再送するのではなく、元写真の光や角度を変えてください。

Head Swap の実際の例

  • 1枚の元画像に3つの参照を試す

    同じ対象写真を、reference_image_url だけを変えて3回送信し、seedは未指定のままにします。3つの結果は誰の頭部が届いたかだけが異なるため、比較の対象は首のつなぎ目になり、その継ぎ目が1枚の写真に見えるパスが勝者です。

  • 並べて比べる価値のある再実行

    最初の呼び出しでseedを選んだ整数に固定します。次に参照画像を対象画像と同じ側から光が当たったものに差し替えると、2回目の呼び出しは入力が1つだけ変わった状態になり、2つの出力が本来問いたかった質問に答えます。呼び出しごとにランダムな乱数を使っていたら、参照画像以上の差が生まれていたはずです。

  • 集合写真を1人にトリミングする

    4人が写ったパーティー写真では、どの人物を対象にすべきかエンドポイントには判断できません。そこで意図した人物にトリミングしてから image_url に渡します。トリミングによってその人物の頭部が画面内で大きく保たれ、これは両方の入力が求める条件でもあります。

Head Swap API のよくある質問

言葉にするプロンプトがない分、2枚の画像選びが結果のすべてを決めます。image_url とおおむね同じ方向から光が当たり、似た角度で撮られた reference_image_url を選び、各フレームにはっきり見える頭部を1つだけ用意してください。どの結果でもまず首のつなぎ目を確認し、線が見えるなら元写真の光や角度を変えます。このエンドポイントにはずれを補正するパラメータがないためです。

このシリーズのモデル2

画像モデル1

  • Head Swap表示中画像編集$0.013枚あたり