Animation styles — sources
davidaistar videos (Gemini watched the full video incl. on-screen prompts; transcripts in ~/research/davidaistar/txt/)
- IolBFaQIrl4 — Zach-D style (
analysis/gemini_IolBFaQIrl4.md). ~1 min Pixar-style 3D, no hard cuts, matter-of-fact VO, hero character on a stage preset, title hook on top. Steps: VO first → word-timed beats of 3-5 s with a planned "transition out" per beat → locked character + stage refs on every call → keyframes → omni-reference video with several scene refs per call → last frame of clip A fed into clip B → speed-fit in the editor. He compared start/end-frame chaining vs omni-reference and standardized on Gemini Omni for smoother transitions. Claims: workflow speed only, no ad results. Keep: planned transitions per seam, stage sheet, 3 visual-hook options for the first 3 s, last-frame hand-off. Change: eye level with the mom in frame, never overhead observation (cartoon-pipeline rule kept, procedure §6); chaining is built as opt-inrun.py --chain-frames(10-06), unproven until the seam-pair proof. Note: REPORT.md row 19 calls this "exaggerated 2D" from the transcript; the Gemini watch shows 3D. - N9Cl7PKrlxQ — claymation (
gemini_N9Cl7PKrlxQ.md). ~50 s clay VO + b-roll. Texture words (thumb-worked, tool striations, matte), "stuttery 12 fps stop-motion cadence, no motion blur", multi-keyframe 12 s generations, hand-made section breakdown, "don't let the model improvise" (planning quality gates the expensive model), one locked character forced into every call. Keep: texture + cadence words (our Fish 8-16 block already has them), eye-level in-world camera (his clay woman IS the avatar = identification). Already ours: VO first, batching to the cap, per-batch audio. - 867Fbi-lyCw — paper animation "$1" (
gemini_867Fbi-lyCw.md). Layered papercraft stills, cuts every 2-3 s, a very cheap fast i2v for zooms/parallax only, one continuous VO. Image model preference differs by style (he picks a different model for paper than for Pixar). Claims "really good performance on Meta", no numbers. Keep: style-prefix block on every prompt, cheapest motion that does the job (our tier C), separate on-screen hook text. Change: our cheap route is NOT BUILT; paper has no Dawn anchor yet. - TozlaC3-rCA — Pixar mascot (
gemini_TozlaC3-rCA.md). Seedream named as the decisive image model for Pixar; 480p is fine for animated styles; composition fixed by conversational edits, not re-rolls; persona/style locked by explicit questions before scripting. Keep: style-dependent image model (Seedream backend spec, procedure §4.3), edit-don't-reroll (cartoon-h3 rule 10). Mascot format itself lives informat-mascot-explainer. - AEkzwbp6RRU — H3 workflow (
gemini_AEkzwbp6RRU.md). Source of our whole cartoon-h3 lane (9-11): VO → dead-air strip → batches ≤15 s → contact-sheet canvases → sliced audio into H3. The "isometric 3D floor plan view" env-sheet prompt is his; it's in our sheet prompts since 9-11. - Cross-video extraction
analysis/animation.md(ranked techniques 1-10: continuous VO, batch to the cap, audio into the model, last-frame chaining, hand breakdown, model per style, edit not regen, force refs every call). - Diff
analysis/diff_animation_styles.md: P1 per-style model routing (paper cheap video; Seedream vs GPT Image A/B), P1 cross-batch last-frame chaining inrun.py refs_for_batch, P1 mascot explainer; don't-adopt list (no per-clip QA, manual dead-air trim, 1 s micro-generations, CapCut crop fix; any crop/speed fix is ffmpeg per core §2a). All three P1 style rows are specified here as NOT BUILT.
Our code (verified 10-06)
scripts/cartoon_h3/canvas.py:STYLE_BLOCKSkeys claymation, bergamot, pixar, disney3d, skeleton, bluey, paper;CANVAS_BACKENDfal (GPT Image 2.5 edit endpoint);gen_canvas_fal(size=…)exists butgen_canvasdoesn't pass a size.scripts/cartoon_h3/run.py:--stylechoices = the 7 keys;--style-block;--style-ref(attached to every CANVAS as the rendering-style ref, excluded from gen refs);--canvas-backend fal|nb|gpt|kie;refs_for_batchreturns ≤9 refs per batch with nothing carried between batches.scripts/cartoon_h3/h3.py:video_promptwritesTransition: <transition_in or hard cut>between in-batch shots; strips ", premium animated commercial storyboard" from the style block.scripts/cartoon_h3/storyboard.py: splitter_SYSsets the first panel of a scene to "hard cut";MAX_BATCH_S = 15.0,MAX_PANELS = 4,PRODUCT_MAX_PANELS = 3.scripts/cartoon_h3/sheet.py: one sheet =gen_canvaswith the given refs; saves the prompt beside the PNG.scripts/cartoon_h3/reskin.py:--from-pack/--from-video;STYLE_DIRS = {"claymation": "clay"}; writesstyle-refs/<dir>/anchor.pngand the style block into the pack: claymation's comes fromPROVEN_BLOCK_PACKS(the nottardy pack, since the 10-06 audit), every other style gets canvas.py's generic block.scripts/cartoon_h3/packargs.py: adds--style-refonly when the anchor file exists, else warns on stderr.scripts/cartoon_h3/splitgen.py: trim-and-join pattern reused by the simple-motion spec.
Our receipts
- 8-14 → 8-17 claymation batch (
project_claymation_batch_2026-08-14.md): Fish 8-16 "bergamot is not even claymation"; true-clay standard; two finals LIVE + QA PASS; matrix ROAS polluted by the destination bug (not a style verdict). - 9-17 college sniper: pixar block audited against Turning Red, sheet v3b 6/10 (
project_college_sniper_run_2026-09-17.md). - 9-19 song lane (
project_song_lane_2026-09-19.md): Bluey flat-2D rejected (image model always drew outlines), disney3d kept. - 10-04 style refs (
output/dawn-iterate-2026-10-04/video/style-refs/README.md): skeleton = Pilloway (100 ads / 629 dups); disney3d = exhibit A frames (paying); clay = our own final (no outside clay story winner after two rounds). Sheet prompts per style inoutput/dawn-iterate-2026-10-04/video/sheet-prompts/. - 10-06 exhibit A → clay re-skin staged (
output/concept-packs/dawnbands-song-reskin-exhibita-clay-2026-10-06.md), sheets not rendered. - Exhibit A: $33.7 CPA, ROAS 2.48 on $292 (format-song sources, MAP.md §2A).
- corrections-hot 10-05: start from the simplest working recipe (yapper); 10-04: judge "looks HD" by eye, never a sharpness score; 10-06: a teardown = per-step diff against our code.
starpop.ai articles by the same creator (10-06; ~/research/davidaistar/starpop/txt/<slug>.txt, paraphrased)
Read: how-to-make-ai-claymation-ads, ai-claymation-prompts, ai-claymation-ad-examples, ai-paper-animation-ads, how-to-make-zack-d-films-style-ads, ai-zack-d-films-style-ad-examples, zack-d-films-ad-format-explained, how-to-make-ai-pixar-character-ads, clone-ai-disney-ads, contact-sheet-prompting-nano-banana-pro. - Adopted: clay light + clay-imitation materials (procedure §1; ai-claymation-prompts, ai-claymation-ad-examples); emotion written as face mechanics + every background face described (SKILL §5 step 6; same two slugs); Zach-D stage = an eye-level empty plate attached to every canvas, ≤~5 s off-stage, hard-cut count as the format test (procedure §3.4, SKILL §5 step 6; zack-d-films-ad-format-explained, how-to-make-zack-d-films-style-ads); chaining identity guard: a continuation frame is never promoted to an identity ref (procedure §4.4; how-to-make-zack-d-films-style-ads). - Already ours, confirmed: VO/song first, dead air stripped before timing (his clay VO: 1:08 → 0:54); one style per ad, block repeated verbatim; locked sheet attached to every image AND video call; edit a 90 %-right frame, don't re-roll; batch several shots per generation with labelled refs; captions, title hook and music in the edit, never in generation. - Not adopted: (1) never writing "smooth/polished/glossy" anywhere in a clay prompt: our Fish-ruled block ends with "never smooth or glossy 3D". His rule says the words themselves trigger CGI; we keep the ruled block verbatim and propose a one-batch A/B (block vs block with those words removed from the negation) on Fish's go. (2) His default "cinematic" clay lane (real woven fabric clothing, macro bokeh) = the generic canvas.py block Fish rejected 8-16 as reading smooth 3D. (3) A real printed paper label with spelled-out copy on clay products, and extruded numerals as claim objects (Zach-D "500"): both are readable text, banned in our renders. (4) Seedream 4.5 stills + Nano Banana 2 retouch: Seedream backend is NOT BUILT (procedure §4.3); Nano Banana is retired (10-01). (5) P-Video / Seedance 2 Mini per-shot clips and 1 s micro-generations: no-ref cheap models drift identity; paper's cheap route stays the spec in §4.2. (6) Contact-sheet → Kling photoreal workflow (contact-sheet-prompting-nano-banana-pro): built on Nano Banana Pro + Kling for photoreal fashion; our canvases already reason over the whole batch in one image; its "ease in/out, 1.5-2.5 s, one slow camera move" motion language matches the §4.2 tier-0 spec already. (7) Cloning a competitor's 20 shots with our product swapped in (clone-ai-disney-ads): corrections 10-05 (beat the leader, never mirror) and the anchor = rendering-style-only rule. - Claims are his: clay ads "work stupidly well", paper ads ~$1 and "performed well", Holo Socks 800+ creatives; Gemini Omni Flash beat Seedance 2 Mini on transitions at equal price (his one-batch test). None verified by us.