ASMR — sources
Reference ad (paraphrased; structure only)
- davidaistar short
YtHf2oQisLQ"Claude creates ASMR ad with unbelievable physics" (~/research/davidaistar/txt/YtHf2oQisLQ.txt). It's a clip cut from the long video f83UH-qmNUs ("Claude Code + Seedance 2.0 = automated UGC",analysis/gemini_f83UH-qmNUs.md), shown there among the bonus generations. What the viewer sees: a soda poured into a glass packed with ice, close, with the ice rising as the liquid fills. No person, no words. The whole hook is believable physics plus pour/fizz sound. His claim is that a drink brand could "pump out hundreds" for organic reach. The model is unnamed in the short; the parent video ran Seedance 2 on StarPop, 9:16, 14 s, 720p. Prompts were written in blocks: Action / Audio (voice type, room tone, delivery, dialogue) / Quality (resolution, lighting, texture). - Keep: one physical action shot close; sound as the hook; texture you can almost feel (ribbed silicone, sheet ripple); the Action/Audio/Quality split as the motion-prompt checklist (every buzz prompt says what moves, what stays still and what it should sound like, even though we lay the sound ourselves).
- Change: his is pure product porn with no problem and no person. Dawn's core bans mystery openers and character-less explainers, so we add a symptom header on frame 0, a sleeping teen, and her as the one the din wakes. His physics carries the ad. Ours is a contrast (loud fails, quiet works) that proves the mechanism. His is an organic-reach claim with no paid numbers, so treat it as untested for paid.
- Shorts table (
analysis/guide_copy_images_shorts.md): the row for YtHf2oQisLQ files ASMR as "a scalable organic-content format for beverage brands, on physics realism alone". Cross-video patterns used here: #4 improvise-first, refine-second (let the model improvise the macro, then fix only the band in an edit pass); #8 pick the model by task (multi-step physical demos → Seedance-class i2v, here the Cheap simple-motion i2v role for object macros); #10 Claude writes the structured prompt and the model improvises the rest. - Closest Dawn precedent:
output/concept-packs/dawnbands-wakes-everyone-but-him-2026-08-17c.md("It wakes everyone but him", claymation, 62 s, shipped 8-17 on the old seedance lane). It sold the household damage his alarms do to everyone else, with 11 per-scene SFX at doctrine levels viascripts/dawnbands_wakeseveryone_finalize_2026_08_17.py→scripts/finish_video.py --sfx-plan, and a near-silent scene on purpose ("the quiet is the beat"). Keep: the angle, the cue-per-scene plan, the levels, the deliberate quiet. Change: 20-25 s instead of 62; the cartoon-h3 lane (that finisher reads the oldmanifest.json/pipeline-state.jsonruns, not cartoon-h3 run dirs); its SFX kit dir no longer exists.
Research diffs folded in
| Diff | Row | Where it lands |
|---|---|---|
analysis/diff_animation_styles.md |
per-style model routing; cheap path for simple motion | SKILL §9: photoreal object cut runs on the Cheap simple-motion i2v role, the cartoon cell on the stylized-video role |
analysis/diff_animation_styles.md |
"export without per-clip QA" = don't adopt | SKILL §10: by-eye pass on every buzz clip (Gemini ~1 fps can't see it) |
analysis/diff_ai_ugc.md |
omni-reference for product accuracy is unproven on our account (3-4/10 in yapper) | SKILL §7: object cut uses real product photos as start frames; no hand-held band renders |
analysis/diff_ai_ugc.md |
face-blur filter bypass = never adopt | photoreal cell is objects-only; no people, no workaround |
analysis/diff_ai_ugc.md |
cheap-tier-first culling; short 15-30 s formats are cheaper per test | the whole format: ≈$3-5 per ad, one batch for the short cell |
Our code receipts (read 2026-10-06)
scripts/cartoon_h3/assemble.py:fit_clipruns ffmpeg-anon every clip (clip audio dropped); captions fromlines.json;master_mix(rendered, final, None, bed_tension=music, hit=None, riser=None)= ONE bed.DEFAULT_MUSIC= gentle-piano-ambience;run.py --musicswaps the file.scripts/vo_audio_chain.pymaster_mix: the bed is-stream_loop -1, faded in over 0.8 s, gain-normalized toBED_LUFS = -26, sidechain-ducked under the VO; master loudnorm to -14 LUFS / TP -1. So a din passed as--musiccomes out quiet, faded and ducked. Hence the post-assemble overlay.scripts/finish_video.py: the per-cue mix pattern (volume,adelay,amix … normalize=0,-c:v copy) the beat-sheet overlay copies; itsSFX_KITdir is gone.audio-library/INDEX.md+ls audio-library/sfx: ambience ×3, tactile ×1 (gentle-tap 3.4 s), transitions ×6. No alarm, knock, smoke or buzz files.- ElevenLabs
/v1/sound-generationis called inline inscripts/zakdfilms_pipeline.pyandscripts/higgsfield_pipeline.py(old lanes, per-scene); there's no standalone CLI. scripts/cartoon_h3/vo_check.py: narration floor 3.4 wps, dead air 0.40 s; pack front mattermin_wps/dead_airoverride them (meant for packs that mirror a measured source ad). This skill keeps the defaults.scripts/cartoon_h3/pack.py: role wordsreveal/ctaset the product flags (reveal/CTA batches ≤3 panels); intents grammarN. **role** — text.scripts/seedance_img2vid.py:--image --prompt --output --duration (4-12) --resolution (720p|1080p) --fal-key; endpointfal-ai/bytedance/seedance/v1.5/pro/image-to-video; sends no audio parameter.scripts/register_dawn_broll.py --dir+scripts/vo_broll_runner.py --pack: the existing real-footage-to-VO assembler; generated clips are untested through it.knowledge/ad-formats/_MODEL-REGISTRY.md: roles used here are Stylized video (H3-max), Cheap simple-motion i2v (Seedance 1.5 Pro i2v), Sound effects / foley (proven = library files; candidates sonilo video-to-sound-effects, mirelo sfx v1.5 video-to-audio, kling video-to-audio, sonilo text-to-sound-effects, stable-audio-3 sfx; NOT BUILT in assemble), Video understanding (Gemini, ~1 fps).
Memory receipts
project_dawnbands_broll_seedance_playbook.md: vibration language under-renders; wake scenes must be reaction-primary; product-alone buzz renders as "shivers in place against the wood, rattling with tiny rapid movements"; fidelity block (diagonal ribbing, matte black inside and out, no smartwatch module); physics anchors; sleepwear stated on every in-bed human; watch-face drift (8-17c S9 re-render).feedback_cartoon_vsl_sound_pacing_doctrine.md: SFX planned per scene up front; levels 0.20 / 0.11-0.13 / ≤0.08-0.10 / ≤0.12; muffled realistic sources; no tape-rewind transitions.feedback_ai_avatar_broll_lane.md: photoreal PEOPLE gates (motion proof, locked character, line-match ≥8/10, eyes over scores). The object cut avoids people, so these don't trigger; if a person is ever added, they all apply.- corrections-hot 10-05: start from the simplest working recipe (one start frame, plain prompt) and add layers only when a test shows the simple one fails; 10-04: judge "looks HD" by eye.
- Stake bank
output/creative-strategy-cooper-2026-10-05/dawn-stakes.md: #17 "Everyone was up because of her alarm except her" [survey #9099]; #9 slept through the fire department [reddit 1gila3x]; #11 fifty trips every morning [survey #10232]. - MAP.md §2A mechanism row (ramp+silent 1.74 vs silent-only 1.49) and §2B recipe B; §4 img-c1-dressed-asleep CPA curve ($38 → $68).
starpop articles (creator's own write-ups, read 2026-10-06; ~/research/davidaistar/starpop/txt/)
- Applied:
facebook-instagram-ad-sizes-and-safe-zones+how-to-preview-a-facebook-ad-before-publishing→ §10 placement gate (the article names the UI regions but gives no percentages; the 14/35/6 % Reels box is Meta's published spec, cross-checked 10-06).are-ai-generated-ads-allowed-on-meta→ §11 upload hygiene (Advantage+ enhancements off, live preview day 1).meta-video-ad-metrics-hook-rate-hold-rate-ctr-cpa,how-much-budget-to-test-meta-ad-creatives→ §11 read/floor lines where this format needed them. - Read, nothing new for this format:
ai-ad-formats-guide(format ↔ job table, shot-list order, references before video: already core §4),fully-ai-generated-ads-are-here-to-stay(strategy essay),how-to-calculate-break-even-roas-for-meta-ads(proposed for core §6, not format-specific),how-to-add-correct-captions-in-any-language+how-to-fix-wrong-capcut-auto-captions(script-as-source captions = our assemble rule already; his SRT → CapCut/Premiere import maps to Remotion per core §2a). - Not adopted: (1) "an AI actor must not voice a fictional first-person experience / fabricated testimonial" (formats guide, AI-ads article, organic-vs-paid) — conflicts with Fish's claims unlock (10-02) and our dramatized mom-narrator recipe; risk is Fish's call, recorded here only. (2) His 25-char vertical caption line cap — VideoAd chunks by its own MAX_PHRASE_CHARS 28 + two-line fit, Fish-set. (3) Organic-first discovery (
ai-organic-social-vs-paid-ads) — Dawn's message and checkout path are proven, Testing CBO is our discovery lane. (4) His model picks (Kling O3 Pro, Sora 2, P-Video) — registry roles only; untested candidates.