Ebb Ocean Club · Instant Slip + Shine Leave-In Detangling Tonic · S1, the swimmer explainer

A SmoothSpine VSL ported whole to the Tonic and cut from the client's own footage. Voiceover over real film, no face, no generated frame. The spoken text is the locked script word for word.

What it is

105.3 s · 39 shots from 21 clips: 18 real (client Dropbox shoot, two creator TikToks) plus three generated mechanism macros at the beats where the line names something invisible. Voice is the shared belt slot w30-flandb, the same voice as S3, so the two read as one series. House tiktok captions, one music bed, one grade, no end card. Philosophy 2, the swimmer door: dry hair drinks pool water with its chlorine and copper during the swim, and every routine sold to swimmers starts after the water instead of before it.

Cost

$1.32 of generated footage (3 clips on fal MiniMax H3 at $0.44, approved before any spend), $0.27 of voice (21 calls, 7,843 characters), about $0.17 of cut-box and QA-box time. <b>About $1.80 for the ad.</b> The batch's $5 generated-footage cap stands at $2.20 (S3) + $1.32 (S1), leaving $1.48 for Q1 and Q5.

Checks

  • Spoken text is the locked script, byte for byte. The caption word file normalises to the same 383 tokens as videos/S1/ours.txt. Nothing was rewritten in production.
  • Picture and sound end together. Final video 105.333 s, audio 105.333 s, 3,160 frames.
  • Voice built per sentence and verified per sentence. 18 chunks, all clean on the first attempt, zero retries. Word timings carry the voice's own alignment, so every cut lands on a spoken word.
  • Timings checked against an independent transcription of the joined voiceover: worst deviation 0.41 s across 38 cut anchors, no drift over 105 s.
  • Every clip is real and ours to use: 16 from the client's own shoot, 2 creator TikToks, 1 ripped. None shows another brand; checked on the index text AND by pulling frames.
  • vspeech run on the finished cut. Six findings, five of them false (see below).
  • The three mechanism clips, chosen by looking rather than by formula. All 768x1344 vertical, 6.592 s. Windows picked by sheeting each clip across its length: R04a at 1.60 s (by 4.8 s the blue cloud fills the frame and the hair is gone), R05a at 0.35 s (the model changes subject at about 3 s, from tiled cuticle scales to a brown fibrous rope), R20b at 3.95 s. A positional rule would have picked the worst window on two of the three.
  • Green measured, not eyeballed. G - max(R,B) of -15.14, -2.50 and -3.64, so no clip carries a cast. This matters because philosophy 2 rules out any claim about green, and no gate we own reads a frame for a claim.
  • Brightness corrected per row and verified in the finished file. The clips arrived at 67.4, 83.3 and 42.7 mean luminance against 125.0 across the 36 real rows, whose own floor is 85.4. R04a and R20b were lifted to 99.6 and 79.5; the worst gap went from 43 points to 6.
  • House video QA re-run on this exact cut: 9 fatal, 26 major, 14 minor, identical to the all-real-footage cut. The three generated clips produced no finding of any severity. Every fatal was opened against the audio or the frames and came to 0 real defects. The verdict and the per-fatal adjudication ship in qa/ on this page.

Flags for you

  • The QA engine cannot examine a shot without a body in it, and reports that as a pass. Its two shot-level engines are an SFace face embedding and a torso colour correlation, both of which need a person in frame. The three generated macros scored no finding of any severity, and the report has no 'not examined' column, so an abstention and a clean result look the same. The proof is that this verdict's nine fatals are identical, at identical timestamps, to the all-real-footage cut: adding three visually distinct shots moved nothing.
  • The voice says the brand — does it sound like Ebb to you? Every TTS take mangles "Ebb", so the house respelling feeds the engine "Ab" (your call, 2026-11-06). The captions read Ebb. Transcribers write back "Ab" and "Abtonic" at 63 s and 98 s. That is the respelling working as designed, but you are the ear on whether it lands as the brand name.
  • "and even the need for the big chop" has no scissors. The library's only haircut footage is a home kitchen salon in a completely different visual world. The line is spoken in full; the picture is a hand holding the ends.
  • "and is now sold at Sephora" has no Sephora. The library's one Sephora interior pans across Olaplex, Fenty Hair, Living Proof, Pureology and Paula's Choice, all legible, and the index records its burned text as "none". The line is spoken; the picture is the Tonic at the poolside.
  • The read is fast. 370 words in 105.3 s is about 211 words a minute, above the 180–200 the approved cuts run at. Slowing it means lengthening the pauses, which breaks the one-paragraph phrasing the house measure wants (phrases now sit at 3.3 s, inside the 3.2–5.9 s band real narrators measure).
  • vspeech's five false findings, each settled by re-reading the seconds themselves: "dryness" at 24.8 s and 71.9 s, "from" at 96.2 s and "people" at 104.7 s are all in the audio, and the 0.81 s of "dead air" at 24.0 s does not exist. The transcript it reads from drops words at window edges and truncates the last word of a clip.
  • The opening shot runs 5.33 s, the longest in the ad. The cut averages 2.70 s a shot (median 2.43 s), inside the 2-4 s pacing spec, but the hook is the one place the spec matters most. Splitting it into two pool shots costs nothing if you want it tighter.
  • Both cuts exist and differ in exactly three shots. Same locked script, same voiceover file, same 36 other rows, same captions, music and grade. That is a clean one-variable pair on a question never tested here: whether a generated mechanism macro beats real footage at a beat where the line names something invisible. The answer governs whether the generation cap is money well spent across every future Ebb ad.

Every beat, the line and the picture

0.0-5.3sHere's why most swimmers struggle with dry, tangled hair in 2026, and what you can do about it.spritz-season-05-V4.mp4 @0.3s - POOL CORE: the swimmer, the image the whole ad returns to
5.3-7.3sGetting in the pool without anything on your hairspritz-season-06-V4.mp4 @3.09s - a swimmer under the surface, hair loose in the water
7.3-10.3slets it drink the water, and that's a huge problem.spritz-season-04-V4.mp4 @6.53s - in the pool, pushing the wet hair back
10.3-12.1sThe soak puts chlorine and copper7654644107322821918.mp4 @6.69s - submerged in clear pool water
12.1-13.0sinside your hair,spritz-season-04-V4.mp4 @0.3s - floating, the hair spread out in the water
13.0-14.8swhich often causes the outer scalesshower-campaign-IMG-5874.mp4 @0.1s - macro of hair worked through: the surface of the strand
14.8-16.3sto wear off or roughen.shower-campaign-IMG-5830.mp4 @0.3s - water driven down through soaking wet hair
16.3-18.8sThe outer scales are the only shield your hair has,spritz-season-07-V4.mp4 @0.2s - long hair thrown back: root to end in one frame
18.8-21.5sand run from your roots all the way down to your ends.shower-campaign-IMG-5750.mp4 @4.71s - the hand travelling down the length to the ends
21.5-23.3sWhen these scales wear off or roughen,shower-campaign-IMG-5769.mp4 @0.2s - HAIR CORE: the brush going in
23.3-28.3sit can cause dryness, knots and that straw feeling in your hair, your ends and your nape.shower-campaign-IMG-5769.mp4 @1.04s - HAIR CORE: further down the length
28.3-32.2sThe more you swim, the negative impact of the soak and the sun gets worse,spritz-season-05-V4.mp4 @2.4s - POOL CORE return
32.2-36.4sbecause damaged hair soaks up more chlorine and metal every time.spritz-season-04-V4.mp4 @7.85s - wet hair handled in the water again
36.4-39.8sThis can lead to deeper problems like a green tint and breakage,shower-campaign-IMG-5750.mp4 @5.54s - hands down the length to the ends
39.8-41.7swhich in turn may result in split endsshower-campaign-IMG-5769.mp4 @3.0s - HAIR CORE: the brush catching
41.7-43.7sand even the need for the big chop.shower-campaign-IMG-5750.mp4 @2.3s - the ends held in the hand
43.7-45.8sSo, how do we prevent this?spritz-season-11-V4.mp4 @0.3s - poolside wide, cropped above the drinks tray: the question sits over a breath
45.8-48.4sMany people have tried to rinse with a swimmer's shampooshower-campaign-IMG-5803-ed.mp4 @5.01s - lathering in the shower, no bottle in frame
48.4-50.6safter the pool, which can help the smell a little,shower-campaign-IMG-5830.mp4 @2.6s - rinsing it all off, after the swim
50.6-55.1sbut fails to protect the hair during the swim, and only starts once the damage is done.shower-campaign-IMG-5800.mp4 @9.36s - water running through the hair: the rinse is already too late
55.1-57.3sThe good news is that there's now a solutionspritz-season-12-V4.mp4 @4.94s - the Tonic floating on the pool water: the turn of the ad
57.3-62.6sthat goes on before the water, helps repair the damage already done, and still feels light.spritz-season-13-V5.mp4 @0.3s - the spray fires beside the pool
62.6-64.0sIt's called the Ebb Leave-In7623952027390954765.mp4 @3.7s - the bottle turned until the ebb wordmark fills the frame
64.0-66.2sDetangling Tonic here's why it works.spritz-season-10-V4.mp4 @0.3s - the bottle standing at the poolside: the whole product in one frame
66.2-69.8sThis spray is carefully designed to coat your hair before you get in the water,spritz-season-14-V5.mp4 @0.3s - a hand sprays, the wordmark and the pool in one frame
69.8-72.5sproviding instant slip for your knots and dryness,spritz-season-09-V4.mp4 @0.3s - the spray landing on the hair
72.5-75.0sby slowing what the strand drinks in.shower-campaign-IMG-5874.mp4 @0.36s - macro of the coated strand: what it drinks in
75.0-79.1sWith just a few swims of use, you'll get back to soft, knot-free hair.shower-campaign-IMG-5750.mp4 @0.3s - hands running freely through dry hair
79.1-84.5sThis allows your hair to finally hold on to what it has, giving you your hair back, free from the straw feeling.shower-campaign-IMG-5769.mp4 @0.71s - HAIR CORE: the pass that no longer snags
84.5-86.2sIt's extremely easy to use,spritz-season-03-V4.mp4 @7.44s - poolside, the bottle in hand
86.2-89.4sand the leave-in formula ensures it stays with you all swim,spritz-season-04-V4.mp4 @1.2s - still swimming: the film stays on through the swim
89.4-90.7seven when you go under.7654644107322821918.mp4 @7.08s - under the water again, now on our side of the argument
90.7-93.2sSimply spray it onto wet hair before the poolspritz-season-13-V5.mp4 @2.9s - the mist firing: the instruction
93.2-94.5sand comb it through.shower-campaign-IMG-5769.mp4 @1.3s - HAIR CORE: the comb pass
94.5-97.7sGet in and feel the difference from the very first swim.spritz-season-05-V4.mp4 @4.13s - POOL CORE: the close, back on the opening image
97.7-100.9sThe Ebb Tonic is created by a former national-team swimmer,spritz-season-06-V4.mp4 @10.7s - a swimmer in the pool under the founder line
100.9-102.3sand is now sold at Sephoraspritz-season-10-V4.mp4 @3.0s - the bottle at the poolside with a swimmer crossing behind it
102.3-103.6sand rated 4. 97623952027390954765.mp4 @3.7s - the ebb wordmark for the rating line
103.6-105.3sby over 600 people.spritz-season-12-V4.mp4 @7.24s - the Tonic floating on the water: the last image, no end card