@renoise/video-maker 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/.claude-plugin/plugin.json +5 -0
  2. package/README.md +50 -0
  3. package/hooks/hooks.json +16 -0
  4. package/hooks/session-start.sh +17 -0
  5. package/lib/gemini.ts +49 -0
  6. package/package.json +22 -0
  7. package/skills/director/SKILL.md +272 -0
  8. package/skills/director/references/narrative-pacing.md +257 -0
  9. package/skills/director/references/style-library.md +179 -0
  10. package/skills/product-sheet-generate/SKILL.md +75 -0
  11. package/skills/renoise-gen/SKILL.md +362 -0
  12. package/skills/renoise-gen/references/api-endpoints.md +138 -0
  13. package/skills/renoise-gen/references/video-capabilities.md +524 -0
  14. package/skills/renoise-gen/renoise-cli.mjs +723 -0
  15. package/skills/scene-generate/SKILL.md +52 -0
  16. package/skills/short-film-editor/SKILL.md +479 -0
  17. package/skills/short-film-editor/examples/mystery-package-4shot.md +260 -0
  18. package/skills/short-film-editor/references/continuity-guide.md +170 -0
  19. package/skills/short-film-editor/scripts/analyze-beats.py +271 -0
  20. package/skills/short-film-editor/scripts/batch-generate.sh +150 -0
  21. package/skills/short-film-editor/scripts/generate-storyboard-html.ts +714 -0
  22. package/skills/short-film-editor/scripts/split-grid.sh +70 -0
  23. package/skills/tiktok-content-maker/SKILL.md +143 -0
  24. package/skills/tiktok-content-maker/examples/dress-demo.md +86 -0
  25. package/skills/tiktok-content-maker/references/ecom-prompt-guide.md +261 -0
  26. package/skills/tiktok-content-maker/scripts/analyze-images.ts +122 -0
  27. package/skills/video-download/SKILL.md +161 -0
  28. package/skills/video-download/scripts/download-video.sh +91 -0
@@ -0,0 +1,260 @@
1
+ # Example: Mystery Package — 4-Shot Short Film
2
+
3
+ A complete walkthrough of the 6-phase workflow for a 45-second suspense short film.
4
+
5
+ ## Phase 1 — Story & Character Bible
6
+
7
+ ### Story Concept
8
+ Maya comes home to find a mysterious package at her door. Inside is an antique pocket watch that glows when she holds it. As she examines it, the watch hands start spinning backwards and the room fills with golden light.
9
+
10
+ ### Story Structure
11
+ - **Beginning** (8s): Maya discovers the package
12
+ - **Development** (13s): She opens it, finds the watch
13
+ - **Climax** (12s): The watch activates, supernatural event
14
+ - **Resolution** (12s): Aftermath, sense of wonder
15
+
16
+ ### Character Bible
17
+
18
+ ```json
19
+ [
20
+ {
21
+ "id": "CHAR_MAYA",
22
+ "name": "Maya",
23
+ "appearance": "East Asian woman, late 20s, shoulder-length black hair with subtle auburn highlights, warm ivory skin, almond-shaped dark brown eyes, slim build",
24
+ "wardrobe": "Oversized cream-colored chunky-knit wool cardigan over a fitted charcoal cotton turtleneck, high-waisted dark indigo straight-leg jeans, brown leather ankle boots",
25
+ "signature_details": "Small gold hoop earrings, thin gold chain bracelet on left wrist, no rings",
26
+ "voice_tone": "Warm, curious, slightly husky"
27
+ }
28
+ ]
29
+ ```
30
+
31
+ ### Style Guide
32
+
33
+ ```json
34
+ {
35
+ "visual_style": "Cinematic suspense drama, shallow depth of field, subtle film grain, anamorphic lens flares",
36
+ "color_palette": "Warm amber tones with cool blue shadows, muted saturation shifting to warm gold in climax",
37
+ "lighting": "Soft golden hour side-lighting through large windows, practical lamps as warm fill, cool blue ambient from hallway",
38
+ "camera_language": "Slow deliberate movements, lingering close-ups, occasional wide establishing shots, push-ins for tension",
39
+ "negative_prompts": "No cartoon, no anime, no oversaturated colors, no dutch angles, no text overlays, no watermarks, no horror, no jump scares"
40
+ }
41
+ ```
42
+
43
+ ## Phase 2 — Music & Beat Analysis
44
+
45
+ ### Music Selection
46
+ AI-generated via Suno with prompt: "Cinematic suspense, slow build, mysterious piano with subtle strings, 90 BPM, 45 seconds, rising tension to warm resolution"
47
+
48
+ ### Beat Analysis Output
49
+
50
+ ```json
51
+ {
52
+ "bpm": 92,
53
+ "total_duration_s": 46.2,
54
+ "beats": [0.65, 1.30, 1.96, 2.61, 3.26, 3.91, ...],
55
+ "sections": [
56
+ { "start": 0, "end": 8.5, "label": "intro" },
57
+ { "start": 8.5, "end": 22.0, "label": "verse" },
58
+ { "start": 22.0, "end": 34.5, "label": "chorus" },
59
+ { "start": 34.5, "end": 46.2, "label": "outro" }
60
+ ],
61
+ "suggested_cuts": [
62
+ { "time": 0, "end": 8.5, "duration": 8.5, "section": "intro" },
63
+ { "time": 8.5, "end": 22.0, "duration": 13.5, "section": "verse" },
64
+ { "time": 22.0, "end": 34.5, "duration": 12.5, "section": "chorus" },
65
+ { "time": 34.5, "end": 46.2, "duration": 11.7, "section": "outro" }
66
+ ]
67
+ }
68
+ ```
69
+
70
+ ### Finalized Shot Durations
71
+ - S1: 8s (intro) — rounded down from 8.5s
72
+ - S2: 13s (verse) — rounded down from 13.5s
73
+ - S3: 12s (chorus) — rounded down from 12.5s
74
+ - S4: 12s (outro) — rounded up from 11.7s
75
+
76
+ ## Phase 3 — Shot Table
77
+
78
+ ### S1 — Discovery (8s, intro)
79
+
80
+ | Field | Value |
81
+ |-------|-------|
82
+ | scene | Dimly lit apartment hallway, warm overhead pendant light, beige walls, mailboxes on the left, Maya's door at the end |
83
+ | characters | CHAR_MAYA |
84
+ | action | Maya walks down hallway carrying grocery bags, notices a small wrapped package on her doormat, sets bags down, picks up the package with both hands, looks at it curiously |
85
+ | camera | [0-3s] Medium tracking shot following Maya from behind. [3-5s] Over-shoulder angle as she bends to set bags down. [5-8s] Slow push-in to her hands picking up the package, then to her face. |
86
+ | dialogue | [2s] (keys jingling) [5s] "Hmm... what's this?" [7s] (paper crinkling) |
87
+ | beat_sync_notes | Beat 4 (2.6s) = Maya spots the package; Beat 8 (5.2s) = hands close around package |
88
+ | continuity_in | null |
89
+ | continuity_out | Standing at apartment doorway, both hands holding small wrapped package at chest height, curious expression with slight head tilt, warm pendant light from above casting soft shadows, grocery bags on floor beside her |
90
+
91
+ ### S2 — The Watch (13s, verse)
92
+
93
+ | Field | Value |
94
+ |-------|-------|
95
+ | scene | Maya's apartment living room, warm table lamp on wooden desk, large window with twilight blue light, cozy cluttered space with books and plants |
96
+ | characters | CHAR_MAYA |
97
+ | action | Maya sits at desk, carefully unwraps the brown paper to reveal a worn velvet box, opens it to find an ornate gold pocket watch with intricate engravings, lifts it out, holds it up to the lamp light, the watch face catches the light beautifully |
98
+ | camera | [0-4s] Medium shot of Maya sitting down at desk, setting package on it. [4-8s] Close-up of her hands unwrapping. [8-11s] Macro shot of watch being lifted from velvet box. [11-13s] Medium close-up of Maya holding watch up to lamp, wonder in her eyes. |
99
+ | dialogue | [3s] "Let me see..." [6s] (paper tearing slowly) [9s] (soft gasp) "Oh..." [12s] "It's beautiful..." |
100
+ | beat_sync_notes | Beat 2 (1.3s) = paper tearing begins; Beat 8 (5.2s) = box lid opens; Beat 12 (7.8s) = watch lifted from box |
101
+ | continuity_in | Standing at apartment doorway, both hands holding small wrapped package at chest height, curious expression with slight head tilt, warm pendant light from above casting soft shadows, grocery bags on floor beside her |
102
+ | continuity_out | Seated at wooden desk, right hand holding gold pocket watch up at eye level, left hand resting on desk, warm amber lamp light reflecting off watch face, twilight blue from window behind her, expression of quiet wonder |
103
+
104
+ ### S3 — Activation (12s, chorus)
105
+
106
+ | Field | Value |
107
+ |-------|-------|
108
+ | scene | Same apartment living room, but lighting shifts — the gold pocket watch begins emitting a warm golden glow, gradually filling the room with golden light particles |
109
+ | characters | CHAR_MAYA |
110
+ | action | Maya turns the watch over in her hands, the watch hands begin spinning backwards rapidly, a warm golden light emanates from the watch face, light particles float upward from the watch, Maya's eyes widen in shock then fascination, the golden glow intensifies filling the room |
111
+ | camera | [0-3s] Extreme close-up of watch face, hands starting to spin. [3-6s] Pull back to medium shot as golden light begins emanating. [6-9s] Low angle looking up at Maya with golden particles floating around her. [9-12s] Wide shot of the entire room bathed in golden light, Maya at center. |
112
+ | dialogue | [2s] "Wait... the hands are..." [5s] (mechanical ticking accelerating) [8s] (awed whisper) "Oh my god..." |
113
+ | beat_sync_notes | Beat 1 (0.65s) = watch hands start spinning; Beat 6 (3.9s) = golden light burst; Beat 10 (6.5s) = room fully illuminated |
114
+ | continuity_in | Seated at wooden desk, right hand holding gold pocket watch up at eye level, left hand resting on desk, warm amber lamp light reflecting off watch face, twilight blue from window behind her, expression of quiet wonder |
115
+ | continuity_out | Standing up from desk (chair pushed back), both hands cupping the glowing watch at chest level, entire room bathed in warm golden light with floating particles, Maya's face illuminated gold, expression of awe and wonder, eyes reflecting golden light |
116
+
117
+ ### S4 — Wonder (12s, outro)
118
+
119
+ | Field | Value |
120
+ |-------|-------|
121
+ | scene | Apartment living room, golden light slowly fading back to warm amber, particles settling like golden dust, the watch glow softens to a gentle pulse |
122
+ | characters | CHAR_MAYA |
123
+ | action | Maya slowly lowers the watch, the golden light fades to a gentle pulsing glow from the watch face, she looks around the room in wonder at the settling golden dust, gently places the watch on the desk, steps back, the watch pulses once more with a soft glow, she smiles with a mix of wonder and excitement |
124
+ | camera | [0-3s] Close-up of Maya's illuminated face, golden light fading. [3-6s] Medium shot as she lowers the watch, golden particles settling around her. [6-9s] Over-shoulder shot as she places watch on desk. [9-12s] Final wide shot of room, Maya standing, watch pulsing gently on desk, warm amber atmosphere. |
125
+ | dialogue | [3s] (gentle exhale) [6s] "What are you..." [10s] (soft, wondering smile — no words) |
126
+ | beat_sync_notes | Beat 3 (1.95s) = golden light begins fading; Beat 8 (5.2s) = watch placed on desk; Final beat (11s) = last pulse of light |
127
+ | continuity_in | Standing up from desk (chair pushed back), both hands cupping the glowing watch at chest level, entire room bathed in warm golden light with floating particles, Maya's face illuminated gold, expression of awe and wonder, eyes reflecting golden light |
128
+ | continuity_out | Standing 2 steps back from desk, hands at sides, warm amber room lighting restored, gold pocket watch on desk pulsing with gentle glow, expression of wonder and quiet excitement, evening twilight through window |
129
+
130
+ ## Phase 4 — Seedance Prompts
131
+
132
+ ### S1 Prompt
133
+
134
+ ```
135
+ Cinematic suspense drama, shallow depth of field, subtle film grain, anamorphic lens flares. Warm amber tones with cool blue shadows, muted saturation. Soft golden hour side-lighting through large windows, practical lamps as warm fill, cool blue ambient from hallway.
136
+
137
+ Character: East Asian woman, late 20s, shoulder-length black hair with subtle auburn highlights, warm ivory skin, almond-shaped dark brown eyes, slim build. Wearing oversized cream-colored chunky-knit wool cardigan over a fitted charcoal cotton turtleneck, high-waisted dark indigo straight-leg jeans, brown leather ankle boots. Small gold hoop earrings, thin gold chain bracelet on left wrist, no rings.
138
+
139
+ [0-3s] Medium tracking shot following Maya from behind as she walks down a dimly lit apartment hallway carrying grocery bags. Warm pendant light overhead, beige walls, mailboxes on the left. At 2.6s (on the beat): she spots a small wrapped package on her doormat and slows.
140
+
141
+ [3-5s] Over-shoulder angle as she bends to set grocery bags on the floor beside the door. Natural, unhurried movement.
142
+
143
+ [5-8s] Slow push-in as her hands pick up the small brown-paper-wrapped package. At 5.2s (on the beat): her fingers close around it. She lifts it to chest height and tilts her head with curiosity. At 5s she says "Hmm... what's this?" softly.
144
+
145
+ Avoid: No cartoon, no anime, no oversaturated colors, no dutch angles, no text overlays, no watermarks, no horror, no jump scares.
146
+ ```
147
+
148
+ ### S2 Prompt
149
+
150
+ ```
151
+ Cinematic suspense drama, shallow depth of field, subtle film grain, anamorphic lens flares. Warm amber tones with cool blue shadows, muted saturation. Soft golden hour side-lighting through large windows, practical lamps as warm fill, cool blue ambient from hallway.
152
+
153
+ Continuing from the previous shot: Standing at apartment doorway, both hands holding small wrapped package at chest height, curious expression with slight head tilt, warm pendant light from above casting soft shadows, grocery bags on floor beside her.
154
+
155
+ Character: East Asian woman, late 20s, shoulder-length black hair with subtle auburn highlights, warm ivory skin, almond-shaped dark brown eyes, slim build. Wearing oversized cream-colored chunky-knit wool cardigan over a fitted charcoal cotton turtleneck, high-waisted dark indigo straight-leg jeans, brown leather ankle boots. Small gold hoop earrings, thin gold chain bracelet on left wrist, no rings.
156
+
157
+ [0-4s] Medium shot of Maya walking into her apartment living room and sitting down at a wooden desk with a warm table lamp. She places the package on the desk. Large window behind her shows twilight blue light. At 1.3s (on the beat): she begins pulling at the brown paper wrapping.
158
+
159
+ [4-8s] Close-up of her hands carefully unwrapping the brown paper to reveal a worn navy velvet box. At 5.2s (on the beat): the box lid opens to reveal an ornate gold pocket watch with intricate engravings. At 6s she whispers "Let me see..."
160
+
161
+ [8-11s] Macro shot of the gold pocket watch being lifted from the velvet box. Intricate engravings catch the warm lamp light. At 7.8s (on the beat): Maya lifts it free. She gasps softly "Oh..." at 9s.
162
+
163
+ [11-13s] Medium close-up of Maya holding the pocket watch up to the lamp at eye level. Warm amber light reflects off the watch face. Her expression is quiet wonder. She says "It's beautiful..." at 12s.
164
+
165
+ Avoid: No cartoon, no anime, no oversaturated colors, no dutch angles, no text overlays, no watermarks, no horror, no jump scares.
166
+ ```
167
+
168
+ ### S3 Prompt
169
+
170
+ ```
171
+ Cinematic suspense drama, shallow depth of field, subtle film grain, anamorphic lens flares. Warm amber tones with cool blue shadows, muted saturation shifting to warm gold in climax. Soft golden hour side-lighting through large windows, practical lamps as warm fill.
172
+
173
+ Continuing from the previous shot: Seated at wooden desk, right hand holding gold pocket watch up at eye level, left hand resting on desk, warm amber lamp light reflecting off watch face, twilight blue from window behind her, expression of quiet wonder.
174
+
175
+ Character: East Asian woman, late 20s, shoulder-length black hair with subtle auburn highlights, warm ivory skin, almond-shaped dark brown eyes, slim build. Wearing oversized cream-colored chunky-knit wool cardigan over a fitted charcoal cotton turtleneck, high-waisted dark indigo straight-leg jeans, brown leather ankle boots. Small gold hoop earrings, thin gold chain bracelet on left wrist, no rings.
176
+
177
+ [0-3s] Extreme close-up of the gold pocket watch face. At 0.65s (on the beat): the watch hands begin spinning backwards rapidly. Mechanical ticking sound accelerates. The ornate engravings shimmer. Maya whispers at 2s "Wait... the hands are..."
178
+
179
+ [3-6s] Pull back to medium shot. At 3.9s (on the beat): a warm golden light bursts from the watch face. Golden light particles begin floating upward from the watch. The amber room lighting intensifies to golden.
180
+
181
+ [6-9s] Low angle looking up at Maya. Golden particles float all around her like luminous dust motes. At 6.5s (on the beat): the entire room is bathed in golden light. She stands up slowly from the desk, cupping the watch in both hands. At 8s she whispers in awe "Oh my god..."
182
+
183
+ [9-12s] Wide shot of the entire living room transformed by golden light. Maya at center, standing, both hands cupping the glowing watch at chest level. Golden particles fill the air like a supernatural snowfall. Her face is illuminated in pure gold.
184
+
185
+ Avoid: No cartoon, no anime, no oversaturated colors, no dutch angles, no text overlays, no watermarks, no horror, no jump scares.
186
+ ```
187
+
188
+ ### S4 Prompt
189
+
190
+ ```
191
+ Cinematic suspense drama, shallow depth of field, subtle film grain, anamorphic lens flares. Warm amber tones with cool blue shadows, muted saturation. Soft golden hour side-lighting through large windows, practical lamps as warm fill.
192
+
193
+ Continuing from the previous shot: Standing up from desk (chair pushed back), both hands cupping the glowing watch at chest level, entire room bathed in warm golden light with floating particles, Maya's face illuminated gold, expression of awe and wonder, eyes reflecting golden light.
194
+
195
+ Character: East Asian woman, late 20s, shoulder-length black hair with subtle auburn highlights, warm ivory skin, almond-shaped dark brown eyes, slim build. Wearing oversized cream-colored chunky-knit wool cardigan over a fitted charcoal cotton turtleneck, high-waisted dark indigo straight-leg jeans, brown leather ankle boots. Small gold hoop earrings, thin gold chain bracelet on left wrist, no rings.
196
+
197
+ [0-3s] Close-up of Maya's face bathed in golden light. At 1.95s (on the beat): the golden light begins slowly fading. The golden particles start drifting downward like settling dust. A gentle exhale at 3s.
198
+
199
+ [3-6s] Medium shot as Maya slowly lowers the watch from chest height. Golden particles settle around her like luminous dust. The room's warm amber lighting gradually returns to normal. She looks around the room in wonder. At 6s she whispers "What are you..."
200
+
201
+ [6-9s] Over-shoulder shot as she gently places the gold pocket watch on the wooden desk. At 5.2s (on the beat): the watch touches the desk surface. The glow from the watch face softens to a gentle pulse. Table lamp and twilight window light return to dominance.
202
+
203
+ [9-12s] Final wide shot of the apartment living room. Maya stands two steps back from the desk, hands at her sides. The gold pocket watch on the desk pulses once more with soft golden light. At 11s (final beat): the last gentle pulse. Maya smiles with quiet wonder and excitement. Warm amber evening atmosphere, twilight through the window.
204
+
205
+ Avoid: No cartoon, no anime, no oversaturated colors, no dutch angles, no text overlays, no watermarks, no horror, no jump scares.
206
+ ```
207
+
208
+ ## Phase 5 — Generation
209
+
210
+ ### Cost Estimate
211
+
212
+ ```
213
+ S1 (8s): ~4 credits
214
+ S2 (13s): ~6 credits
215
+ S3 (12s): ~6 credits
216
+ S4 (12s): ~6 credits
217
+ Total: ~22 credits
218
+ ```
219
+
220
+ ### Batch Command
221
+
222
+ ```bash
223
+ bash batch-generate.sh \
224
+ --project mystery-package \
225
+ --ratio 16:9 \
226
+ --prompts-file prompts.json
227
+ ```
228
+
229
+ ## Phase 6 — Assembly Guide
230
+
231
+ ### Clip Summary
232
+
233
+ | Shot | Duration | Section | Key Moment |
234
+ |------|----------|---------|------------|
235
+ | S1 | 8s | intro | Maya discovers package |
236
+ | S2 | 13s | verse | Opens watch |
237
+ | S3 | 12s | chorus | Watch activates, golden light |
238
+ | S4 | 12s | outro | Light fades, wonder remains |
239
+
240
+ ### Transitions
241
+
242
+ - S1 → S2: **Cross dissolve** (0.5s) — location change from hallway to living room
243
+ - S2 → S3: **Hard cut** — same location, continuous action
244
+ - S3 → S4: **Hard cut** — same location, continuous action
245
+
246
+ ### BGM Instructions
247
+
248
+ 1. Import all 4 clips sequentially in CapCut/Premiere/DaVinci
249
+ 2. Mute all AI-generated audio tracks
250
+ 3. Place `bgm.aac` on the audio timeline starting at 0:00
251
+ 4. S1 starts at 0:00, S2 at 8s, S3 at 21s, S4 at 33s
252
+ 5. Keep any natural SFX you like (paper crinkling, ticking) by un-muting selectively
253
+ 6. Export 16:9, 30fps, H.264
254
+
255
+ ### Color Grading Notes
256
+
257
+ Apply a unified LUT or color grade across all clips to ensure:
258
+ - Consistent skin tones for Maya across all 4 clips
259
+ - Smooth color temperature transitions (cool hallway → warm room → golden climax → warm resolution)
260
+ - Match the amber/blue shadow palette from the Style Guide
@@ -0,0 +1,170 @@
1
+ # Cross-Clip Continuity Guide
2
+
3
+ Techniques for maintaining visual consistency across multiple Seedance 2.0 clips.
4
+
5
+ ## Character Description Rules
6
+
7
+ ### Copy Verbatim — Never Abbreviate
8
+
9
+ The #1 cause of character drift is paraphrasing. Every shot must include the **exact same character description** from the Character Bible.
10
+
11
+ ```
12
+ WRONG: "A young woman with black hair"
13
+ RIGHT: "East Asian woman, late 20s, shoulder-length black hair with subtle auburn highlights, warm ivory skin, almond-shaped dark brown eyes"
14
+ ```
15
+
16
+ Even small omissions cause drift. If the Bible says "shoulder-length black hair with subtle auburn highlights", every prompt must say exactly that.
17
+
18
+ ### Drift Vulnerability Ranking
19
+
20
+ Features that drift most easily (highest risk first):
21
+
22
+ 1. **Hair color & length** — Most volatile. Always specify shade, length, and texture.
23
+ 2. **Skin tone** — Use specific terms ("warm ivory", "deep espresso brown"), not vague ones ("light", "dark").
24
+ 3. **Clothing color** — Must include texture + cut + color: "cream-colored chunky-knit wool cardigan" not "white sweater".
25
+ 4. **Age** — State explicitly: "late 20s" not "young woman".
26
+ 5. **Body type** — Least volatile but still specify if relevant.
27
+
28
+ ### Wardrobe Anchoring
29
+
30
+ Three-part wardrobe description for every garment:
31
+
32
+ ```
33
+ [texture/material] + [cut/style] + [color]
34
+
35
+ "Oversized cream-colored chunky-knit wool cardigan"
36
+ ↑ cut ↑ color ↑ texture/material ↑ garment
37
+
38
+ "Fitted charcoal cotton turtleneck"
39
+ ↑ cut ↑ color ↑ material ↑ garment
40
+ ```
41
+
42
+ ### Signature Details as Anchors
43
+
44
+ Accessories and unique features act as visual anchors that help the model maintain identity:
45
+ - Jewelry: "Small gold hoop earrings, thin gold chain bracelet on left wrist"
46
+ - Tattoos: "Small constellation tattoo on inner right wrist"
47
+ - Props: "Always carries a worn leather messenger bag"
48
+
49
+ Include these in every prompt, even if not the focus of the shot.
50
+
51
+ ## Lighting Consistency
52
+
53
+ ### Same Scene = Same Light Words
54
+
55
+ If shots S1 and S2 occur in the same location, use **identical lighting descriptors**:
56
+
57
+ ```
58
+ S1: "Soft golden hour side-lighting through large windows, practical lamps as secondary fill"
59
+ S2: "Soft golden hour side-lighting through large windows, practical lamps as secondary fill"
60
+ ```
61
+
62
+ Never rephrase "golden hour side-lighting" as "warm natural light" — the model interprets these differently.
63
+
64
+ ### Cross-Scene Lighting
65
+
66
+ Different locations can have different lighting, but the **color temperature** should stay consistent with the Style Guide. If the guide says "warm amber tones with cool blue shadows", every location should interpret this within that range.
67
+
68
+ ## Continuity Bridging
69
+
70
+ ### The Bridge Formula
71
+
72
+ Every shot after S1 must begin with:
73
+
74
+ ```
75
+ Continuing from the previous shot: [exact continuity_out from previous shot].
76
+ ```
77
+
78
+ This is the single most important technique for visual coherence.
79
+
80
+ ### What to Include in continuity_out
81
+
82
+ 1. **Character position**: "Standing at doorway, facing camera at 3/4 angle"
83
+ 2. **Prop state**: "Both hands holding small wrapped package at chest height"
84
+ 3. **Emotional state**: "Curious expression, slight head tilt"
85
+ 4. **Lighting state**: "Warm pendant light from above, soft shadows on face"
86
+ 5. **Environmental state**: "Door is open behind her, hallway light visible"
87
+
88
+ ### What NOT to Include
89
+
90
+ - Camera angles (the new shot may use a different angle)
91
+ - Music cues (handled separately)
92
+ - Dialogue (new shot has its own script)
93
+
94
+ ## Style Prefix Consistency
95
+
96
+ ### The Global Prefix
97
+
98
+ Every prompt starts with the exact same style block:
99
+
100
+ ```
101
+ [visual_style]. [color_palette]. [lighting].
102
+ ```
103
+
104
+ This prefix is the #2 most important consistency tool after character descriptions.
105
+
106
+ ### Negative Prompts
107
+
108
+ End every prompt with the same negative block:
109
+
110
+ ```
111
+ Avoid: [negative_prompts from Style Guide].
112
+ ```
113
+
114
+ ## Transition Techniques
115
+
116
+ ### Hiding Inconsistency
117
+
118
+ When character appearance inevitably drifts slightly between clips:
119
+
120
+ 1. **Whip pan / motion blur**: End one shot with fast camera movement, start next with fast movement. The blur hides the transition.
121
+ 2. **Close-up → Wide**: End on a face close-up, start the next shot wide. The scale change masks small differences.
122
+ 3. **Cut on action**: End mid-movement (hand reaching), start the next shot completing the movement. The viewer's eye follows the action, not appearance details.
123
+ 4. **Dark → Light**: End shot in shadow, start next in light. Lighting shift distracts from appearance changes.
124
+
125
+ ### The 80% Rule
126
+
127
+ AI-generated clips will achieve ~80% visual consistency when following these techniques. The remaining 20% is handled in post-production:
128
+ - Color grading to unify color palette
129
+ - Subtle speed adjustments for timing
130
+ - Audio continuity (shared BGM) creates perceived visual continuity
131
+
132
+ ## Grid Storyboard Method (宫格分镜法)
133
+
134
+ ### Why One Image > Many Images
135
+
136
+ When generating reference images for each shot independently (even with the same prompt style), each generation starts from a different random seed. This causes:
137
+ - Slight differences in character face shape, eye size, hair texture
138
+ - Color palette drift between shots
139
+ - Inconsistent rendering style (more/less detailed, different line weights)
140
+
141
+ **The Grid Storyboard method solves this** by generating ALL shots in a single image. Because the AI renders all panels in one context:
142
+ - Characters share the exact same face structure, proportions, and styling
143
+ - Color palette is unified across all panels
144
+ - Rendering technique (line weight, shading style, texture) is consistent
145
+ - The AI "remembers" what it drew in Panel 1 when drawing Panel 8
146
+
147
+ ### Workflow
148
+
149
+ 1. Write a single prompt describing all panels with verbatim character descriptions
150
+ 2. Generate one grid image via Gemini (`gemini-3-pro-image-preview`)
151
+ 3. Split into individual panels: `bash split-grid.sh grid.png storyboard/ 2 4`
152
+ 4. Upload each panel as material for Image-to-Video generation
153
+ 5. Each Seedance clip now has a visual anchor from the same source
154
+
155
+ ### When to Use
156
+
157
+ - **Always recommended** for projects with recurring characters
158
+ - Especially important for anime/manga/stylized projects where character design must be exact
159
+ - Less critical for pure environment/landscape shots with no characters
160
+
161
+ ## Common Mistakes
162
+
163
+ | Mistake | Fix |
164
+ |---------|-----|
165
+ | Abbreviating character descriptions | Copy the full Character Bible entry every time |
166
+ | Rephrasing lighting descriptors | Use identical words for same-location lighting |
167
+ | Forgetting continuity bridge | Always start S2+ with "Continuing from the previous shot:" |
168
+ | Including BGM in Seedance prompt | Never mention music in video prompts — BGM is overlaid in post |
169
+ | Using different style prefixes | Same prefix for every shot, character for character |
170
+ | Describing camera in continuity_out | Continuity describes scene state, not camera state |