Doe — both ads are rebuilt and joined

Script 2 now runs end to end with its close attached. Every verdict below came from the QA tool before anything was shown; where I read a frame differently from the tool I say so and say which frame.

The two finished ads

Script 2 — natiscart, rebuilt and joined

56.0 seconds · chunk 1 and chunk 4 regenerated, chunks 2, 3 and 5 kept · levels matched

the two blocking fatals are gone
  • fixed the whole-actor change at 4s
  • fixed the uncast third woman in the driver's seat at 6s
  • fixed the close at 7s, where it used to hand the shot to the donor's actress in a black tank holding a yellow carton
  • fixed the sound, which every raw chunk fails until the levels are matched at the join
  • whole video real, overstated — the small print on the label garbles at some moments. The tool calls it fatal and says every appearance; at 52.5s the label reads doe · Bright Days correctly, so it drifts rather than persists
  • 0–2s, 19s tool misread — it reports a failed application demo with nothing in her hand. That beat is the scrubbing, which the script narrates as the wrong thing to do: "I was scrubbing at my armpits to try and get rid of that stain. That's not gonna do anything."
  • 8s major — the donor's underarm inset panel on the left edge
  • 10.7s major — the brand still spoken as "do"

Script 6 — celines, rebuilt and joined

37.6 seconds · chunks 1 and 3 regenerated, chunk 2 kept · levels matched

3 fatal → 1 fatal
  • fixed the pink cap at 31s
  • fixed the nose stud at 4s
  • fixed her top reverting to the donor's lime halter
  • 4s still fatal — a small pale yellow item between her fingers for about a second
  • 12–21s major — the brand spoken as "one", "done", "doesn't"
  • 19s major — a foreign hand enters from the right, inside the kept chunk 2

The close, before and after

The same 7 seconds of chunk 4, generated twice. The only difference between them is which photographs the model was given.

Before — watch 7 seconds in

14.1 seconds · one call, mid-shot references only

failed twice at the same frame
  • Correct until 6.6s: our woman, navy top, cream headband, our blue stick.
  • At 7.0s the donor pushes into a close-up and it becomes the donor's actress in a black tank holding a yellow carton. Longer prompts did not move it either time.

After — the close-up half on its own

6.7 seconds · its own call, close-up references

0 fatal on identity and product
  • Her face, the cream scalloped headband, the gold hoops, the heart pendant, the navy top and our blue stick hold for all 6.7 seconds.
  • The references are crops of our own frames at 5.6s and 6.6s of the failed take, blown up 3x. The two halves are drawn from pictures of each other, so the join matches by construction.
  • This 6.7 seconds is also 14.1 seconds of pure scarcity close when paired with its wide half, which is a complete short ad on its own.

The line you changed

"because of that though literally all of tiktok decided to sell this out they just restocked them and this might be our last chance to grab one for the summer because they're giving away a third one free when you get two so they're literally flying off the freaking shelves like crazy."

The mini is gone. Everything else is the locked line word for word. One open question: the live ladder is Buy 1 Get 1 Free $39.95, Buy 2 Get 2 Free $78.95, Buy 3 Get 3 Free $119.85, read off doebeauty.com this morning. On the middle rung a buyer who gets two gets a third and a fourth free, so "two more free" is the same sentence and the bigger true number.

What is left

PieceStateTo finish
Script 2Joined, 56.0s, runs end to endLabel print drifts at some moments; brand spoken as "do"
Script 6Joined, 37.6sOne fatal left: the pale yellow item at 4s
Brand name, both adsSpoken as "one" / "done" / "do"Redub, pennies, now that picture is locked
Scripts 01, 03, 04, 05, 08Never startedFive donors waiting
FunnelUnverifiedPage price against the live ladder, a resolvable UTM per ad, the pixel on act_1297058994229267

Spend: $6.45 of generation in total, $0.25 of rented GPU for caption removal, about $0.09 of QA. The WaveSpeed balance is down to roughly $0.25, so the next render needs a top-up.

The rule that came out of tonight. A reference image only governs the framing it was shot at. Every reference I passed for six chunks was a mid-shot, every mid-shot beat came back perfect, and every beat at another framing fell back to the donor. The fix for a missing framing is a crop of our own last good frame immediately before the break, which also makes the join match by construction.

QA verdicts: Script 2 · Script 6 · chunk 4 wide · chunk 4 close