FiftyStrong · Ad research · Generation experiment

Replicating ChillFit's #6 ad, frame for frame — with Roxie in the chair

A shot-by-shot production plan for rebuilding ChillFit's rank-06 creative (Library ID 1585698999664983, 31.44 s, 360×640@30) with exactly one variable changed: the woman in pink becomes Roxie. Same set, same motion, same Dutch captions, same audio, same edit. The point of the experiment is to measure how close current video models get to a real, high-spend UGC ad. Nothing in this document has been generated yet — this is the plan.

Source: 31.44s · 8 shots · 2 acts + UI tail Model: MiniMax H3 (~4 cr/s) Est. 340–470 credits Status: awaiting go-ahead

Overview — one variable, everything else pinned

A perfect replication is only meaningful if we change one thing. The controlled variable is the performer; every other element is either rebuilt to match the original exactly or reused verbatim from the source file.

ElementTreatment
PerformerSwapped → Roxie (charsheet: content/_character/roxie-charsheet-sage-gymwear-bilateral.png), in her canonical dark-sage seamless unitard + white crew socks. This is the experiment.
SetRebuilt to match: pale wooden spindle-back chair, white paneled double closet doors with black lever handle at frame right, light grey carpet, soft daylight from front-left.
CameraRebuilt to match: locked tripod, portrait 9:16, full body centred, chair mid-frame, slight eye-level. Zero camera motion in every shot.
Motion / choreographyRebuilt to match, shot by shot (specs in Acts A–B).
EditIdentical cut points, to the frame (timeline below).
Captions & overlaysRebuilt pixel-close: same Dutch copy, same font style, same colours, same muscle-diagram strip, same ChillFit watermark and icon bug.
AudioReused verbatim — demuxed from the source file (Dutch female VO 0.1–20.8 s + upbeat track). Keeps the comparison purely about video.
App-UI tail (20.7–31.4 s)Two options — reuse verbatim vs. rebuild with a "before" Roxie in the challenge cards. Decision point in Cost & approvals.
Roxie character sheet: six views of a woman in her fifties with long wavy blonde hair, wearing a dark sage-green seamless unitard and white crew socks
The swap-in: Roxie's bilateral charsheet. All six angles feed identity locking during start-frame generation.
Ground rule already in force: no image or video generation happens until the cost table at the bottom is explicitly approved. Every credit number in this plan comes from live higgsfield generate cost quotes (MiniMax H3: 24 cr / 6 s, 40 cr / 10 s; Nano Banana 2: 2 cr / image).

Source anatomy — the full timeline

Measured with scene detection (threshold sweep at 0.10/0.25) plus frame sampling at the boundaries, and an ElevenLabs transcription of the audio track (language: nld).

ShotIn → OutDurContentCaption on screen
A0.00 → 4.204.20s3×3 grid — nine simultaneous chair-exercise clips"Ik ben 65," → "ik doe deze workout elke dag."
W14.20 → 7.172.97sSingle: overhead claps, legs open–close wide"gewoon 7 minuten per dag,"
W27.17 → 10.733.56sSingle: cactus-arm pumps"en na één week zul je een verschil opmerken,"
W310.73 → 13.733.00sSingle: alternating arm raises"na twee weken zullen anderen het opmerken,"
W413.73 → 17.603.87sSingle: seated leg extension + cross-body arm swings"en na drie weken," → "al je vrienden zullen vragen hoe je het hebt gedaan."
W517.60 → 20.733.13sSingle: wide double-leg raise → settles, smiles; app icon pops over chest"het geheim?" → "download deze app"
C20.73 → ~28.3~7.6s28-day chair-yoga challenge card UI, finger taps DAG-1 then DAG-11Card copy (Dutch), stats bar
D~28.3 → 31.44~3.1sEnd card: 3 phone mockups, ChillFit logo, store badges"Planner voor thuistraining"
Ten reference frames from the source ad in chronological order: the 3-by-3 grid hook, five single workout shots with Dutch captions, the app icon reveal, and the challenge-card UI
Reference frames at t = 1.0, 5.0, 6.5, 9.0, 12.0, 15.5, 18.5, 19.5, 22.0, 27.0 s. Note the locked framing across every workout shot — only the pose changes.

Voiceover (full transcript, ends 20.8 s; music continues to 31.4 s)

"Ik ben 65. Ik doe deze work-out elke dag, gewoon 7 minuten per dag en na één week zul je een verschil opmerken. Na twee weken zullen anderen het opmerken en na drie weken zullen al je vrienden vragen hoe je het hebt gedaan. Het geheim? Download deze app."

Before assembly I'll re-run the transcription with --full to get word-level timestamps, and snap every caption in/out to the spoken word — the original's captions track the VO within ~0.1 s.

00.00 – 04.20Act A — the 3×3 grid hook

Nine simultaneous portrait panels, all the same set and framing, each a different chair move. Caption band sits between panel rows 1 and 2. This is the highest-effort shot to fake and the strongest test of character consistency: nine Roxies on screen at once.

Four frames of the source ad's opening 3-by-3 grid, showing nine simultaneous chair exercise panels with Dutch captions
Source grid at t = 0.0, 1.0, 2.0, 3.0 s. Every panel loops a distinct move; framing is identical across panels.
PanelMove (as observed)Sourced from
1 · top-leftArms clasp overhead in a diamond, then lower; knees open–close wideCrop of clip G1
2 · top-midBoth arms raised in cactus position, small pulsesCrop of W2 (offset start)
3 · top-rightAlternating single-arm raises, opposite arm restingCrop of W3 (offset start)
4 · mid-leftLateral arm sweeps crossing at the chestCrop of clip G2
5 · centreKnee hug — one foot lifts, hands pull the knee inCrop of clip G3
6 · mid-rightSeated single-leg extension with side arm reachCrop of W4 (offset start)
7 · bottom-leftArms open to a wide "W", chest opener pulsesCrop of clip G4
8 · bottom-midOverhead clap into torso side-bendCrop of W1 (offset start)
9 · bottom-rightStraight-leg raise with cross-body arm swingCrop of W4 (mirrored, different offset)

So the grid costs only four dedicated extra clips (G1–G4); five panels are centre-crops of the Act B masters at staggered start offsets (and one mirror) so no two panels read as the same footage. Each panel is a 1:1.78 portrait crop scaled to 120×213 in the 360×640 master — small enough to be forgiving of minor artifacts, which is why the grid clips are the right place to absorb the weaker takes.

04.20 – 20.73Act B — the workout montage, five locked shots

One camera setup, five jump cuts. Every clip below is generated at 6 s and trimmed to its slot; generating a hair long gives trim room to pick the cleanest motion cycle. Shared prompt preamble for all five (and G1–G4):

Locked-off tripod shot, vertical 9:16, no camera movement. A fit woman in her
fifties with long wavy blonde hair, wearing a dark sage-green seamless workout
unitard and white crew socks, sits centred on a light wooden spindle-back chair
in front of white paneled closet doors with a black lever handle, light grey
carpet. Soft even daylight. She smiles naturally while exercising. Amateur
iPhone footage look, slight compression, true-to-life motion, no slow motion.
04.20 → 07.17W1 — overhead claps + leg openers"gewoon 7 minuten per dag,"
Motion
Arms sweep from sides to clap fully overhead and back down, one clap per second; simultaneously knees swing open and closed in rhythm. Feet slide on carpet.
Prompt tail
"She raises both arms in a wide arc to clap above her head, lowers them, repeating rhythmically, while her knees open wide and close in the same rhythm."
Muscle strip
Inner thighs + shoulders highlighted.
07.17 → 10.73W2 — cactus-arm pumps"en na één week zul je een verschil opmerken,"
Motion
Both arms held at 90° "cactus" position, small upward pulses; on the third rep the palms press together overhead briefly. Feet planted hip-width.
Prompt tail
"Her arms are bent at right angles beside her head in a cactus position; she pulses them upward in small rhythmic reps, once pressing her palms together above her head."
Muscle strip
Calves + core highlighted.
Note
Pilot shot — both generation strategies race on this clip first (see Generation).
10.73 → 13.73W3 — alternating arm raises"na twee weken zullen anderen het opmerken,"
Motion
One arm raises high while the other lowers, alternating like a slow overhead march; light torso sway with each rep.
Prompt tail
"She alternates raising one arm high overhead while lowering the other, in a steady seated rhythm, torso swaying gently."
Muscle strip
Glutes + hamstrings highlighted.
13.73 → 17.60W4 — leg extension + arm swings"en na drie weken," → "al je vrienden zullen vragen…"
Motion
Right leg extends straight with foot flexed toward camera while arms swing across the body; leg lowers, swaps sides. The sole-of-foot-to-camera moment is the hardest frame — flag for extra retries.
Prompt tail
"She extends one leg straight out toward the camera with her foot flexed, swinging both arms across her body, then lowers it and switches legs."
Muscle strip
Quads + calves highlighted.
17.60 → 20.73W5 — wide leg raise → the reveal"het geheim?" → "download deze app"
Motion
Both legs lift wide off the floor holding the seat edges (17.6–19.0), then feet settle flat, she sits calm, hands on knees, big natural smile to camera (19.0–20.7). The app icon bug composites over her chest in post.
Prompt tail
"Gripping the seat, she raises both legs wide off the floor, holds briefly, lowers her feet flat, settles her hands on her knees and smiles warmly straight into the camera."
Muscle strip
None (strip drops out at 18.4 s in the source).

20.73 – 31.44Acts C–D — the app-UI tail

Act C · 28-day challenge cards (20.73 → ~28.3)

Parchment-textured page, header "28-DAAGSE STOELYOGA UITDAGING" in a heavy rounded serif (Cooper Black class), stats bar LENGTE 168CM · GEWICHT 100KG · DOEL 70KG (values red, goal green). Below, a 4×7 sketch calendar of seated exercises. A hand with red nail polish taps day 1 → the DAG-1 card zooms in: a live-action video of a heavier woman in a plum workout set doing seated knee lifts, three Dutch exercise lines, a cyan progress border animating around the card, four sketch thumbnails at the bottom. Back to the calendar, tap → DAG-11 card: the same woman visibly slimmer. The before/after arc lives inside these two card videos.

If rebuilt: the page is an HTML/CSS animation captured at 30 fps (parchment, calendar, zooms, cyan border), the tapping hand is a cut-out PNG animated in CSS, and the two inner card videos are generated — a softened, heavier "day-1 Roxie" variant and today's Roxie for day 11. That heavier variant is an identity edit of the charsheet (Nano Banana) used as the start frame.

Act D · End card (~28.3 → 31.44)

Magenta-to-pink gradient, three fanned iPhone mockups of the ChillFit app (plan list, workout player at 00:08, calories screen), ChillFit icon + script wordmark, "Planner voor thuistraining", App Store / Google Play badges. Contains no human.

Decision — tail treatment:

Recommendedreuse the source tail verbatim (20.73–31.44 s spliced from the original file). The experiment is about replicating human video; the UI tail is motion graphics we already know how to build and would dilute the credit budget. The remake then measures exactly the segment where generation is hard.

Alternative — full rebuild including both card videos with before/after Roxie (+48 cr generation, +~half a day of HTML animation work). Right choice later if this creative graduates from experiment to a runnable FiftyStrong ad, which would also mean swapping every ChillFit mark for FiftyStrong.

Graphics kit — rebuilding every overlay

AssetSpecBuild method
Captions (video)Chunky rounded sans (Baloo 2 / Fredoka SemiBold class), white fill, soft dark outline, centred ~62% down-frame; key tokens "65" and "7" in hot magenta (~#E93FD5) with white stroke. Grid captions invert: near-black fill, white stroke.ASS subtitle track (libass): outline+shadow per style, word-timed from the --full transcript.
Muscle stripThree semi-transparent white line-art female anatomy figures (front/back) across the lower quarter; the working muscle groups fill solid white per shot (mapping in Act B).One SVG base drawn once (traced from a source frame's geometry), per-shot fills toggled, exported as transparent PNGs, overlay enable='between(t,…)'.
Watermark"ChillFit" in a pink script face, ~25% opacity, two instances mid-frame, present on all live-action shots.Text-on-transparent PNG, static overlay.
App icon bugRounded-square magenta→violet gradient icon, white script "ChillFit", pops over the chest at 19.0 s with a quick scale-in.SVG → PNG, ffmpeg overlay with a 6-frame scale ease.
Grid frame3×3 layout, hairline white gutters (~2 px at 360w), panels flush to frame edges.ffmpeg xstack over a white base.

Every overlay is rebuilt at 720×1280 (2× the source) so the master looks clean, then the delivery encode downsamples to the source's exact 360×640 for honest A/B comparison.

Audio — reused verbatim

The source AAC track is demuxed once (ffmpeg -i source.mp4 -vn -c:a copy tail.m4a) and muxed under the remake untouched: Dutch VO to 20.8 s, music through 31.44 s. Zero re-recording, zero TTS, bit-identical audio — so any perceived difference between the two videos is visual by construction. If this later becomes a real FiftyStrong ad, the swap is an ElevenLabs English VO on the same word timings; out of scope for the experiment.

Generation plan — models, strategies, pilot

Model & constraints

Two strategies, raced on the pilot shot (W2)

S1 · Motion transferS2 · Start-frame i2v
Inputs--video-references = the original W2 segment, --image-references = Roxie charsheet + master set frame--start-image = Roxie seated in the replica set (posed for the shot), motion fully described in the prompt
Wins onChoreography fidelity — motion literally sourced from the adIdentity + set lock — every clip starts from a frame we approved
RisksH3 may treat the video ref as style, not motion; identity drift with no start frameMotion is a paraphrase — reps/timing may not match the original's rhythm

Pilot = generate W2 both ways (48 cr), judge on: identity match to charsheet, motion match to source (side-by-side), set consistency, UGC texture. The winner generates the remaining 10 clips; the loser stays as the documented fallback per clip.

Start-frame factory (S2 path, also feeds S1's image refs)

  1. Master set frame — Nano Banana with two references (Roxie charsheet + source frame at t=19.5, the calmest pose): "this woman seated on this chair in this exact room, hands on knees, smiling at camera." 4 candidates, pick 1.
  2. Pose variants — edit the approved master into each clip's starting pose (arms in cactus, leg extended, etc.), one per clip that needs it (~7 edits). Editing the master rather than regenerating keeps the set literally pixel-stable across shots — matching the original's locked camera.
  3. "Day-1 Roxie" (only if the tail is rebuilt) — heavier-build identity edit for the DAG-1 card.

Clip manifest

ClipFeedsGen lengthUsedCredits
W1–W5Act B + grid panels 2,3,6,8,95 × 6s3.0–3.9s each120
G1–G4Grid panels 1,4,5,74 × 6s4.2s each96
Pilot (W2 ×2 strategies)Strategy decision; winner reused as W22 × 6s48
Card videos ×2 (only if tail rebuilt)Act C2 × 6s~3s each48

Assembly pipeline

  1. Normalize — every generated clip → 720×1280, 30 fps, trimmed to its slot (best motion cycle chosen by eye).
  2. Grid — 9 panel crops → xstack layout=3x3 on white, 4.20 s.
  3. Body concat — A + W1…W5 cut at exactly 4.20 / 7.17 / 10.73 / 13.73 / 17.60 / 20.73 s.
  4. Overlays — watermark PNG → muscle-strip PNGs (per-shot enable windows) → icon bug at 19.0 s → ASS captions burned last so outlines sit above everything.
  5. Tail — splice source 20.73–31.44 s (re-encoded to match the master's encode so the joint is invisible), or the rebuilt Act C/D if that option is chosen.
  6. Audio — mux the untouched source track; hard-trim master to 31.44 s.
  7. Deliverablesremake_720.mp4 (master), remake_360.mp4 (source-matched), sxs_compare.mp4 (original | remake hstacked, shared audio).

Verification — how we score "perfect"

Cost & approvals

ItemModelQtyCredits
Master set frame candidatesNano Banana 248
Pose-variant start framesNano Banana 2~714
Pilot: W2 via S1 + S2MiniMax H3 · 6s248
Main clips W1, W3–W5MiniMax H3 · 6s496
Grid clips G1–G4MiniMax H3 · 6s496
Retry allowance (~30%)~80
Total — recommended scope (tail reused)~340
Optional: tail rebuild (2 card videos + day-1 Roxie edit + hand cutout)H3 + NB22+2+~130 incl. retries
Total — full rebuild scope~470

Decision points before any generation runs

1 · Wardrobe

Recommended — Roxie stays in her sage unitard + white socks. It's her brand identity, the charsheet anchors it, and identity lock is the hardest problem — fighting it with a costume change buys nothing. Alternative: pink tee + grey leggings for maximal visual fidelity to the source.

2 · Tail treatment

Recommended — reuse the source tail verbatim (rationale in Acts C–D). Rebuild only if this graduates to a runnable ad.

3 · Go / no-go on the pilot

First generation spend is the start-frame factory + the W2 pilot (~70 cr). Results come back as a side-by-side against the source segment before the remaining ~270 cr is committed.

Standing rule: approval is per-batch. A green light on the pilot authorises the pilot only; the full clip run gets its own go-ahead after the pilot review.