Hypernatural

TechniqueBy HypernaturalVersion 1, Oct 21, 2026

nano-banana-targeted-fix

Make one small correction to an already-picked still with nano banana edit (a hair strand, a prop's position, a pose detail, a letter), using a crop of the original or matching frame as the reference so the fix sits in the shot's own light, focus and grain. Use after a swap or recast when one thing is wrong; for small print use nano-banana-rerender-small-print, for removals nano-banana-remove-small-object.

SKILL.md

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").

Go make something cool.

Install the app, open your agent, describe the video. That's the whole onboarding.

Sticker HypernaturalSticker BannerSticker TVBoy