<inputs>
Ask me for my animal or topic ('Why is the X the most disturbing animal in the ocean?', 'Why is X terrifying?'), or pitch 3, each with 5 true facts that get worse as they go. Ask which image model I have (GPT Image 2 or any model that takes a reference image at 4K, about $0.03 an image) and which voice I have (ElevenLabs, or Kokoro for free). Then write the script and the shot list with seconds, and show me both before anything costs money.
</inputs>
<direction>
Match the exact art style of the reference image: flat 2D cartoon, thick dark brown outlines, flat colours with simple cel shading, big expressive googly eyes, clean vector look. Vertical 1080x1920, 60fps, 30–35 seconds. Flat lay, no camera move, no 3D. One hoodie host on a pale background with a faint grid. The host lip-syncs the narration and introduces each fact. Behind the host a large key visual appears for each fact, built from the cast art sheet.
</direction>
<structure>
0–2s cold open with the question as bold title.
2–6s host on-screen introduces the animal.
6–26s facts 1–5, each ~4s: host gestures, a key visual pops in with a named easing, fact title and a short caption below.
26–31s host wraps.
31–35s end card with subscribe / follow CTA.
</structure>
<build>
Cast sheet: 9 poses of the animal (front, 3/4, back, surprised, scared, aggressive, swimming, injured, tiny) plus 3 expressions of the hoodie host (neutral, wide-eyed, hand-on-head). All on a transparent PNG, same outline width and stroke colour.
Background: pale off-white with a very faint grid (1px, 10% opacity). No gradients.
Title and fact titles use the same heavy rounded sans, title colour on a slightly darker tinted pill behind the text. Caption below each title in the same font at smaller size.
Key visuals are built from the cast sheet, composited on the grid. Use named easings for each entrance: 'pop' for the first, 'pose-swap kick' for the second, 'shake' for the most disturbing fact, and simple scale-up for the rest.
Host lip-sync: draw the mouth track at 60fps from the voice. Open when it is over (70th percentile in dB - 15) and over 0.55x the loudest frame within ±0.1 s. Close otherwise. Hold the open shape 1 frame longer on plosives.
Voice: ElevenLabs eleven_v4 with timestamps endpoint, or Kokoro+whisper for free. Pace the script to land at 28–30s of speech so the whole video is 30–35s with the title and end card.
Colour pairs used for the key titles: #ffd21f/#c27a10 (yellow), #ff4a3d/#8e1a14 (red), #ffffff/#9aa6b4 (white/grey), #ff7ab8/#a8336d (pink), #7dff6a/#2e9a2a (green). Each title colour on a pill of its darker tint.
Film loop is an HTML canvas that steps through frames, applying the named easing to each key visual's entrance and the mouth track to the host. Tools: Python, Playwright with Chromium/Edge, FFmpeg, OpenCV, Pillow, numpy, soundfile.
</build>
<gotchas>
A plain hue tint for the red alarm turned blue water green. Sepia first, then hue-rotate.
</gotchas>
<start>
Given my animal/topic, image model, and voice, output:
1. A 5-fact script with seconds for each line.
2. A shot list with seconds, on-screen text, and which cast pose / easing is used.
3. The exact hex title colour you will use for each of the 5 facts.
Show all three before generating images or audio.
</start>
Comments
Loading…