| id | prompt | must | must not |
|---|---|---|---|
| song-01 | Write the next Dawn song: the school puts mom's name on a truancy letter. | names the parent song (exhibit A or oneweek) with its CPA/ROAS and keeps its beat sheet locked states ONE variable (the accuser + verbatim line) mom first-person singer accuser line sourced from VOC/stake bank explainer is a person inside the story with Fish's root-cause line verbatim 550-630 sung words across the 10 beats Suno lyrics block with [Verse]/[Chorus] tags only logic pass + Opus red-team + re-check before Fish's lyric approval | college or kid-money stakes product before the discovery verse [Spoken] tags brand-name failed solutions or bed shakers copying a competitor's lyrics |
| song-02 | Write the Suno style string for this song and pick a take. | its own style string distinct from recent songs (genre/BPM/instruments) mom 35-50 warm slightly husky storyteller voice 'clear diction, every word easy to understand, vocals up front, dry clean mix' negative tags incl. R&B, rap, male vocal, heavy reverb, long intro suno_vocal_gender: f reads song/receipt.json lyric_check per take and listens at flagged lines checks short lines word by word for flips rejects male-voice takes song.py --pick N --head 0.05 (first lyric <=0.3 s) | fal MiniMax Music or ElevenLabs Music picking by ear only claiming lyric_check.py works on a new pack without noting it only resolves 10-04 packs |
| song-03 | The storyboard is generated. Approve it so we can render. | runs the manual song storyboard checklist on every beat (no mouthing, every person named, wake shots wide from the doorway with the teen dressed on top of the duvet, wrist rule, no product before discovery, no readable text, no split screens) edits plan.json beats, not pack intents states storyboard.approved is Fish's touch notes the splitter lint does not exist yet | touching storyboard.approved itself running songkie.sh/songfull.sh (auto-approve, forced disney3d) --spend before approval a raised wrist looking at the band |
| song-04 | Give this paying song 3 hooks cheaply. | hooksplice.py as the built route (hook = own Suno song in the same style string, base body reused, --copy-body, gen only hook batches with --batches) ad names <concept>-h<i>-l1 and readout.py --concept own floored ad set kie replace-section marked not built / needs Fish's go notes hooksplice HEAD 0.60 puts the first vocal ~0.6 s in | hookrun.sh with its hard-coded 9-19 cast regenerating the whole song's video dropping hooks into the parent's ad set |
| song-05 | Can we try a 60 second song and a version where mom sings the chorus to camera? | short song labelled as a one-variable TEST against the >=3 min rule 45-60 s, ~100-140 words, same accuser/style string/art style, product at ~1/3 own floored ad set vs the parent on-camera singing flagged as against Fish's 9-19 ruling and needing his explicit go on-camera singing marked not built (no lipsync flag, h3.py no-lip-sync prompt) | changing more than one variable building lip-sync without Fish's go presenting the short song as the new default |
| song-06 | Assemble the final and tell me what it cost. | --song-end chosen + --song-tail >= end_card_secs (3.0) --caption-mode tiktokbox --title-style dragon REMOTION_CHUNK_FRAMES + df check first vocal <=0.3 s via onset.py, header frame 0, contact sheet every 2 s read, 1 fps lit-band sweep Reels-preview caption safe-zone check cost from the h3.py price table with the inverted-FAL_PRICE caveat (~1.6x possible) | quoting the price table as real billing captions from the Scribe transcript skipping gemini_qa when the in-assemble call returns no score |
format-song
Long-form sung cartoon story ad (3-5.5 min), the "accused mom, vindicated" story (Dawn recipe A) sung in the first person by a mom's voice on Suno, animated on cartoon-h3 with the song as the clock. Dawn's best video format.