Video-to-video: change one thing, keep the performance
With Genjutsu, Higgsfield showed what video-to-video editing can look like. We rebuilt the principle as our own skill and integrated it into our studio tool. Two existing models, 36 tested presets and far fewer burnt credits.
Yves FarineDirection · Generative film · 1 November 2026 · 16 min read
A clip that is shot, a performance that works, and still one thing is wrong: the outfit, the product in the hand, the location. That used to mean a reshoot. Video-to-video editing swaps exactly that one element while everything else stays as it was shot. Higgsfield calls its tool for this Genjutsu, with the modes Motion Transfer and Object Swap.
We rebuilt the principle as our own skill and built it straight into BOFF.studio, the tool we produce our films in. Internally it is called Boffjitsu. It is not an AI model of its own, but a recipe made of two models we use every day anyway.
The recipe
Nano Banana builds a single still with the change, the target frame. Seedance 2.5 then redraws the whole clip in Omni-Reference mode and takes the motion from the original. Movement, camera, timing and framing come frame by frame from the footage.
The AI does not invent any movement. The performance is yours; the AI only swaps the costume, the person or the set.
Five steps
- Prepare the clip. Phone clips often arrive in 4K, as HEVC, rotated or at 59.94 fps. They are normalised: SDR, rotation burnt in, short side at least 480 px, long side at most 1920 px, length 4 to 30 seconds.
- One sentence. I write in German what should happen. The tool picks one of 36 tested presets, fills in the fields in English and finds the right frame from the video on a contact sheet of twelve moments.
- Approve the target frame. From that video frame and my reference, Nano Banana makes a still with the change. This is the only moment I decide: keep it, change it or roll again.
- Video edit. Seedance gets the clip as reference video, the target frame as @image1 and, optionally, the reference as @image2. The prompt begins with «Edit @video1.», which triggers edit mode.
- Check and finish. An automatic check measures how closely the motion follows the source, corrects the time offset and trims end frames that drift. Then the original sound goes back underneath, plus a before/after comparison.
And this is where the saving lies: no prompt ping-pong, because the skill works from tested presets. Tests run cheaply at 480p. Only the run we keep is re-rendered in 1080p with identical inputs.
Three modes
- Swap: everything stays exactly as shot, one element changes. Product, label, colour, logo removed, outfit, costume, hair and make-up, shoes, vehicle.
- Motion Transfer: performance, camera and timing stay; what changes is who plays or where. Another person, your own character, an animal, a mascot, a new location, time of day, weather, era.
- Restyle: movement and composition stay, the whole look changes. Anime, 3D animated feature, painting, noir, pixel, comic.
From the studio test
The first runs in the studio took place at the end of October at 480p, on vertical phone clips of seven seconds, four for the stadium. What we measure is motion fidelity, the correlation with the source's movement. From 0.60, the movement counts as carried over.
Replace a person, clothes included. Input: one sentence and a reference image of another person. The tool chose the preset «my-character» and the first frame as target frame. Motion fidelity 0.79.
Watch the videoHuman becomes a 3D animated character. Motion fidelity 0.85, the best value of the series. The check reported that the last 5 of 161 frames drifted from the source and trimmed them.
Watch the videoNew location. «The person sits at a yellow, glossy table in the middle of the pitch of the stadium from the image.» Preset «new-location», check passed, motion fidelity 0.79, about 55 per cent of the image redrawn, no time offset.
The real Seedance prompt from the stadium run. The first sentence locks the performance, the second describes the new place, the end rules out everything else.
Edit @video1. Keep exactly the same camera movement, framing, timing and every movement, gesture and expression of the bearded man in the dark navy blazer and white open-collar shirt, frame for frame. Move the whole scene to the centre of the football field inside the large red-seated stadium from the reference image, green turf with the central logo around him, red stands rising in every direction under a blue sky with big clouds, the man sitting at a glossy yellow table in the middle of the pitch as in @image1, which is a frame of this same shot in the new place: new ground, walls, sky and background; same performer, same clothes, same movements and camera path, light motivated by the new place. @image2 shows the same element on its own, for every detail from every side. Nothing else changes. No text, no letters, no logos, no watermarks.What we learned
- One run, one change. Several changes are chained; variants run separately on the original.
- The target frame decides. It has to be a single image, not a sheet with several views. In the first test it took over the stiff pose from the character sheet. The video still turned out well, because Seedance takes the motion from the clip, but the prompt has been stricter ever since.
- References without lettering. Lettering on the reference image ended up in the video despite «no text». We would rather add logos and type in post.
- The time offset is mandatory. Seedance drops about 0.17 seconds at the start. Without correction, motion fidelity in the test was 0.29; with it, 0.85. Honestly the most important step in the whole chain.
- Never sound from the AI. Without the original, the model invents sound, down to mumbled voices. At the end, the original sound always goes underneath. If the voice no longer fits after a recast, a speech-to-speech voice changer helps, not text-to-speech, which shifts the lips.
- Cheap first, then final. The 1080p result is not frame-identical to the test run and gets checked again.
- Numbers find broken edits, eyes find the rest. Invented logos, fingers and letters only a human sees, in 100 per cent crops.
The whole skill
Here is Boffjitsu as it works in the studio, just without our tool around it. The skill is tool-neutral: it picks the preset and the moment, writes both prompts and the checklist. You generate yourself, with your own access to Seedance 2.5 and Nano Banana. Copy it, save it as SKILL.md for your agent, done. We use it in German, as it runs in the studio; the model prompts inside are in English anyway.
The principle sits in the building blocks. Every Seedance prompt consists of the opening for the mode, the change line for the preset and the closing. Nothing gets rewritten; only the fields in curly brackets are filled in. The stadium prompt above is built exactly that way. Among the target frames, the prompt for your own character is the strictest: pose and framing come only from the video frame, the reference supplies only the look. The change lines are a selection; the other presets follow the same pattern.
---
name: boffjitsu
description: Verwenden, wenn jemand in einem bestehenden Video genau EINE Sache ändern will und die Performance (Bewegung, Kamera, Timing) behalten soll: Person oder Figur ersetzen, Outfit, Produkt, Logo weg, neuer Ort, Tageszeit, Wetter oder ein ganzer Stil (Anime, 3D, Noir …). Liefert Preset, Videomoment, Zielframe-Prompt für Nano Banana, Edit-Prompt für Seedance 2.5 (Omni-Reference) und die Prüfliste. Auch bei «Video umbauen», «Person austauschen», «im Video ersetzen», «Motion Transfer», «Video-to-Video-Edit».
---
# Boffjitsu: eine Sache ändern, die Performance behalten
Boffjitsu ist ein Rezept aus zwei Modellen:
- **Nano Banana** baut den **Zielframe**: ein Standbild aus dem Video mit der Änderung.
- **Seedance 2.5 Omni-Reference** zeichnet das Video danach neu. Bewegung, Kamera und Timing kommen Bild für Bild aus der Quelle.
## Grundregeln
1. **Pro Lauf genau eine Änderung.** Mehrere Änderungen verkettest du: Der zweite Lauf arbeitet auf dem Ergebnis des ersten. Für Varianten machst du mehrere Läufe auf dem Original.
2. **Der Satz des Users definiert, was passiert.** Du wählst Preset und Moment selbst und fragst nur zurück, wenn die Änderung wirklich unklar ist.
3. **Alle Modell-Prompts auf Englisch**, auch wenn der User Deutsch schreibt.
4. **Referenzen ohne Schrift.** Text auf Referenzbildern leckt ins Video, auch mit «no letters». Weise den User darauf hin.
5. **Tongenerierung aus**, wo der Anbieter das erlaubt. Am Schluss kommt immer der Originalton darunter.
## Schritt 1: Clip vorbereiten
Mit dem User prüfen:
- Länge 4–30 s, sonst an echten Schnitten teilen.
- Konstante Framerate, SDR, Drehung eingebrannt.
- Kurze Seite mindestens 480 px, lange Seite höchstens 1920 px.
Handyclips (HEVC, 4K, HDR, gedreht) vorher konvertieren, z. B. mit ffmpeg.
## Schritt 2: Preset wählen
| Modus | Bleibt | Ändert | Presets |
|---|---|---|---|
| **O · Swap** | alles | ein Element | product-swap, label-redesign, colourway, de-logo, prop-swap, device-swap, food-drink-swap, vehicle-swap, shoe-swap, accessory-swap, outfit, costume, season-outfit, hair-makeup |
| **M · Motion Transfer** | Performance, Kamera, Timing | wer oder wo | recast, my-character, creature, animal-swap, mascot-3d, game-character, new-location, time-of-day, weather, era, sci-fi, game-level, market-variant, phone-to-studio |
| **R · Restyle** | Bewegung, Komposition | der ganze Look | anime, 3d-feature, painterly, noir, pixel-retro, comic-ink, animation-to-live, clay (unzuverlässig) |
**`{who}`** = die Person, wie sie im Video zu sehen ist, z. B. «the man in the black quilted vest and light blue denim shirt».
## Schritt 3: Moment für den Zielframe wählen
- **Swap:** der Moment, in dem das Element am grössten und unverdeckt ist.
- **Person, Outfit, Ort:** die ganze Figur frontal, meist bei 0 s.
- **Restyle:** der erste Frame.
## Schritt 4: Zielframe-Prompt (Nano Banana)
- Bild 1 = Frame aus dem Video, Bild 2 = Referenz (optional).
- Seitenverhältnis wie die Quelle.
- 2 Varianten anfordern, **der User wählt**.
Den passenden Baustein unten unter «Bausteine» nehmen. Pflicht bei jeder Person oder Figur:
- ein einziges Bild, kein Blatt, keine Panels;
- gleiche Kopfhöhe und gleiche Bildkanten;
- Raum unverändert;
- Pose aus Bild 1, die Referenz liefert nur den Look.
**Abnahme mit dem User:**
- Stimmen Ausschnitt, Pose und Raum mit dem Videobild überein?
- Ist keine Schrift dazugekommen?
Wenn nicht, die Abweichung als Satz an den Prompt hängen und neu generieren.
## Schritt 5: Edit-Prompt (Seedance 2.5 Omni-Reference)
Prompt = Eröffnung des Modus + Change-Zeile des Presets + Abschluss (siehe «Bausteine»). Nichts umschreiben, nur die `{Felder}` füllen.
**Parameter:**
| Parameter | Wert |
|---|---|
| Route | Omni-Reference. Der Prompt beginnt mit `Edit @video1.` |
| Referenzvideo | der vorbereitete Clip, Rolle «Referenz» (nicht Startbild, nicht Charakter) |
| Bilder | `@image1` = Zielframe, `@image2` = Referenz. Die Reihenfolge muss zum Prompt passen. |
| Ton | aus, wo möglich |
| Format | wie die Quelle (manche Anbieter verlangen es explizit) |
| Dauer | wie die Quelle |
| Auflösung | Test 480p/720p, Final 1080p mit identischen Eingaben |
## Schritt 6: Prüfen
1. **Versatz:** Seedance schneidet vorne oft etwa 0.17 s ab. Ergebnis und Quelle vor jedem Vergleich und vor dem Tonanlegen ausrichten. Ohne Ausgleich wirkt alles asynchron.
2. **Schluss:** Die letzten Frames weichen oft ab, wenn die Quelle auf einer schnellen Bewegung endet. Abschneiden, bei allen Varianten eines Sets gleich viel.
3. **Mit dem Auge, in 100-%-Ausschnitten:**
- Logos und Marken (auch Streifen, Häkchen, Sterne);
- Finger, Griff um das Objekt;
- Buchstaben auf Schildern und Bildschirmen;
- erfundene Requisiten;
- bei einem Recast der Ausdruck in den ersten Frames.
4. **Restyle:** Bleibt der Hintergrund fotografisch, mit einem gemalten ersten Frame als Zielframe neu generieren.
## Schritt 7: Fertigstellen
- **Originalton** darunterlegen, nach dem Versatz-Ausgleich.
- **Neuer Ort:** Atmo per Sound-Modell («recorded on a phone, no voices, no music») und Dialog darübermischen.
- **Andere Stimme beim Recast:** Voice-Changer Sprache-zu-Sprache, kein TTS.
- **Zum Zeigen:** Vorher/Nachher nebeneinander oder als Wipe.
## Antwortform
Gib dem User immer:
1. Preset und Modus in einem Satz auf Deutsch («Der Mann wird … ersetzt, die Bewegungen bleiben gleich.»)
2. den Moment im Video (Sekunde)
3. den Zielframe-Prompt (Englisch)
4. den Seedance-Prompt (Englisch)
5. die Bildreihenfolge
6. die Prüfliste
## Bausteine
### Eröffnung je Modus
O (Swap):
`Edit @video1. Keep absolutely everything exactly the same, frame for frame: {who} (face, body, every movement and expression), the camera movement, framing and lens, the set, the light and the timing.`
M (Motion Transfer):
`Edit @video1. Keep exactly the same camera movement, framing, timing and every movement, gesture and expression of {who}, frame for frame.`
R (Restyle):
`Restyle @video1 completely into {style}. Redraw every part of every frame in this style, {who} and the whole background alike; nothing may stay photographic: no photo texture, no lens look, no film grain. Keep exactly the same camera movement, framing, timing and every movement of {who}, frame for frame.`
### Abschluss
O und M: `Nothing else changes. No text, no letters, no logos, no watermarks.`
R: `It must look like a version of the shot made from scratch in this style, not a filter over the video. No text, no letters, no logos.`
### Change-Zeilen (Auswahl)
- product-swap: `Change only the {object} in the hand: it becomes the {product} from @image1, held exactly the same way at the same size, printed and lit exactly as in @image1.`
- de-logo: `Remove every logo, brand mark, word and number from the {object}; the surfaces stay plain, same material and colour.`
- outfit: `Change only the clothes to the outfit in @image1, which is a frame of this same shot: {outfit}. Same fit to the body, the fabric moving and creasing naturally with every movement.`
- recast: `The person becomes the person in @image1, which is a frame of this same shot: {new_person}. Same movements, expressions and lip movements; the clothes, the set and the light stay exactly as in @video1.`
- my-character: `{who} becomes the recurring character in @image1, identical face and outfit as in @image1, same performance.`
- new-location: `Move the whole scene to {location} as in @image1, which is a frame of this same shot in the new place: new ground, walls, sky and background; same performer, same clothes, same movements and camera path, light motivated by the new place.`
- time-of-day: `Same place at {time}; the light direction and shadows change, nothing else.`
- anime: `{who} is a hand-drawn anime character with the same hair and clothes. The background ({place}) is hand-painted anime background art with flat colour areas and painted clouds.`
Mit Referenzbild kommt dazu: `@image2 shows the same character on its own, for every detail from every side.`
Restyle mit Zielframe kommt dazu: `@image1 is the first frame of the result: every frame must look exactly like it.`
### Zielframe-Prompts (Nano Banana)
Swap:
`Photo retouch. Keep the photograph @image1 exactly as it is: same framing, same person, same hands and fingers, same light, background, focus and grain. Only this changes: {ziel}. Take its exact look, shape and design from @image2. It is a real thing photographed in this light: highlights, shadows, reflections and how the fingers overlap it all match the scene. It must look photographed, not pasted on. No text, no letters, no logos.`
Recast:
`Photo retouch. Keep the photograph @image1 exactly as it is: same framing, same pose, same clothes, same light, background, focus and grain. Only the person changes: {ziel}. The new person looks exactly like the person in @image2. @image2 is only for the face, hair and skin: ignore its pose, camera angle, distance, framing and background. They wear exactly the same clothes as before, at the same size and position in the frame. Real skin texture, not retouched, an ordinary person, not a model. No text, no letters, no logos.`
Eigene Figur / Kreatur / Maskottchen (Fassung nach dem Studio-Test vom 28.10.):
`Photo retouch of a single photograph with the aspect ratio of @image1. Output one single image, not a sheet, not several panels. Keep the photograph @image1 exactly as it is: the same camera position, the same distance, the same lens and the same crop. The new person fills the frame exactly like the person in @image1: the top of the head at the same height, the frame edges cutting the body at the same places. The room stays exactly as in @image1: every object in the same place, nothing added, nothing removed, same light, focus and grain. Only the person changes: {ziel}. Copy the face, hair, skin and the clothes exactly from @image2, only as far as they are visible in this crop. @image2 is only for the look: ignore its pose, its camera angle, its distance, its framing and its background. Whatever the frame edges of @image1 cut off stays out of the frame. Same pose as in @image1: same head angle, same shoulder line, arms and hands at the same positions. Head and shoulders sit at the same size and position in the frame. Real skin texture, real fabric creases, lit by the light of this room. It must look photographed, not pasted on. No text, no letters, no logos.`
Neuer Ort / Welt:
`Keep the person in @image1 exactly as they are: same face, clothes, pose and stride, same size and position in the frame, same camera height and lens. Change the whole place around them: {ziel}. The place looks like @image2. Their light and shadows match the new place. No text, no signs, no letters, no logos.`
Restyle:
`Redraw the photograph @image1 completely as a frame of {style}. Same composition, same framing, same person in the same pose. Everything is redrawn in this style, the person and the whole background alike: {ziel}. Nothing photographic remains. No text, no letters, no logos.`Limits
Boffjitsu is a recipe, not a model. In the studio, Seedance runs via TopView. Other providers name the fields differently; the principle of «Edit @video1.» and Omni-Reference stays the same. And a restyle variant such as clay is still unreliable for us.