Street interview: beat sheet, take math, line rules
Runtime target 30-60 s (≈ 45 s: 2 interviewer lines ≈ 3 s, 7-8 answers ≈ 33-38 s, end card (optional, --end-card; off by default per Fish 10-06) overlays the last 2.5-3 s). Percentages are of runtime. Every answer row = one mom = one take = one lines[] entry.
Take math (Gemini Omni via ugc-omni)
| Bucket | Words that fit at 2.7 wps (omni.py DEFAULT_WPS; plan_line needs words/wps + 0.5 s ≤ bucket; lock re-measures) |
Use for |
|---|---|---|
| 4 s ($0.315) | ≤9 | hook answers, chorus counts, payoff |
| 6 s ($0.42) | 10-14 | stakes answers |
| 8 s ($0.525) | 15-20 | the answer mom (root cause + mechanism + product) |
| 10 s ($0.63) | 21-25 | only if the answer line can't be split; never two takes of one mom |
plan_line picks the smallest bucket for the measured wps and pads filler, and verify trims the filler off. Re-check the table after lock --approve stores the real wps. |
Beats
| # | Beat | % | Moms | Job | Line rules |
|---|---|---|---|---|---|
| 1 | Question + hook answer | 0-12 | Interviewer (off camera) + mom 1 | Name her symptom, stop the scroll | Question ≤8 words, names the symptom (her as the alarm, his alarms failing). Shown as on-screen text from frame 0. Mom 1 starts speaking ≤1.5 s in, with the highest-emotion VOC line; 3 variants = the 3 hooks |
| 2 | Chorus | 12-45 | moms 2-4 | Prove every mom here is the alarm | Counts, times, trips, who wakes up instead of him. Concrete numbers are fine (from VOC). Failed solutions are generic (louder alarms, phone across the room, lights on), never brand names, never bed shakers. No product |
| 3 | Stakes | 45-65 | moms 5-6 | The cost lands on HER | Stake-bank lines only: legal (letters in her name), violence (he swings at her), her breakdown (cried in the car), family (the house fights). The mornings caused it. No college/kid-money stakes |
| 4 | Turn | 65-70 | Interviewer | Pivot to the answer | ≤6 words, off camera: "So what finally worked?" |
| 5 | Answer | 70-88 | mom 7 (the answer mom) | Root cause → mechanism → product | One take, ≤10 s (≤25 words at 2.7 wps). Fish's ruled lines: sound doesn't reach a deep-sleeping brain; touch gets through; silent to everyone else; keeps going until he turns it off. Product named once ("a band", "the Dawn band"). The band insert (broll:band: product-gated omni b-roll, or real footage) overlays the second half |
| 6 | Payoff | 88-100 | mom 8 | Independence / calm mornings | Kid-independence result on her; ≤9 words (4 s) or ≤14 (6 s); the end card (optional, --end-card; off by default per Fish 10-06) covers its last 2.5-3 s, so the key words come first |
Answer rules (all moms)
- Every answer = a real VOC line (owned survey, stake bank, customer-evidence Q-quotes, competitor-review q-IDs) used verbatim or trimmed for speech: cut words, split a run-on, turn "my 14 yr old" into "my fourteen-year-old". No new facts, numbers or claims. The
srcID goes on the line. Exceptions: the answer mom (Fish's ruled mechanism lines,claims-register.md§mechanism) and the payoff (a desire line turned into a result, checked against product-truth; flag it at red-team). - Said-out-loud test on every line. Pronoun-first, fragments OK ("Every day. Every single day."). Real people answering a stranger don't make speeches.
- Max one sentence of setup per answer. Each answer has to stand alone: the viewer doesn't know these women.
- Numbers spelled for speech ("fifty", "six thirty"); acronyms via
job.say(ADHD → A-D-H-D). - No mom praises a product except the answer mom. No names, cities or "verified buyer" captions: these are AI actors saying real parents' words, not named customers.
- Never quote dialogue inside a visual/action description (the video model speaks quoted text; yapper 10-05).
Structure example (ILLUSTRATIVE: shows the shape only, not shipping copy; real lines go through red-team and Fish)
Q (off camera, banner): "Who gets your kid up for school?"
1. [m1, H1, src stake bank #11 / survey #10232] "Me. Fifty trips every morning. And it ends in yelling."
2. [m2, src survey S05] "He sleeps through multiple alarms. I'm up early to get him up."
3. [m3, src Q04] "His alarms wake the whole house up before they wake him."
4. [m4, src survey #9099] "Everyone was up because of her alarm. Except her."
5. [m5, src stake bank #6, reddit 1rfciee] "You start getting letters in the mail when your kid has too many absences."
6. [m6, src stake bank #25, reddit 1ow28ub] "I screamed and cried the whole way to school."
Q2 (off camera): "So what finally worked?"
7. [m7, answer mom, broll:band, src Fish's ruled lines] "Sound doesn't reach him that deep asleep. Touch does. It's a band. It buzzes his wrist till he turns it off. Nobody else hears it." (25 words: the 10 s ceiling at 2.7 wps)
8. [m8, src survey S01 desire → result] "He gets himself up now. Nobody else in the house wakes up."
End card (optional, --end-card; off by default per Fish 10-06) (endcard.py, 2.5 s): product cutout + "60 nights to try it."