@milenyumai/film-kit 2.3.0 → 2.3.1

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.
package/README.md CHANGED
@@ -180,7 +180,8 @@ Outputs:
180
180
  Rules:
181
181
 
182
182
  - `@character1` is used once to create a 16:9 character sheet prompt with front, back, side, three-quarter, and face close-up views.
183
- - Each `SHOTNN.md` includes a `GPT IMAGE 2 STORYBOARD PROMPT`; the generated shot storyboard controls composition, blocking, camera, timing, and editorial phase order only.
183
+ - Each `SHOTNN.md` includes a professional `GPT IMAGE 2 STORYBOARD PROMPT`; the generated shot storyboard controls composition, blocking, camera, timing, and editorial phase order only.
184
+ - Storyboard prompts use production-board grammar: rough black-and-white pencil panels, strong silhouettes, visible body/camera momentum, and optional color-coded planning annotations. Seedance is instructed to follow the panel order while ignoring arrows, notes, labels, and timestamps in the rendered video.
184
185
  - Seedance provider-facing tokens map generated character sheets first (`@Image1`, `@Image2`, ...) and the generated shot storyboard next. Legacy lowercase aliases remain documented in runtime text.
185
186
  - Phase budget: 4-6s uses 1-2 phases, 7-10s uses 2-3 phases, and 11-15s uses 3-4 phases.
186
187
  - 5+ storyboard phases are split into multiple `SHOTNN.md` files by default.
@@ -44,13 +44,13 @@ export class Seedance20PromptAdapter extends BaseVideoModelPromptAdapter {
44
44
  }
45
45
  buildPrompt(input) {
46
46
  const audioPlan = buildAudioPlan(input);
47
+ const storyboardEntry = this.getMappingEntries(input, "storyboard_plan")[0];
48
+ const storyboardToken = storyboardEntry?.token ?? "@Image2";
47
49
  const continuityInstruction = input.continuityMode === "continuous-shot"
48
50
  ? "No scene cuts throughout, one continuous shot."
49
- : "Use only the planned storyboard phase transitions below; do not add unplanned cuts, extra scene jumps, or new locations.";
51
+ : `Follow the generated storyboard panels in ${storyboardToken} left-to-right, top-to-bottom as the exact visual beat order. Do not reinterpret actions, poses, camera angles, emotional progression, frame variety, or the final pose. Compress the planned sequence into the full duration as concise motion snapshots; use only storyboard-motivated cuts, match cuts, whip transitions, or camera moves, and do not add unplanned cuts, extra scene jumps, or new locations.`;
50
52
  const characterEntries = this.getMappingEntries(input, "character_identity");
51
- const storyboardEntry = this.getMappingEntries(input, "storyboard_plan")[0];
52
53
  const characterTokenText = characterEntries.map(entry => entry.token).join(", ") || "@Image1";
53
- const storyboardToken = storyboardEntry?.token ?? "@Image2";
54
54
  const promptText = `${this.formatCharacterRoleLine(input)}
55
55
  ${this.formatStoryboardRoleLine(input)}
56
56
 
@@ -63,7 +63,7 @@ ${input.request.brief}
63
63
  ${formatPhaseLines(input.interpretation.phases)}
64
64
 
65
65
  [GPT IMAGE 2 STORYBOARD SOURCE]
66
- Use the generated storyboard image from ${input.storyboardImagePrompt.outputPath} as ${storyboardToken}. It has ${input.storyboardImagePrompt.panelCount} panel(s), follows the shot handoff, and is not an identity source.
66
+ Use the generated storyboard image from ${input.storyboardImagePrompt.outputPath} as ${storyboardToken}. It has ${input.storyboardImagePrompt.panelCount} panel(s), follows the shot handoff, and is not an identity source. Treat colored arrows, panel labels, and lens notes as planning annotations only; never render arrows, notes, labels, timestamps, or storyboard text into the video.
67
67
 
68
68
  [CAMERA]
69
69
  ${input.interpretation.cameraPlan.framing}, ${input.interpretation.cameraPlan.movement}, ${input.interpretation.cameraPlan.lens}, ${input.interpretation.cameraPlan.stabilization}. Preserve ${input.interpretation.cameraPlan.screenDirection}.
@@ -78,9 +78,9 @@ Ambience: ${audioPlan.ambience.join(", ")}.
78
78
  Music: NONE.
79
79
 
80
80
  [CONTINUITY]
81
- Identity reference stays locked to ${characterTokenText}. Storyboard ${storyboardToken} controls staging and visual rhythm only. Character design, wardrobe, accessories, and visible props cannot be inherited from the storyboard. Storyboard text, panel borders, watermark, logo, and alternate character design are never identity sources.
81
+ Identity reference stays locked to ${characterTokenText}. Storyboard ${storyboardToken} controls staging, shot order, pose logic, camera variety, emotional progression, and visual rhythm only. Character design, wardrobe, accessories, and visible props cannot be inherited from the storyboard. Storyboard text, panel borders, arrows, colored marks, lens notes, watermark, logo, and alternate character design are never identity sources and must not appear in the rendered video.
82
82
 
83
- Avoid: identity drift, face drift, outfit drift, storyboard text, panel borders, watermark, logo, distorted hands, rubbery motion, flicker, unnatural camera jumps.`;
83
+ Avoid: identity drift, face drift, outfit drift, storyboard text, panel borders, colored arrows, annotation marks, lens notes, timestamps, watermark, logo, distorted hands, rubbery motion, flicker, unnatural camera jumps.`;
84
84
  const output = {
85
85
  model: this.model,
86
86
  displayName: getDisplayName(this.model),
@@ -115,7 +115,11 @@ Avoid: identity drift, face drift, outfit drift, storyboard text, panel borders,
115
115
  && characterTokens.every(token => output.promptText.includes(token))
116
116
  && /exact character identity reference/i.test(output.promptText),
117
117
  usesStoryboardToken: output.promptText.includes(storyboardToken) && /shot storyboard reference/i.test(output.promptText),
118
- blocksStoryboardIdentitySources: /Storyboard text, panel borders, watermark, logo, and alternate character design are never identity sources/i.test(output.promptText),
118
+ followsStoryboardOrder: continuityMode === "continuous-shot"
119
+ ? hasNoCutsRule
120
+ : /left-to-right, top-to-bottom/i.test(output.promptText)
121
+ && /Do not reinterpret actions, poses, camera angles, emotional progression/i.test(output.promptText),
122
+ blocksStoryboardIdentitySources: /Storyboard text, panel borders, arrows, colored marks, lens notes, watermark, logo, and alternate character design are never identity sources/i.test(output.promptText),
119
123
  continuityMode: continuityMode === "continuous-shot"
120
124
  ? hasNoCutsRule
121
125
  : !hasNoCutsRule && /planned storyboard phase transitions/i.test(output.promptText),
@@ -117,18 +117,34 @@ function buildStoryboardImagePrompt(input) {
117
117
  const externalGuideText = assets.storyboards.length > 0
118
118
  ? `Use external storyboard guide tokens ${assets.storyboards.map(storyboard => storyboard.token).join(", ")} only for composition, blocking, camera direction, timing, and action rhythm.`
119
119
  : "No external storyboard guide is required; infer the board from the screenplay brief, continuity notes, and visual world.";
120
+ const phaseDirection = interpretation.phases
121
+ .map(phase => `Panel ${phase.index}: ${phase.job}; ${phase.subjectAction}; camera behavior: ${phase.cameraBehavior}; background behavior: ${phase.backgroundBehavior}.`)
122
+ .join(" ");
123
+ const continuityStyle = interpretation.phases.length <= 1
124
+ ? "Because this is a single uninterrupted beat, show one decisive action moment with a clear entry pose, motion direction, and final body intention inside the same panel."
125
+ : "Read panels left-to-right, top-to-bottom as a planned visual beat sequence. Each panel must show a distinct body pose, camera size/angle, movement logic, and emotional escalation, not decorative micro-poses.";
120
126
  return {
121
127
  shotId,
122
128
  outputPath: `${request.outputDir}/storyboard-prompts/${shotId}-GPT-IMAGE-2-STORYBOARD.md`,
123
129
  provider: "gpt-image-2",
124
130
  aspectRatio: "16:9",
125
131
  panelCount: interpretation.panelCount,
126
- style: "realistic-production-storyboard",
132
+ style: "professional-production-storyboard",
127
133
  characterSheetIds,
128
134
  externalStoryboardGuideIds,
129
135
  previousShotHandoff: input.previousShotHandoff,
130
136
  nextShotHandoff: input.nextShotHandoff,
131
- promptText: `Create a professional 16:9 realistic production storyboard image for ${shotId} with exactly ${interpretation.panelCount} readable panel${interpretation.panelCount === 1 ? "" : "s"}. Use the generated character sheet reference${characterReferenceSheetPrompts.length === 1 ? "" : "s"} (${sheetRefs}) as the only source for character identity, face, body proportions, wardrobe, accessories, and visible props. ${externalGuideText} The scene brief is: ${request.brief}. Continue from the previous handoff: ${input.previousShotHandoff}. End on the next handoff: ${input.nextShotHandoff}. Show the camera plan clearly: ${interpretation.cameraPlan.framing}, ${interpretation.cameraPlan.movement}, ${interpretation.cameraPlan.lens}, preserving ${interpretation.cameraPlan.screenDirection}. Maintain the same environment, lighting, atmosphere, color grade, foreground, midground, and background continuity: ${interpretation.visualWorld.environment}; ${interpretation.visualWorld.lighting}; ${interpretation.visualWorld.atmosphere}. Each panel must show only the phase action needed for the shot, with clean blocking, motivated eyelines, stable scale, readable silhouettes, and practical production-board detail. Do not create final render polish, alternate character designs, text, captions, labels, panel numbers, watermarks, logos, decorative borders, extra scene cuts, or new locations.`
137
+ promptText: `Create a professional 16:9 production storyboard page for ${shotId} with exactly ${interpretation.panelCount} cinematic panel${interpretation.panelCount === 1 ? "" : "s"}. Use the generated character sheet reference${characterReferenceSheetPrompts.length === 1 ? "" : "s"} (${sheetRefs}) as the only source for character identity, face, body proportions, wardrobe, accessories, and visible props. ${externalGuideText}
138
+
139
+ Storyboard drawing style: raw contemporary film storyboard, black-and-white rough pencil linework for the artwork only, minimal detail, rapid gesture energy, simple anatomy construction, strong silhouette readability, unfinished choreography-previsualization feel, not polished concept art or final render.
140
+
141
+ Panel direction: ${continuityStyle} The scene brief is: ${request.brief} Previous handoff: ${input.previousShotHandoff}. Next handoff: ${input.nextShotHandoff}. Planned panel actions: ${phaseDirection}
142
+
143
+ Camera and staging: show ${interpretation.cameraPlan.framing}, ${interpretation.cameraPlan.movement}, ${interpretation.cameraPlan.lens}; preserve ${interpretation.cameraPlan.screenDirection}. Use cinematic camera variety only when motivated by the beat: handheld energy, push-in, orbit, overhead, low angle, side silhouette, insert, aggressive close-up, long-lens compression, or extreme negative space. Maintain the same environment, lighting, atmosphere, foreground, midground, and background continuity: ${interpretation.visualWorld.environment}; ${interpretation.visualWorld.lighting}; ${interpretation.visualWorld.foreground}; ${interpretation.visualWorld.midground}; ${interpretation.visualWorld.background}; ${interpretation.visualWorld.atmosphere}.
144
+
145
+ Annotation color system: red arrows for body movement, blue arrows for camera movement, green marks for framing/composition, orange marks for lighting direction, purple marks for vocal or emotional emphasis when relevant, black text only for very short lens notes and panel labels. No timestamps.
146
+
147
+ Every panel must contain visible momentum or clear behavioral change: gaze shift, breath, weight transfer, contact with ground/prop, fabric motion, hand tension, or a readable pose transition. Avoid static standing poses unless the brief requires a deliberately held beat. Keep the location minimal and readable; do not add new characters, new locations, alternate wardrobe, alternate identity, logos, watermarks, decorative borders, final-render polish, or photorealistic video frames.`
132
148
  };
133
149
  }
134
150
  function isImageReference(asset) {
@@ -128,7 +128,7 @@ export interface StoryboardImagePrompt {
128
128
  provider: "gpt-image-2";
129
129
  aspectRatio: "16:9";
130
130
  panelCount: number;
131
- style: "realistic-production-storyboard";
131
+ style: "professional-production-storyboard";
132
132
  characterSheetIds: string[];
133
133
  externalStoryboardGuideIds: string[];
134
134
  previousShotHandoff: string;
@@ -39,7 +39,9 @@ For each shot, generate a professional GPT Image 2 storyboard prompt:
39
39
  - panel budget: 4-6s = 1-2 panels, 7-10s = 2-3 panels, 11-15s = 3-4 panels
40
40
  - hard cap: max 4 panels/phases per shot unless the configured project cap is lower
41
41
  - split policy: 5+ distinct phases must become separate chained `SHOTNN.md` files
42
- - target detail: 160-240 words, concrete blocking and camera language, no decorative prose
42
+ - target detail: dense professional storyboard direction, concrete blocking and camera language, no decorative prose
43
+ - storyboard art grammar: black-and-white rough pencil drawings, minimal detail, rapid gesture energy, simple anatomy construction, strong silhouette readability, unfinished previsualization feel
44
+ - annotation grammar: red arrows = body movement, blue arrows = camera movement, green marks = framing/composition, orange marks = lighting direction, purple marks = vocal/emotional emphasis, black text = very short lens notes and panel labels
43
45
  - continuity: include previous shot handoff, next shot handoff, shared `visual_world`, screen direction, lighting, and action rhythm
44
46
 
45
47
  The shot storyboard prompt must use the character sheet reference as the only identity source. Optional external storyboard guide images may inform composition and timing only.
@@ -74,6 +76,8 @@ Seedance 2.0:
74
76
  - Map the generated shot storyboard to the next image token, for example one character means `@Image2`, two characters means `@Image3`.
75
77
  - Character image tokens control identity, face, body proportions, wardrobe, accessories, and visible props.
76
78
  - The storyboard token controls composition, blocking, camera direction, timing, action rhythm, and phase order only.
79
+ - Follow generated storyboard panels left-to-right, top-to-bottom. Do not reinterpret the action, pose logic, camera angle, emotional progression, frame variety, or final pose.
80
+ - Treat storyboard arrows, labels, lens notes, and colored marks as planning annotations only; never render them into the video.
77
81
  - Use explicit timeline phases when the storyboard has multiple beats.
78
82
  - Use `No scene cuts throughout, one continuous shot` only for a true single uninterrupted camera move.
79
83
  - For multi-phase storyboard prompts, use only the planned phase transitions and do not add unplanned cuts.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milenyumai/film-kit",
3
- "version": "2.3.0",
3
+ "version": "2.3.1",
4
4
  "description": "Single-package Film-Kit distribution with preset-driven cinematic runtime setup for OpenAI Codex App, Claude Code, Cursor, Copilot, and Antigravity.",
5
5
  "type": "module",
6
6
  "main": "./build/index.js",
@@ -39,7 +39,9 @@ For each shot, generate a professional GPT Image 2 storyboard prompt:
39
39
  - panel budget: 4-6s = 1-2 panels, 7-10s = 2-3 panels, 11-15s = 3-4 panels
40
40
  - hard cap: max 4 panels/phases per shot unless the configured project cap is lower
41
41
  - split policy: 5+ distinct phases must become separate chained `SHOTNN.md` files
42
- - target detail: 160-240 words, concrete blocking and camera language, no decorative prose
42
+ - target detail: dense professional storyboard direction, concrete blocking and camera language, no decorative prose
43
+ - storyboard art grammar: black-and-white rough pencil drawings, minimal detail, rapid gesture energy, simple anatomy construction, strong silhouette readability, unfinished previsualization feel
44
+ - annotation grammar: red arrows = body movement, blue arrows = camera movement, green marks = framing/composition, orange marks = lighting direction, purple marks = vocal/emotional emphasis, black text = very short lens notes and panel labels
43
45
  - continuity: include previous shot handoff, next shot handoff, shared `visual_world`, screen direction, lighting, and action rhythm
44
46
 
45
47
  The shot storyboard prompt must use the character sheet reference as the only identity source. Optional external storyboard guide images may inform composition and timing only.
@@ -74,6 +76,8 @@ Seedance 2.0:
74
76
  - Map the generated shot storyboard to the next image token, for example one character means `@Image2`, two characters means `@Image3`.
75
77
  - Character image tokens control identity, face, body proportions, wardrobe, accessories, and visible props.
76
78
  - The storyboard token controls composition, blocking, camera direction, timing, action rhythm, and phase order only.
79
+ - Follow generated storyboard panels left-to-right, top-to-bottom. Do not reinterpret the action, pose logic, camera angle, emotional progression, frame variety, or final pose.
80
+ - Treat storyboard arrows, labels, lens notes, and colored marks as planning annotations only; never render them into the video.
77
81
  - Use explicit timeline phases when the storyboard has multiple beats.
78
82
  - Use `No scene cuts throughout, one continuous shot` only for a true single uninterrupted camera move.
79
83
  - For multi-phase storyboard prompts, use only the planned phase transitions and do not add unplanned cuts.
@@ -39,7 +39,9 @@ For each shot, generate a professional GPT Image 2 storyboard prompt:
39
39
  - panel budget: 4-6s = 1-2 panels, 7-10s = 2-3 panels, 11-15s = 3-4 panels
40
40
  - hard cap: max 4 panels/phases per shot unless the configured project cap is lower
41
41
  - split policy: 5+ distinct phases must become separate chained `SHOTNN.md` files
42
- - target detail: 160-240 words, concrete blocking and camera language, no decorative prose
42
+ - target detail: dense professional storyboard direction, concrete blocking and camera language, no decorative prose
43
+ - storyboard art grammar: black-and-white rough pencil drawings, minimal detail, rapid gesture energy, simple anatomy construction, strong silhouette readability, unfinished previsualization feel
44
+ - annotation grammar: red arrows = body movement, blue arrows = camera movement, green marks = framing/composition, orange marks = lighting direction, purple marks = vocal/emotional emphasis, black text = very short lens notes and panel labels
43
45
  - continuity: include previous shot handoff, next shot handoff, shared `visual_world`, screen direction, lighting, and action rhythm
44
46
 
45
47
  The shot storyboard prompt must use the character sheet reference as the only identity source. Optional external storyboard guide images may inform composition and timing only.
@@ -74,6 +76,8 @@ Seedance 2.0:
74
76
  - Map the generated shot storyboard to the next image token, for example one character means `@Image2`, two characters means `@Image3`.
75
77
  - Character image tokens control identity, face, body proportions, wardrobe, accessories, and visible props.
76
78
  - The storyboard token controls composition, blocking, camera direction, timing, action rhythm, and phase order only.
79
+ - Follow generated storyboard panels left-to-right, top-to-bottom. Do not reinterpret the action, pose logic, camera angle, emotional progression, frame variety, or final pose.
80
+ - Treat storyboard arrows, labels, lens notes, and colored marks as planning annotations only; never render them into the video.
77
81
  - Use explicit timeline phases when the storyboard has multiple beats.
78
82
  - Use `No scene cuts throughout, one continuous shot` only for a true single uninterrupted camera move.
79
83
  - For multi-phase storyboard prompts, use only the planned phase transitions and do not add unplanned cuts.
@@ -39,7 +39,9 @@ For each shot, generate a professional GPT Image 2 storyboard prompt:
39
39
  - panel budget: 4-6s = 1-2 panels, 7-10s = 2-3 panels, 11-15s = 3-4 panels
40
40
  - hard cap: max 4 panels/phases per shot unless the configured project cap is lower
41
41
  - split policy: 5+ distinct phases must become separate chained `SHOTNN.md` files
42
- - target detail: 160-240 words, concrete blocking and camera language, no decorative prose
42
+ - target detail: dense professional storyboard direction, concrete blocking and camera language, no decorative prose
43
+ - storyboard art grammar: black-and-white rough pencil drawings, minimal detail, rapid gesture energy, simple anatomy construction, strong silhouette readability, unfinished previsualization feel
44
+ - annotation grammar: red arrows = body movement, blue arrows = camera movement, green marks = framing/composition, orange marks = lighting direction, purple marks = vocal/emotional emphasis, black text = very short lens notes and panel labels
43
45
  - continuity: include previous shot handoff, next shot handoff, shared `visual_world`, screen direction, lighting, and action rhythm
44
46
 
45
47
  The shot storyboard prompt must use the character sheet reference as the only identity source. Optional external storyboard guide images may inform composition and timing only.
@@ -74,6 +76,8 @@ Seedance 2.0:
74
76
  - Map the generated shot storyboard to the next image token, for example one character means `@Image2`, two characters means `@Image3`.
75
77
  - Character image tokens control identity, face, body proportions, wardrobe, accessories, and visible props.
76
78
  - The storyboard token controls composition, blocking, camera direction, timing, action rhythm, and phase order only.
79
+ - Follow generated storyboard panels left-to-right, top-to-bottom. Do not reinterpret the action, pose logic, camera angle, emotional progression, frame variety, or final pose.
80
+ - Treat storyboard arrows, labels, lens notes, and colored marks as planning annotations only; never render them into the video.
77
81
  - Use explicit timeline phases when the storyboard has multiple beats.
78
82
  - Use `No scene cuts throughout, one continuous shot` only for a true single uninterrupted camera move.
79
83
  - For multi-phase storyboard prompts, use only the planned phase transitions and do not add unplanned cuts.
@@ -39,7 +39,9 @@ For each shot, generate a professional GPT Image 2 storyboard prompt:
39
39
  - panel budget: 4-6s = 1-2 panels, 7-10s = 2-3 panels, 11-15s = 3-4 panels
40
40
  - hard cap: max 4 panels/phases per shot unless the configured project cap is lower
41
41
  - split policy: 5+ distinct phases must become separate chained `SHOTNN.md` files
42
- - target detail: 160-240 words, concrete blocking and camera language, no decorative prose
42
+ - target detail: dense professional storyboard direction, concrete blocking and camera language, no decorative prose
43
+ - storyboard art grammar: black-and-white rough pencil drawings, minimal detail, rapid gesture energy, simple anatomy construction, strong silhouette readability, unfinished previsualization feel
44
+ - annotation grammar: red arrows = body movement, blue arrows = camera movement, green marks = framing/composition, orange marks = lighting direction, purple marks = vocal/emotional emphasis, black text = very short lens notes and panel labels
43
45
  - continuity: include previous shot handoff, next shot handoff, shared `visual_world`, screen direction, lighting, and action rhythm
44
46
 
45
47
  The shot storyboard prompt must use the character sheet reference as the only identity source. Optional external storyboard guide images may inform composition and timing only.
@@ -74,6 +76,8 @@ Seedance 2.0:
74
76
  - Map the generated shot storyboard to the next image token, for example one character means `@Image2`, two characters means `@Image3`.
75
77
  - Character image tokens control identity, face, body proportions, wardrobe, accessories, and visible props.
76
78
  - The storyboard token controls composition, blocking, camera direction, timing, action rhythm, and phase order only.
79
+ - Follow generated storyboard panels left-to-right, top-to-bottom. Do not reinterpret the action, pose logic, camera angle, emotional progression, frame variety, or final pose.
80
+ - Treat storyboard arrows, labels, lens notes, and colored marks as planning annotations only; never render them into the video.
77
81
  - Use explicit timeline phases when the storyboard has multiple beats.
78
82
  - Use `No scene cuts throughout, one continuous shot` only for a true single uninterrupted camera move.
79
83
  - For multi-phase storyboard prompts, use only the planned phase transitions and do not add unplanned cuts.
@@ -39,7 +39,9 @@ For each shot, generate a professional GPT Image 2 storyboard prompt:
39
39
  - panel budget: 4-6s = 1-2 panels, 7-10s = 2-3 panels, 11-15s = 3-4 panels
40
40
  - hard cap: max 4 panels/phases per shot unless the configured project cap is lower
41
41
  - split policy: 5+ distinct phases must become separate chained `SHOTNN.md` files
42
- - target detail: 160-240 words, concrete blocking and camera language, no decorative prose
42
+ - target detail: dense professional storyboard direction, concrete blocking and camera language, no decorative prose
43
+ - storyboard art grammar: black-and-white rough pencil drawings, minimal detail, rapid gesture energy, simple anatomy construction, strong silhouette readability, unfinished previsualization feel
44
+ - annotation grammar: red arrows = body movement, blue arrows = camera movement, green marks = framing/composition, orange marks = lighting direction, purple marks = vocal/emotional emphasis, black text = very short lens notes and panel labels
43
45
  - continuity: include previous shot handoff, next shot handoff, shared `visual_world`, screen direction, lighting, and action rhythm
44
46
 
45
47
  The shot storyboard prompt must use the character sheet reference as the only identity source. Optional external storyboard guide images may inform composition and timing only.
@@ -74,6 +76,8 @@ Seedance 2.0:
74
76
  - Map the generated shot storyboard to the next image token, for example one character means `@Image2`, two characters means `@Image3`.
75
77
  - Character image tokens control identity, face, body proportions, wardrobe, accessories, and visible props.
76
78
  - The storyboard token controls composition, blocking, camera direction, timing, action rhythm, and phase order only.
79
+ - Follow generated storyboard panels left-to-right, top-to-bottom. Do not reinterpret the action, pose logic, camera angle, emotional progression, frame variety, or final pose.
80
+ - Treat storyboard arrows, labels, lens notes, and colored marks as planning annotations only; never render them into the video.
77
81
  - Use explicit timeline phases when the storyboard has multiple beats.
78
82
  - Use `No scene cuts throughout, one continuous shot` only for a true single uninterrupted camera move.
79
83
  - For multi-phase storyboard prompts, use only the planned phase transitions and do not add unplanned cuts.