| date | learning | source |
|---|---|---|
| 2026-10-06 | Generated hand holding/fastening the Dawn band scored 3-4/10 (fused fingers, generic smartwatch shape) on H3 even with real hand-holding b-roll frames as refs; product moments = real footage (Fish: take out the dawn band with proper references). | project_dawn_yapper_2026-10-04 |
| 2026-10-06 | Best actor-near-product option so far: REAL cutout composited lying on the table in front of her (product 7/10, reveal 5/10, 10-05); never in her hand. | project_dawn_yapper_2026-10-04 |
| 2026-10-06 | Talking-head voice = the video model's native voice; Fish rejected ElevenLabs over the avatar 10-04 and approved H3 native ('yea its good'). Omni (ugc-omni) also speaks the quoted line natively. | project_dawn_yapper_2026-10-04; scripts/ugc_omni/omni.py |
| 2026-10-06 | omni.py line_images adds product_refs to the Omni take when a line has product:true, which invites the model to draw the band in her hand; this format never sets product:true on lines, it marks real-footage broll entries product:true instead (board counts those as product shown). | scripts/ugc_omni/omni.py line_images + cmd_board |
| 2026-10-06 | omni.py assemble overlays whatever mp4 sits at <job>/broll/<id>.mp4 and keeps A-roll audio underneath, so real clip-library footage drops in without running broll gen; omni.py cost still prices those ids as Omni clips (ignore). | scripts/ugc_omni/omni.py cmd_assemble/cmd_cost |
| 2026-10-06 | Coded Dawn statics: callout-direct ROAS 1.86 ($190K) vs testimonial 1.50 vs demo 1.10 (n1); short cartoon-vo 0 ROAS on n10. The actor must deliver a recipe-B callout, not a review; the animated fallback has the weakest prior. | output/dawn-combo-map-2026-10-05/aggregate.txt + MAP.md 2B |
| 2026-10-06 | Real Dawn footage: 89 dawn-raw clips (66 tagged product) from creators Jessica/Kris/Lori in clip-library; search with clip_library.py search --tags dawn-raw,product --all; use .h264-clean files, skip 'captions' versions. | clip-library/library.json; scripts/register_dawn_broll.py |
| 2026-10-06 | Yapper lane closed by Fish 10-05 after an overbuilt keyframe chain; photoreal people need Fish's explicit go, simplest recipe first (one frame, plain prompt, one take per line), motion proof before gen. | corrections-hot.md 10-05; feedback_ai_avatar_broll_lane |
| 2026-10-06 | Audit: job.example.json no longer has a grey crewneck (avatar.wardrobe is "keep", which inherits the ref person's top). omni.py default image arms are gpt2+nbp (Fish 10-06 comment) while the registry retired Nano Banana Pro 10-01: skill passes --arms gpt2 and flags the conflict to Fish. Omni has no draft tier: the lock --n 3 round is the gate-6b draft step. | skills/ugc-omni/job.example.json; scripts/ugc_omni/omni.py DEFAULT_ARMS/OMNI_USD; _MODEL-REGISTRY.md |
| 2026-10-06 | Omni lock rules end 'No captions, subtitles or on-screen text.' (models burn in ad captions when unstated); rules are in prompt_hash, so set before lock. | starpop how-to-use-seedance-2-0-to-make-ads; how-to-use-kling-3-0-to-make-ads |
| 2026-10-06 | Lock-take review order: identity -> hands/bare wrists -> line complete + sync -> continuity -> camera -> audio ending -> caption room; pick correct over pretty; diagnose one cause and change one thing. | starpop how-to-use-seedance-2-0-to-make-ads step 6; how-to-use-kling-3-0-to-make-ads step 8 |
| 2026-10-06 | Isolation test refs = reference map, one job per real ref (hero, side/thickness, worn scale, pouch), no conflicting versions; score takes-to-usable, and any video-edit repair must hold through the motion. | starpop seedance-2-5-ads; how-to-use-seedance-2-0-to-make-ads |
| 2026-10-06 | Seedance 2.5 multi-ref (6 real product refs) rejected by Fish 10-06 ('still wrong somehow'): the band stays real-footage only. | output/model-proofs-2026-10-06/README.md |
| 2026-10-06 | Fish 10-06: creator footage may be AI-edited; photoreal ads carry a 'dramatization' label. | Fish chat 10-06 |
| 2026-10-06 | Production handed to ugc-omni (Fish 10-06: THE photoreal engine): this skill now supplies the job.json (references/omni-job.example.json) and runs omni G0-G4. Generated band frames allowed only through omni product gate (variant/pick --product >=7/10, display-off wording, natural palm hold, product_action locked, avatar_band/scene2 -> end_frame holding); real footage = fallback. Arms gpt2,sd5; no draft step; tiers only pick b-roll. | skills/ugc-omni/SKILL.md; Fish 10-06 |
format-ai-actor-demo
Short (15-35 s) TikTok-Shop-style product demo ad: an AI actor says a callout to camera, names the problem in one line, the band is demoed (ugc-omni product gate, real footage as fallback), then the result and a guarantee CTA. Recipe B (callout, her burden, guarantee/science authority), never a testimonial.