AI キャラクタースワップは、動画の人物を別のキャラクターに差し替えながら、タイミング、カメラ、動きをそのまま残す手法です。MiniMax H3 Character Swap は 1 回のリクエストで完結します。短い動画、新しいキャラクターの画像 1 枚、誰を入れ替えるかを示す短い言葉を送ると、そのキャラクターが元のテイクを演じる新しいクリップが返ってきます。検出ステップもマスクの作成もありません。動画と画像に登場する実在の人物すべてについて、許可が必要です(下の「同意と肖像」を参照)。ここで使う例は普通のシーンで、このガイドはアダルトコンテンツを扱いません。
顔だけの差し替え(フェイススワップ)とは違います。フェイススワップは元の人物の体、髪、服をそのまま残して顔だけを変えます。キャラクタースワップは顔、髪、服装、体格まで画像のキャラクターに置き換え、動きだけをクリップから引き継ぎます。
入力と出力
| 入力 | 渡すもの |
|---|---|
| 動画 | MP4、90 MB まで。使われるのは最初の 15 秒だけです。切れ目のない 1 ショットにしてください。モデルページによると、カットのないテイクが最も安定します。 |
| 画像 | 新しいキャラクターの画像 1 枚。写真、3D レンダリング、イラストのどれでも可。JPEG、PNG、WebP、GIF で 10 MB まで。無地の背景の全身画像が最適です。 |
| プロンプト | 入れ替える相手を指す名詞句だけを書きます。「左の女性」「白いシャツの男性」など(英語で入力)。プラットフォームがモデルの学習に使われた指示文に包んで渡すので、「X を Y に置き換えて」とは書かないでください。空欄ならメインの人物が対象です。 |
| 長さ、アスペクト比、解像度 | 長さとアスペクト比はクリップに合わせます。解像度は 480p、540p、768p、1080p。出力は 3〜15 秒です。モデルページには出力に音声が付くと記載されていますが、下のクリップの音声は確認していません。 |
まずは 480p で試してください。最も安い段階で、1080p に払う前に入れ替えがうまくいくか確認できます。
再現できる例
ここにあるクリップはすべて AI 生成で、登場するのは架空の成人です。どれもモデルページの例で、入力ファイル、プロンプト、シードも載っています。紹介する実行は 768p で作ったものです。下のコードは安く試せるよう 480p を使うので、480p で再実行すると見た目は多少変わります。
ダンススタジオのソロ(「Studio mirror dancer swap」、シード 7)。 元は、無人のスタジオで黒いホルターネックのジャンプスーツの女性が腕を上げ、一回転してカメラに微笑む映像です。参照はリネンシャツのひげの男性で、プロンプトは「the woman in the black halter jumpsuit」です。

上げた腕と笑顔は結果に反映されています。最初のシード(41)では背景に余分なダンサーが並び、シード 7 では元の映像どおり無人のままでした。人が増えたら別のシードを試してください。
ケーブルカー(「Funicular scarlet jumpsuit swap」、シード 12)。 元は、黒髪でマスタード色のトレンチコートの女性が窓から振り向き、髪を耳にかけて笑う映像です。参照は、短い白金の髪にスカーレットのオフショルダー ジャンプスーツの女性の全身スタジオ写真で、プロンプトは「the woman in the mustard trench coat」です。

顔、髪、赤いジャンプスーツは写真のとおりに反映され、髪を耳にかける仕草と笑いはクリップ内で元と同じ位置で起きています。同じ参照画像はスタジオのクリップではうまくいきませんでした。下の「試して分かった制限」を参照してください。
理髪店、描かれた参照と 3D の参照(シード 42、プロンプト「the man in the white shirt」)。 2 つの例は同じ元クリップを使います。白いシャツの男性が立ち上がり、鏡で髪を確かめて出ていく映像です。
1 つ目の参照は、茶色のフライトジャケットに緑のカーゴパンツの赤毛の女性を描いたコミックのイラストです。結果(「Barbershop comic heroine swap」)では、同じ赤毛、ジャケット、パンツの実写の女性が登場し、ポスターフレームでは元の男性と同じく鏡の前で手を髪に上げています。


2 つ目の参照は、灰色の髪とひげの 3D アニメの男性のレンダリングで、紺のピーコート、クリーム色のニット、茶色の靴の姿です(「Barbershop 3D character swap」)。結果は、灰色の髪、無精ひげ、紺のコートの実写の男性で、ポスターフレームには同じ「手を髪に上げる」仕草が鏡の前に見えます。線画やレンダリングの陰影は引き継がれず、髪、色、服装は引き継がれます。


アダプターは効いているのか
私たちのテストでは効いていました。同じ入力で、キャラクタースワップ用アダプターなしだと、元の男性が通行人として背景に再登場し、ソファの 2 人のシーンでは後半で動作が消えました。ありの場合は、指定した人物だけが変わり、動作は元に沿っていました。モデルページは常にアダプター付きで動くので、調整するものはありません。2 人を入れ替えるには、クリップを 2 回走らせ、毎回別の人物を指定します。
コードから呼び出す
ファイルを 2 つアップロードしてから、タスクを 1 つ実行します。Python SDK(pip install spicyapi)をインストールし、SPICY_API_KEY を設定してください。
import uuid
from spicyapi import SpicyClient, output_assets
client = SpicyClient() # reads SPICY_API_KEY from the environment
clip = client.upload_file("./studio-solo.mp4")
character = client.upload_file("./character-full-body.jpg")
task = client.create_task(
model="minimax/h3-character-swap/video-edit",
input_data={
"video_url": clip["uri"],
"image_url": character["uri"],
"prompt": "the woman in the black halter jumpsuit",
"duration_seconds": 5,
"aspect_ratio": "16:9",
"resolution": "480p",
"seed": 7,
},
idempotency_key=str(uuid.uuid4()), # new key per new request
)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
raise RuntimeError(f"{task['taskId']} ended as {final['state']}")
print(output_assets(final)[0]["url"]) # copy the video to your own storage nowアップロード、待機、エラー、再試行についてはタスクガイドと Python SDK リファレンスにまとめてあります。結果の保存期間は限られているので、返された URL に依存する前にメディアの保持と配信を確認してください。Playground ではこの入力がフォームになっています。動画と画像をアップロードし、誰を入れ替えるかを入力して実行します。
料金
料金は 3 つの部分で決まります。出力秒数と、元動画の秒数(開始した秒は切り上げ、最大 15 秒)を解像度ごとの単価で計算し、さらにキャラクター画像の分としてリクエストごとに $0.02 が加わります。
| 解像度 | 1 秒あたり |
|---|---|
| 480p | $0.06 |
| 540p | $0.09 |
| 768p | $0.135 |
| 1080p | $0.27 |
480p で、5 秒の元動画から 5 秒を出力すると、10 秒 × $0.06 + $0.02 = $0.62。768p なら 10 × $0.135 + $0.02 = $1.37 です。出力は最短 3 秒なので、最も安いテストは 480p で 3 秒のクリップから 3 秒を出力する場合で、6 × $0.06 + $0.02 = $0.38 です。実行前にモデルページのリアルタイム見積もりで合計が分かります。
試して分かった制限
- 黒いジャンプスーツにスカーレットのジャンプスーツ。 スタジオのクリップ(黒いホルターネックのジャンプスーツの女性)に、上のスカーレットのジャンプスーツの写真を使い、シード 7 と 99 で実行しました。どちらも元の服装が残り、肌の色は参照より明るくなり、顔も写真からずれました。同じ写真をケーブルカーのクリップ(トレンチコート、シード 12)に使うと、1 回目からうまくいきました。原因は切り分けていません。2 つのクリップの違いは、スタジオの女性が参照と同じワンピース型の服装だったことなので、服装が変わらないときは、別の服装の人物が映る元クリップか、別のシードを試してください。
- 余分な人物。 スタジオの 1 回(シード 41)で、元にいない背景のダンサーが追加されました。別のシードで再実行してください。
- 1 リクエストにつきキャラクター 1 人で、使われるのは元動画の最初の 15 秒だけです。出力は指定した長さの新しいクリップで、元ファイルの 1 人を塗り替えたものではないので、背景の細部が変わることがあります。公開前に、顔を必ず参照画像と見比べてください。
同意と肖像
自分自身、署名済みの許諾がある出演者、または自分で生成した人物など、処理する権限のある映像と肖像にのみ使用してください。実在の人物を、本人の明確で十分な説明を受けた同意なしに、私的な内容や名誉を傷つける映像に登場させる用途、なりすまし、未成年者が映る映像への使用は禁止です。写真が公開されていることは同意ではなく、同意は別のプロジェクトに引き継がれません。
用途別の選び方
- 1 人、画像 1 枚、手早い差し替え、または描かれたキャラクター: 上で説明した MiniMax H3 Character Swap。
- 複数人、または同じキャラクターの写真を最大 3 枚: Video Character Swap は先にクリップを解析し、番号で対象を選びます。5〜30 秒のクリップに対応します。手順はリファレンスワークフローのガイドをご覧ください。
- 顔だけを変えたい: フェイススワップのワークフローを使います。フェイススワップ API ガイドで説明しています。
FAQ
無料で試せますか? このモデルに無料枠はありません。最も安いテストは 480p の 3 秒クリップで、上の計算のとおり $0.38 です。
動画は何秒まで? 元動画は最初の 15 秒が使われ、出力は 3〜15 秒です。長さはクリップに合わせてください。
複数の人物を入れ替えられますか? 1 リクエストにつき 1 キャラクターです。クリップを再実行して別の人物を指定するか、Video Character Swap で 1 回の解析から複数の対象を選びます。
元の音声は残りますか? モデルページには出力に音声が付くと記載されていますが、今回のテストでは音声を確認していないので、元の音声と同じとは考えないでください。
漫画やアニメの画像も使えますか? 使えます。そのキャラクターの実写版として登場し、髪、色、服装は引き継がれ、線画や陰影は引き継がれません。





