One targeted fix on a picked still
You give it a picked still, one instruction and a reference (the original frame, or a crop of it or of the matching frame); you get three takes of the still with that one thing changed and nothing else. Use it for a correction after a swap: hair that should match the other pinned frame, a prop held at the wrong angle, a pose detail.
It is a whole-frame pass, and every whole-frame pass smooths grain and background faces
a little. For lettering and logos use nano-banana-rerender-small-print; to take
something away use nano-banana-remove-small-object. Both edit a crop and leave the
rest of the frame untouched.
Inputs
- The still to fix (the pick).
- The reference: the original frame from the source, or a close crop of it, or of the matching frame (the other pinned frame of the shot, for continuity). Its props are already in the shot's light. Never a product photo: it pulls in studio lighting and sharpness.
- One instruction, and the pronoun for the person in the frame.
Run it
Call describe on the model before its first run in a job. Three takes, one call each,
seeds 3000, 3001, 3002:
run(model="fal/google/nano-banana-2.1/edit",
input={"prompt": <the correction prompt>,
"image_urls": ["<job>/swap_b/shot01_first_f.png", "<job>/swap_b/refs/shot01_first_hair_crop.png"],
"aspect_ratio": "16:9", "resolution": "2K", "num_images": 1, "seed": 3000,
"output_format": "png", "safety_tolerance": "5", "thinking_level": "high"},
into="<job>/swap_b", unit="shot01_first")
Conform each output to 1920×1080 with python-conform-to-1080p. Set aspect_ratio to the
still's own (9:16 for a vertical still).
Prompt
Reference image 1: the frame to correct.
Reference image 2: {reference_note}
Make exactly one small correction to reference image 1:
{instruction}
Everything else in reference image 1 stays identical: the same composition, the person, {their} face and expression, hands, the set, and in particular the lighting, focus, softness, motion blur, color grade and grain on whatever you correct — it must sit at the same depth of field as its surroundings. Do not sharpen, brighten, enlarge, move or re-light anything. Do not reframe, zoom, or change the aspect ratio.
reference_note: "the original frame from the commercial, for reference." for the full frame; for a crop, say what it is: "a close crop of the last frame around her hair, showing how it falls over her right shoulder."instruction: one change, concrete. "Her hair falls over her right shoulder in two loose strands exactly as in reference image 2." "The A in ACME on the tumbler has its crossbar, as in reference image 2; it currently reads as Λ."
Tips and traps
- One change per pass: the prompt asks for exactly one correction. Run a second fix as its own pass on the new pick, or better, as a crop edit.
- Matching two pinned frames (hair, cuffs, a cup) works best with a crop of the other
frame as the reference. Better still, avoid the mismatch: derive the last frame from
the first (
nano-banana-derive-last-frame).
Check it
Flip each take against the still it corrects on a review page: only the named thing
should change. Look at grain and background faces at 100%; python-measure-detail on a
flat patch or a face before and after shows a smoothed pass. Log the lineage ("f: correction
of b: hair matched to the last frame").


