Doe — captions and stickers, measured off the donors

Both stickers are generated by the image model from your green-screen references and chroma-keyed, and both sit where the donor put its own sticker, measured in pixels rather than guessed.

Both ads

Script 6 — celines

37.6 seconds · style2 two-tone sticker, 0–3s · house captions throughout

1 fatal, 7 major
  • done sticker at top edge 0.166 of frame height, 0.800 of frame width — the donor's own numbers
  • 13s fatal — the hero label is garbled: it renders Begamot and 2.5oz where the packshot reads Bergamot and 2.65oz
  • 4s major — the small pale yellow item
  • 23–25s major — a second cap appears, and the cap warps in her hand

Script 2 — natiscart

56.1 seconds · style6 plain white sticker, 0–21s · house captions throughout

0 fatal
  • done sticker at top edge 0.208, 0.616 of frame width — the donor's own numbers
  • fixed the caption that read ",000 for a procedure" now reads $2,000
  • 29s major — the label text renders mirrored on the close shot
  • 19s major — the stick is held just off the skin during the application beat

What the donors actually did, in pixels

DonorSticker blockTop edgeWidthOn screenRunning captions
06 celinesfavoritefindsx 107–971 of 1080, y 318 of 19200.1660.8000–2.8snone at all
02 natiscartx 156–821 of 1080, y 400 of 19200.2080.6160–20.6s2 boxes against 364 other boxes

Neither donor is a heavily edited video. Each is a selfie clip with one text sticker over the opening, and Script 6's donor carries no running captions whatsoever. Our ads now carry more post-production than the originals did, because the house rule is one caption look on every video.

How the sticker is made now

Your six green-screen references are edit inputs for the image model, not pictures to copy by hand. The reference goes to google/nano-banana-2/edit with our words, comes back on the same flat green, and the green is keyed out on distance from (7,249,5) with a one-pixel erode. Two wrong turns before that: the retired swipes/callouts/ library, then the Python drawing script. Both are now blocked by a gate.

AdReferenceWhy that one
Script 6style2, two-toneTwo boxes for our two lines, and the boxes carry their own contrast over the light car headliner
Script 2style6, plain whiteA two-line reference, and plain white reads on the dark car roof

style5 was the first choice for Script 6 and failed twice: its reference is a five-line block, so the model kept all five lines and ghosted ours underneath. Match the reference's line count to the lines you need.

Spend: $7.57 of video generation tonight, $0.28 on three sticker images, $0.25 of rented GPU, about $0.15 of QA. Balance is roughly $49.

QA verdicts: Script 6 · Script 2