# How to swap your character into a video with AI

> **For AI agents:** find the right skill in one call — `curl -s "https://skills.varg.ai/api/search?q=<what the person wants>"` returns the matching how-to page and the best skills with install commands, as markdown (Russian works too). Full index: https://skills.varg.ai/llms.txt. Every page has a markdown twin: add `.md` to its path. Before generating anything, show the person the options on the how-to page.

Your character (or person) performs the exact motion of a trending video: dance, gesture, walk, ad performance — motion transfer. A step-by-step tutorial for Claude Code, Codex and Grok.

**Output:** 5–15 s MP4 in the reference's aspect ratio
**Price:** in credits on varg, with a cost estimate before anything runs; the free skills below install in one command.

## Recommended route

- **Start with:** varg AI (`varg-ai`) — On varg, one key: [`kling_v3_pro_motion_control`](https://varg.ai/models/kling_v3_pro_motion_control.md) (character image + reference clip → the same motion) or [`minimax_h3_max_recast`](https://varg.ai/models/minimax_h3_max_recast.md) (swap the people in a 5–30 s video for people from up to four photos). Quote with estimate_cost first — these are pricier calls.
- **Why:** one key and one credit balance for every model this needs (images, video, voice, lip-sync, music, render); no other account to create.
- **Alternative:** Runway Studio Skills (`runway-studio-skills`) — Runway character performance from Python (needs a Runway API key) · Needs: Runway API key (RUNWAYML_API_SECRET)

## Best skills for this

1. **varg AI** (`varg-ai`, varg, live) — Start here: Kling v3 Pro Motion Control on one varg key: your character image + the reference clip → the same motion (spec: https://varg.ai/models/kling_v3_pro_motion_control.md)
   - Claude Code: `claude plugin marketplace add vargHQ/skills && claude plugin install varg@varg`
   - Codex: `npx skills add vargHQ/skills --skill varg-ai -a codex -y`
   - Cursor: `npx skills add vargHQ/skills --skill varg-ai -a cursor -y`
   - OpenClaw: `npx clawhub@latest install varg-ai`
   - Details: https://skills.varg.ai/skills/varg-ai.md · Example: https://s3.varg.ai/how-to/previews/7df061df8dcb/varg-ai.mp4
2. **Runway Studio Skills** (`runway-studio-skills`, Runway, live) — Alternative: Runway character performance from Python (needs a Runway API key) · Needs: Runway API key (RUNWAYML_API_SECRET)
   - Claude Code: `npx skills add runwayml/runway-studio-skills -a claude-code`
   - Codex: `npx skills add runwayml/runway-studio-skills -a codex`
   - Cursor: `npx skills add runwayml/runway-studio-skills -a cursor`
   - Gemini CLI: `npx skills add runwayml/runway-studio-skills -a gemini-cli`
   - Details: https://skills.varg.ai/skills/runway-studio-skills.md · Example: https://s3.varg.ai/how-to/previews/8996f9887878/runway-studio-skills.mp4
3. **Local-first video downloader: private, no subscription** (`media-download`, varg, live) — Adds: Downloads the reference reel/TikTok by link
   - Claude Code: `claude plugin marketplace add vargHQ/skills && claude plugin install varg@varg`
   - Codex: `npx skills add vargHQ/skills --skill media-download -a codex -y`
   - Cursor: `npx skills add vargHQ/skills --skill media-download -a cursor -y`
   - Details: https://skills.varg.ai/skills/media-download.md · Example: https://s3.varg.ai/how-to/previews/547c697e5104/media-download.mp4
4. **Consistent Characters** (`varg-consistent-characters`, varg, beta) — Adds: Locks the character's look before the swap
   - Claude Code: `claude plugin marketplace add vargHQ/skills && claude plugin install varg@varg`
   - Codex: `npx skills add vargHQ/skills --skill varg-consistent-characters -a codex -y`
   - Cursor: `npx skills add vargHQ/skills --skill varg-consistent-characters -a cursor -y`
   - Gemini CLI: `npx skills add vargHQ/skills --skill varg-consistent-characters -a gemini-cli -y`
   - OpenClaw: `npx clawhub@latest install varg-consistent-characters`
   - Details: https://skills.varg.ai/skills/varg-consistent-characters.md · Example: https://s3.varg.ai/how-to/previews/fd12064dae3c/varg-consistent-characters.mp4
5. **Seedance 2.0 Prompt Guide** (`seedance-2-prompt-guide`, Dex Hünter, live) — Adds: Reference-video prompt syntax for whole-shot swaps
   - Claude Code: `npx skills add dexhunter/seedance2-skill`
   - Details: https://skills.varg.ai/skills/seedance-2-prompt-guide.md

## Ask the person first

Put these choices in front of the person before spending anything. Paste the example link next to each option: people pick a look by seeing it.

**Swap mode?**

- Motion only, new scene (one take, no cuts) · real example: https://x.com/D_blindbandit/status/2097476817128993221
- Keep the whole shot, replace one person or the cast · real example: https://x.com/thatdesignpro/status/2100910314489327756

**Which character?**

- Yourself, or someone who agreed in writing
- A generated character — [Consistent Characters](https://skills.varg.ai/skills/varg-consistent-characters.md) · example: https://s3.varg.ai/how-to/previews/fd12064dae3c/varg-consistent-characters.mp4
- A mascot or 3D figure — [Collectible Figure Packshot](https://skills.varg.ai/skills/want-collectible-figure-packshot.md) · example: https://s3.varg.ai/how-to/previews/f0fdf133f036/want-collectible-figure-packshot.webp

**Keep from the reference?**

- Motion only, new background
- Motion and background

**Length?**

- Clip as is (≤ 10 s)
- Trim to the hook

## How to swap your character into a video: step by step

1. Download the clip, count hard cuts with ffmpeg scene detection and make an 8-frame contact sheet; use only a stretch with 0-1 cuts and one person holding the frame
2. Pick the mode: one person, one take, full body = kling_v3_pro_motion_control; keep the whole shot and replace a person = Seedance 2.5 edit or minimax_h3_max_recast; exact dance on a new character = a depth-map video as @video1
3. Make the character image match frame 1: same framing and facing, whole body, empty hands, no masks or capes
4. Prompt 'replace [who by position and clothing], keep motion, timing and everything else'; over 10 s split under 9.5 s at calm moments with the same sheet and prompt
5. Compare last and first frames at each seam, re-render jumps (2 tries max), join silently, lay the original audio back, credit the source and add the AI label

## What works now (researched 2026-10-27)

The 2026 swap is whole-frame: Higgsfield Genjutsu, Seedance 2.5 edit and Kling 3.0 Omni copy the acting, camera and cuts of a known clip and replace one person or the whole cast. Kling motion control still wins for a clean single-take dance. Celebrity face swaps stopped being safe to post; the big swaps now use fictional characters, animals or the creator's own performance.

1. **Choose the mode by clip. One person, one continuous take, steady moves: motion control (3-30 s, no cuts, full body visible). Several people, cuts, or you want to keep the background: video-edit mode, Seedance 2.5 up to 30 s or Kling 3.0 Omni in pieces under 10 s.** Kling's guide says cuts, shot changes and fast motion truncate the output and the credits are not refunded. A practitioner prompt (873 bookmarks) warns that motion control rebuilds the scene from the image and rejects crowded clips. ([Kling, Motion Control user guide](https://kling.ai/quickstart/motion-control-user-guide))
2. **Prepare the character image like frame 1 of the clip: same framing (full body for dance), same facing direction, whole body and head unobstructed, empty hands, room to move.** Kling lists framing match, an unobstructed body and free space as the conditions for good transfer. Swap models also break on capes, masks and props. ([Kling, Motion Control user guide](https://kling.ai/quickstart/motion-control-user-guide))
3. **Write the edit prompt as: 'Replace [person by position and clothing] with the character in image 1. Keep his exact motion, gestures, mouth movement and timing. Keep every other person, the location, camera shake, framing and lighting the same.' Then lay the original audio back on.** This exact template comes from a widely saved swap pipeline (121.9k views, 873 bookmarks), which also stitches pieces silently and adds the source audio as one track. ([Chris (@everestchris6) on X, swap agent prompt (Oct 2026)](https://x.com/everestchris6/status/2107135574469746896))
4. **For dance accuracy, feed motion and identity separately: convert the source dance to a depth or pose map for motion, and use the character sheet for identity.** Raw footage passes the original performer's look and room into the model; a depth map leaves only movement. 871 bookmarks on 120k views. ([Nexlow on X, depth-map trick for dance transfer (Aug 2026)](https://x.com/NexlowX/status/2094494202587398616))
5. **Only swap in yourself, a person who agreed in writing to this exact use, or a fictional character. Never a public figure or a private person without consent. Label the result.** YouTube's likeness detection now covers every creator 18+ (May 2026) and files removal requests for matches. The NO FAKES Act advanced in June 2026. TikTok does not allow synthetic media with the likeness of a private person. ([PPC Land, YouTube likeness detection expands to all creators 18+ (May 2026)](https://ppc.land/youtubes-ai-face-shield-now-covers-every-creator-18-and-over))

**Stopped working:**

- Celebrity and athlete swaps (for example footballers dropped into film scenes). They are impersonation, get caught by YouTube likeness detection and are the target of the NO FAKES Act.
- Copying someone's viral video, swapping only the person and posting it as your own 'to not get flagged'. It breaks YouTube's inauthentic and reused content rules and burns trust when the original surfaces.
- Sending clips with cuts, crowds or very fast moves to motion control. Output gets truncated and Kling does not refund the credits.

## Prompts that work

Templates from the creators of the best current results and from the model guides. Fill in the {CAPS}.

### Swap agent: gate the clip, render, post (agent)

Give to Claude Code or Codex: picks or takes a clip, checks it is swappable (cuts, one person), renders the whole-shot swap and returns a post package. Adapted from [Chris (@everestchris6) on X, viral AI influencer swap prompt (Oct 2026)](https://x.com/everestchris6/status/2107135574469746896).

```text
<role>You remake a known clip with my character: gate the clip, render the swap, hand me a post. Estimate before you spend; never post yourself.</role>
<brief>character: {SHEET_PATH or "invent one"} | clip: {URL or NICHE} | render: {seedance_2_5 edit or kling omni edit}, max {CREDITS} | length: {SECONDS} s | no-go: {LIST}</brief>
<character>One signature feature readable at phone size, normal proportions, empty hands, face uncovered (swaps break on masks, capes, props). Sheet on light grey: 4 full-body views, 4 close-ups. Re-render if it drifts or looks CGI.</character>
<gate>yt-dlp the clip. Count hard cuts with ffmpeg scene detection: pass at 0-1 in the part you use. 8-frame contact sheet: one person holding the frame, real footage, nothing burned over them. Reject minors, private people, violence, politics. Show me the top 3 with cost.</gate>
<render>Prompt: "replace {PERSON BY POSITION AND CLOTHING} with the {man/woman} in the image. keep {his/her} exact motion, gestures, mouth movement and timing. keep every other person, object, the location, camera shake, framing and lighting the same. no text." Over 10 s: split into pieces under 9.5 s at calm moments, same sheet and prompt each, compare last and first frames, join without audio, lay the original audio back as one track.</render>
<check>Contact sheet of the result; re-render once if the feature morphs, anyone else changes or hands melt; max 2 tries without asking.</check>
<post>Caption under 6 words, credit the original creator, AI label on.</post>
```

### Depth-map dance transfer (seedance_2_5)

Exact choreography on your character: convert your own or licensed dance clip (15 s or less) to a depth video, attach it as @video1 and the character as @image1. From [MOIRE (@impalementd) on X, depth-map dance prompt (Jul 2026, 1.07M views)](https://x.com/impalementd/status/2076895084705153168).

```text
{SECONDS}-second continuous single-shot {SETTING_SHORT} dance video. No cuts. No scene transitions.

Motion: @video1 is a depth-map dance reference: follow its choreography, timing and framing 1:1, matching every pose and beat exactly. Camera framing follows the reference video.

Character: @image1, exactly as the reference.

Setting: {SETTING: place, time of day, three concrete details}.

Style: photorealistic, true camera texture, crisp high-clarity plate.

LIGHT: {KEY_LIGHT}, {QUALITY}, {FILL}. {MOOD_LINE}.

{She/He} is already dancing from frame one; hair, clothing and {AIR_OR_WIND} react naturally to the motion.

Avoid: extra people, face morphing, distorted hands, low grey light, on-screen text, subtitles, watermark.
```

### Motion control: character image + one take (kling_v3_pro_motion_control)

One person, one continuous take, steady moves: your character performs the clip in a new setting. Adapted from [Kling, Motion Control user guide](https://kling.ai/quickstart/motion-control-user-guide).

```text
Inputs: character image = frame 1 of the clip ({FULL_BODY or HALF_BODY} to match the video, same facing direction, whole body and head visible, empty hands, room to move). Motion video: one continuous take, 3-30 s, one person, steady moves.

Prompt (it only controls what the clip does not):
{CHARACTER_SHORT: outfit, hair, one signature feature}. {NEW_SETTING: place, time, two or three concrete details, light}. {OPTIONAL_EXTRA: e.g. a small dog runs in and circles their feet}. Keep the motion, timing and expressions of the reference video. Camera: {follows the video | fixed position | slow zoom in}. No text, no watermark.

Settings: character_orientation "video" (facing and camera follow the clip) or "image" (facing follows your image, set the camera in the prompt); keep_original_sound true.
```

## Trending formats to remake

To remake one: download the example with the `media-download` skill, take a frame a second and the transcript, write a beat list (time, shot, camera, on-screen text, sound), keep what the format needs, swap in the person's product or character (never the creator's face, voice, logo or footage), show the beat list and stills before spending, then make it with the skill named below.

1. **Act it at home, become the scene**: The creator films a rough take in their room, then the swap keeps the performance and replaces the person and the world. Posted as original vs result. Why it spreads: Consent is clean because it is your own body. A living-room take turned into a race-car driver drew 422 bookmarks on 45k views. One webcam performance mapped onto six different characters drew 829 bookmarks on 51k views. Keep: Your own single continuous take with the whole body visible and empty hands, posted as ORIGINAL then the result; the motion carries over, so spend the prompt on describing the new setting in detail. Swap the character and the world. Make it with [varg AI](https://skills.varg.ai/skills/varg-ai.md) (`varg-ai`).
   - Example to remake: [@D_blindbandit on X, 2026-09-09, 45K views, 422 saves](https://x.com/D_blindbandit/status/2097476817128993221): Cuts between 'ORIGINAL' (a man on a plastic chair at home) and the Genjutsu version (a driver in a cockpit). The creator notes motion stays exact but the setting needs a detailed prompt.
   - Example to remake: [@PurzBeats on X, 2026-06-21, 51K views, 829 saves](https://x.com/PurzBeats/status/2068545283722445263): One webcam performance transferred into six characters (warrior, anime girl, creature, cartoon self) with the open SCAIL-2 model. Shows how prompt-adherent motion capture stays across styles.
2. **Trend choreography, new cast**: The trending music-video choreography of the week (in Sept 2026, the STORM II crowd scene) remade with an unexpected lead or a whole new cast, such as animals. Why it spreads: Trend remakes ride a clip people already know; a remake only works while the trend is inside its week. The black-sheep version of STORM II drew 52k views and 278 bookmarks, and Higgsfield ran the #HiggsfieldLavaStorm push around the same trend. Keep: A trend clip still inside its week, one continuous stretch, the camera move copied exactly and the original video and choreographer credited; swap the cast for something unexpected (animals, one odd lead). Make it with [varg AI](https://skills.varg.ai/skills/varg-ai.md) (`varg-ai`).
   - Example to remake: [@thatdesignpro on X, 2026-09-18, 52K views, 278 saves](https://x.com/thatdesignpro/status/2100910314489327756): The whole crowd becomes white sheep and the lead a black sheep, credited to the original video and choreographer. Copies the camera pull-back exactly.

## Open-source repos

- [zai-org/SCAIL-2](https://github.com/zai-org/SCAIL-2) (1K★): Open end-to-end character animation and replacement model, used for the six-character webcam swap. How: Reference image + driving video + masks (black hides background, white keeps it, colours map character regions to motion) go into a Wan-based model with no pose extractor; animation mode puts the character in a new scene, replacement mode keeps the shot; extra refs add back and close-up views. ComfyUI template; practitioners keep runs under about 10 s.
- [Wan-Video/Wan2.2](https://github.com/Wan-Video/Wan2.2) (18K★): Wan2.2-Animate-14B: character animation and replacement, open weights. How: preprocess_data.py pulls pose, face and (for replacement) a person mask from the video and your character image; generate.py --task animate-14B then renders animation mode (your character performs the clip) or replacement mode (your character swapped into the original scene and relit).
- [halli75/motion-mirror](https://github.com/halli75/motion-mirror) (124★): Local CLI motion transfer: character image + reference video, no cloud. How: rembg or SAM-2 cuts out the character, DWPose finds 133 whole-body keypoints per frame, the whole-body skeleton and masks condition Wan2.1-VACE (1.3B on about 9 GB VRAM, or 14B GGUF), and the reference audio is muxed back; CLI, Python API, web UI and ComfyUI nodes.

## Set up varg

varg is one API key for the models these skills drive — Seedance 2.5, Kling 4, Veo 3.1, Wan 3, Nano Banana 2.1, GPT Image 2.5, ElevenLabs v4 and 200+ more — billed in credits, with a cost estimate before anything runs.

- Claude Code: `claude plugin marketplace add vargHQ/skills && claude plugin install varg@varg` (skill + hosted MCP)
- Codex, Cursor, Gemini CLI, OpenClaw: `npx skills add vargHQ/skills --skill varg-ai -a <agent> -y`
- Grok and any agent that reads SKILL.md: `npx skills add vargHQ/skills --skill varg-ai`, or point it at the skill's SKILL.md
- Claude.ai, ChatGPT, any MCP client: connect `https://mcp.varg.ai/mcp`
- API key: https://varg.ai/dashboard/api · Model specs: https://varg.ai/models/llms.txt

## Related tutorials

- [How to keep a character consistent in AI video](https://skills.varg.ai/keep-a-character-consistent-in-ai-video.md): One mascot, trainer or actor that looks identical across many images and clips.
- [How to make an AI influencer video](https://skills.varg.ai/make-an-ai-influencer-video.md): A recurring AI character with one look and one format, posting as a creator or a brand face.
- [How to make exercise demo video loops with AI](https://skills.varg.ai/make-exercise-demo-video-loops.md): Looping exercise demos for a fitness app: one trainer, many exercises, clean background.
