@aswless_854771076/ai_short_studio_cli 0.1.98 → 0.1.100

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 (405) hide show
  1. package/README.md +15 -313
  2. package/dist/base-command.d.ts +0 -6
  3. package/dist/base-command.js +1 -39
  4. package/dist/client/api-client.js +2 -19
  5. package/dist/commands/auth/login.d.ts +1 -2
  6. package/dist/commands/auth/login.js +2 -5
  7. package/dist/commands/auth/logout.d.ts +0 -1
  8. package/dist/commands/auth/signup.d.ts +0 -1
  9. package/dist/commands/auth/status.d.ts +0 -1
  10. package/dist/commands/canvas/apply.d.ts +0 -1
  11. package/dist/commands/canvas/asset/get.d.ts +0 -1
  12. package/dist/commands/canvas/asset/list.d.ts +0 -1
  13. package/dist/commands/canvas/asset/select.d.ts +1 -3
  14. package/dist/commands/canvas/asset/select.js +3 -22
  15. package/dist/commands/canvas/asset/upload.d.ts +0 -14
  16. package/dist/commands/canvas/asset/upload.js +3 -43
  17. package/dist/commands/canvas/continuity/analyze.d.ts +0 -1
  18. package/dist/commands/canvas/edge/connect.d.ts +0 -1
  19. package/dist/commands/canvas/edge/disconnect.d.ts +0 -1
  20. package/dist/commands/canvas/edge/list.d.ts +0 -1
  21. package/dist/commands/canvas/edge/list.js +1 -4
  22. package/dist/commands/canvas/episode/create.d.ts +0 -1
  23. package/dist/commands/canvas/episode/list.d.ts +0 -1
  24. package/dist/commands/canvas/folder/copy-cross-project.d.ts +0 -1
  25. package/dist/commands/canvas/folder/create.d.ts +0 -1
  26. package/dist/commands/canvas/folder/delete.d.ts +0 -1
  27. package/dist/commands/canvas/folder/list.d.ts +0 -1
  28. package/dist/commands/canvas/folder/move.d.ts +0 -1
  29. package/dist/commands/canvas/folder/rename.d.ts +0 -1
  30. package/dist/commands/canvas/folder/restore.d.ts +0 -1
  31. package/dist/commands/canvas/get.d.ts +0 -1
  32. package/dist/commands/canvas/inspect.d.ts +0 -1
  33. package/dist/commands/canvas/node/add.d.ts +1 -1
  34. package/dist/commands/canvas/node/add.js +2 -2
  35. package/dist/commands/canvas/node/delete.d.ts +0 -1
  36. package/dist/commands/canvas/node/edit-resource.d.ts +0 -2
  37. package/dist/commands/canvas/node/edit-resource.js +1 -9
  38. package/dist/commands/canvas/node/edit-shot.d.ts +0 -1
  39. package/dist/commands/canvas/node/get.d.ts +0 -1
  40. package/dist/commands/canvas/node/list.d.ts +0 -5
  41. package/dist/commands/canvas/node/list.js +2 -43
  42. package/dist/commands/canvas/node/run.d.ts +0 -15
  43. package/dist/commands/canvas/node/run.js +6 -142
  44. package/dist/commands/canvas/node/types.d.ts +0 -1
  45. package/dist/commands/canvas/node/update-many.d.ts +0 -1
  46. package/dist/commands/canvas/node/update.d.ts +0 -1
  47. package/dist/commands/canvas/settings/get.d.ts +0 -1
  48. package/dist/commands/canvas/settings/set.d.ts +0 -24
  49. package/dist/commands/canvas/settings/set.js +1 -60
  50. package/dist/commands/config/get.d.ts +0 -1
  51. package/dist/commands/config/set.d.ts +0 -2
  52. package/dist/commands/config/set.js +2 -55
  53. package/dist/commands/preflight.d.ts +0 -1
  54. package/dist/commands/preflight.js +1 -9
  55. package/dist/commands/project/create.d.ts +0 -1
  56. package/dist/commands/project/delete.d.ts +0 -1
  57. package/dist/commands/project/get.d.ts +0 -1
  58. package/dist/commands/project/list.d.ts +0 -1
  59. package/dist/commands/project/update.d.ts +0 -1
  60. package/dist/commands/skill/install.d.ts +0 -1
  61. package/dist/commands/skill/install.js +0 -1
  62. package/dist/commands/skill/path.d.ts +0 -1
  63. package/dist/commands/skill/path.js +0 -1
  64. package/dist/commands/skill/status.d.ts +0 -1
  65. package/dist/commands/skill/status.js +0 -1
  66. package/dist/commands/task/cancel.d.ts +0 -1
  67. package/dist/commands/task/get.d.ts +0 -1
  68. package/dist/commands/task/wait.d.ts +0 -2
  69. package/dist/commands/task/wait.js +1 -6
  70. package/dist/domain/vvicat-api.d.ts +3 -63
  71. package/dist/domain/vvicat-api.js +9 -74
  72. package/dist/output/formatter.d.ts +0 -11
  73. package/dist/output/formatter.js +0 -20
  74. package/dist/preflight.d.ts +0 -1
  75. package/dist/preflight.js +1 -14
  76. package/dist/skill/command-flags.js +4 -7
  77. package/dist/skill/skill-manager.d.ts +2 -75
  78. package/dist/skill/skill-manager.js +15 -60
  79. package/package.json +3 -4
  80. package/scripts/postinstall.mjs +12 -7
  81. package/skills/using-vvicat-ai-short-studio-cli/SKILL.md +67 -27
  82. package/skills/using-vvicat-ai-short-studio-cli/references/commands/canvas.md +4 -3
  83. package/skills/using-vvicat-ai-short-studio-cli/references/commands/project.md +2 -26
  84. package/skills/using-vvicat-ai-short-studio-cli/references/commands.md +2 -2
  85. package/skills/using-vvicat-ai-short-studio-cli/references/editing-delivery.md +1 -1
  86. package/skills/using-vvicat-ai-short-studio-cli/references/h3-video-delivery.md +1 -1
  87. package/skills/using-vvicat-ai-short-studio-cli/references/humanizer/humanizer.md +9 -0
  88. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/SKILL.md +447 -0
  89. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/brief.md +93 -0
  90. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/project-files.md +246 -0
  91. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/reference-video.md +266 -0
  92. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/script-and-time.md +253 -0
  93. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/transformations.md +141 -0
  94. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/distribution.md +176 -0
  95. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/local-tools.md +411 -0
  96. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/model-and-provider.md +275 -0
  97. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/profile.md +286 -0
  98. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/asset-and-shot-preproduction.md +193 -0
  99. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/b-roll.md +94 -0
  100. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/caption-tracking.md +125 -0
  101. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/captions.md +252 -0
  102. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/conversation-images.md +218 -0
  103. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/h3-base-prompt-writing.md +222 -0
  104. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/h3-reference-prompt-writing.md +341 -0
  105. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/image-direction.md +123 -0
  106. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/generated-dependencies.md +38 -0
  107. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/graphic-compositions.md +85 -0
  108. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/h3-prompt-writing.md +54 -0
  109. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/image-direction.md +95 -0
  110. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/motion-graphics.md +68 -0
  111. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/recreation-policy.md +51 -0
  112. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/screen-demonstrations.md +51 -0
  113. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/shot-production-contracts.md +161 -0
  114. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/sound-mix.md +76 -0
  115. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/video-direction.md +433 -0
  116. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/voice-and-performance.md +224 -0
  117. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/voice-direction.md +99 -0
  118. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/narration-led-demo.md +87 -0
  119. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/presenter-led-explainer.md +160 -0
  120. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/ranking-listicle.md +71 -0
  121. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/reference-recreation-canvas.md +8 -0
  122. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/short-drama-workflow.md +165 -0
  123. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/short-drama.md +88 -0
  124. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/street-interview.md +92 -0
  125. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/talking-head.md +82 -0
  126. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/two-person-podcast.md +101 -0
  127. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/index.md +77 -0
  128. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/audio-presentation.md +49 -0
  129. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/authoring.md +228 -0
  130. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/browser-capture.md +112 -0
  131. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/builds.md +330 -0
  132. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/caption-authoring.md +156 -0
  133. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/caption-presentation.md +66 -0
  134. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/component-design.md +217 -0
  135. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/component-sharing.md +150 -0
  136. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/component-visuals.md +152 -0
  137. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/detail.svrun +8 -0
  138. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/direction.svs +14 -0
  139. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/look.svs +6 -0
  140. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/material.svrun +5 -0
  141. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/production.svml +73 -0
  142. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/production.svrun +5 -0
  143. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/visuals.ts +62 -0
  144. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/fonts-and-text.md +138 -0
  145. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/image-operations.md +102 -0
  146. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/index.md +73 -0
  147. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/media-presentation.md +111 -0
  148. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/media.md +246 -0
  149. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/performance.md +114 -0
  150. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/prompt-kits.md +165 -0
  151. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/rendering.md +141 -0
  152. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/review.md +211 -0
  153. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/runs.md +151 -0
  154. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/script-syntax.md +236 -0
  155. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/snapshots.md +90 -0
  156. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/sound.md +75 -0
  157. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/source-syntax.md +163 -0
  158. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/spatial.md +189 -0
  159. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/studio-companions.md +186 -0
  160. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/studio.md +249 -0
  161. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/system.md +169 -0
  162. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/timeline.md +74 -0
  163. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/timing.md +96 -0
  164. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/track-authoring.md +215 -0
  165. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/tracks.md +67 -0
  166. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/video-downloads.md +47 -0
  167. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/vocabulary.md +119 -0
  168. package/skills/using-vvicat-ai-short-studio-cli/references/project-and-canvas.md +1 -1
  169. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/README.md +11 -0
  170. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/SKILL.md +102 -0
  171. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/art-styles.json +585 -0
  172. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-character-images.md +11 -0
  173. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-character-profiles/character-profile-output.schema.json +99 -0
  174. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-character-profiles.md +7 -0
  175. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-drama-art-style.md +9 -0
  176. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-prop-assets.md +11 -0
  177. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-scene-assets.md +13 -0
  178. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/manage-drama-art-styles.md +9 -0
  179. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/manage-drama-assets.md +9 -0
  180. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/analyze-drama-source/prompts/source_analysis.en.txt +24 -0
  181. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/analyze-drama-source/prompts/source_analysis.zh.txt +24 -0
  182. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_acting_direction.en.txt +61 -0
  183. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_acting_direction.zh.txt +79 -0
  184. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_cinematographer.en.txt +101 -0
  185. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_cinematographer.zh.txt +150 -0
  186. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_detail.en.txt +114 -0
  187. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_detail.zh.txt +89 -0
  188. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_plan.en.txt +114 -0
  189. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_plan.zh.txt +389 -0
  190. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/professional_storyboard.en.txt +40 -0
  191. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/professional_storyboard.zh.txt +40 -0
  192. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/define-drama-brief/prompts/drama_brief.en.txt +24 -0
  193. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/define-drama-brief/prompts/drama_brief.zh.txt +24 -0
  194. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_description.en.txt +19 -0
  195. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_description.zh.txt +19 -0
  196. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_recommend.en.txt +26 -0
  197. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_recommend.zh.txt +26 -0
  198. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/music_track_design.en.txt +33 -0
  199. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/music_track_design.zh.txt +33 -0
  200. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/voice_analysis.en.txt +36 -0
  201. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/voice_analysis.zh.txt +36 -0
  202. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-bible/prompts/ai_story_expand.en.txt +33 -0
  203. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-bible/prompts/ai_story_expand.zh.txt +33 -0
  204. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/agent_character_visual.en.txt +26 -0
  205. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/agent_character_visual.zh.txt +26 -0
  206. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_asset_sheet.en.txt +21 -0
  207. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_asset_sheet.zh.txt +21 -0
  208. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_create.en.txt +12 -0
  209. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_create.zh.txt +12 -0
  210. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_description_update.en.txt +13 -0
  211. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_description_update.zh.txt +13 -0
  212. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_image_to_description.en.txt +11 -0
  213. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_image_to_description.zh.txt +11 -0
  214. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_modify.en.txt +15 -0
  215. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_modify.zh.txt +15 -0
  216. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_regenerate.en.txt +14 -0
  217. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_regenerate.zh.txt +14 -0
  218. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-profiles/prompts/agent_character_profile.en.txt +50 -0
  219. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-profiles/prompts/agent_character_profile.zh.txt +50 -0
  220. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/art_style_decision.en.txt +18 -0
  221. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/art_style_decision.zh.txt +18 -0
  222. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/config_generation.en.txt +67 -0
  223. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/config_generation.zh.txt +67 -0
  224. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_description_update.en.txt +14 -0
  225. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_description_update.zh.txt +14 -0
  226. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_generate.en.txt +16 -0
  227. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_generate.zh.txt +16 -0
  228. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/select_prop.en.txt +17 -0
  229. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/select_prop.zh.txt +17 -0
  230. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_create.en.txt +11 -0
  231. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_create.zh.txt +11 -0
  232. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_description_update.en.txt +14 -0
  233. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_description_update.zh.txt +14 -0
  234. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_modify.en.txt +13 -0
  235. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_modify.zh.txt +13 -0
  236. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_regenerate.en.txt +12 -0
  237. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_regenerate.zh.txt +12 -0
  238. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/scene_asset_sheet.en.txt +19 -0
  239. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/scene_asset_sheet.zh.txt +19 -0
  240. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/select_location.en.txt +18 -0
  241. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/select_location.zh.txt +17 -0
  242. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_enhance.en.txt +29 -0
  243. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_enhance.zh.txt +29 -0
  244. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_image.en.txt +77 -0
  245. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_image.zh.txt +77 -0
  246. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_storyboard_image.en.txt +109 -0
  247. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_storyboard_image.zh.txt +109 -0
  248. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/ideate-drama-from-market/prompts/market_inspiration.en.txt +23 -0
  249. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/ideate-drama-from-market/prompts/market_inspiration.zh.txt +23 -0
  250. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/outline-drama-series/prompts/episode_split.en.txt +42 -0
  251. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/outline-drama-series/prompts/episode_split.zh.txt +42 -0
  252. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-assets/prompts/asset_analysis.en.txt +55 -0
  253. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-assets/prompts/asset_analysis.zh.txt +55 -0
  254. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-production/prompts/production_plan.en.txt +49 -0
  255. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-production/prompts/production_plan.zh.txt +52 -0
  256. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-shot-continuity/prompts/continuity_plan.en.txt +37 -0
  257. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-shot-continuity/prompts/continuity_plan.zh.txt +37 -0
  258. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/review-drama-script/prompts/review_drama_script.en.txt +28 -0
  259. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/review-drama-script/prompts/review_drama_script.zh.txt +28 -0
  260. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_analysis.en.txt +57 -0
  261. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_analysis.zh.txt +169 -0
  262. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_generate.en.txt +64 -0
  263. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_generate.zh.txt +117 -0
  264. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_storyboard_insert.en.txt +34 -0
  265. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_storyboard_insert.zh.txt +34 -0
  266. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/storyboard_edit.en.txt +18 -0
  267. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/storyboard_edit.zh.txt +13 -0
  268. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/2d_to_live_action.en.txt +7 -0
  269. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/2d_to_live_action.zh.txt +7 -0
  270. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/image_prompt_modify.en.txt +28 -0
  271. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/image_prompt_modify.zh.txt +42 -0
  272. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-director-book/prompts/director_book.en.txt +35 -0
  273. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-director-book/prompts/director_book.zh.txt +35 -0
  274. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/agent_clip.en.txt +21 -0
  275. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/agent_clip.zh.txt +21 -0
  276. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/screenplay_conversion.en.txt +39 -0
  277. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/screenplay_conversion.zh.txt +39 -0
  278. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/h3_video.en.txt +49 -0
  279. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/h3_video.zh.txt +48 -0
  280. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_grid_video.en.txt +51 -0
  281. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_grid_video.zh.txt +51 -0
  282. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_storyboard_video.en.txt +50 -0
  283. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_storyboard_video.zh.txt +50 -0
  284. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/seedance2_video.en.txt +48 -0
  285. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/seedance2_video.zh.txt +46 -0
  286. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/plan-drama-assets.md +7 -0
  287. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/codex-contracts.md +14 -0
  288. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/comfly-provider.md +12 -0
  289. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/controlled-vocabulary.json +115 -0
  290. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/analyze-drama-source.md +7 -0
  291. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/define-drama-brief.md +8 -0
  292. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/design-drama-bible.md +5 -0
  293. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/humanizer.md +9 -0
  294. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/outline-drama-series.md +5 -0
  295. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/short-drama.md +13 -0
  296. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/write-drama-director-book.md +6 -0
  297. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/write-drama-episode.md +6 -0
  298. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/director-composition.md +794 -0
  299. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing/edit-deliver-drama.md +5 -0
  300. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing/edit-drama-timeline.md +22 -0
  301. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing/remotion-best-practices.md +12 -0
  302. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing-workflow.md +56 -0
  303. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/feature-completeness.md +111 -0
  304. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/configure-generation-providers.md +17 -0
  305. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/design-drama-audio.md +11 -0
  306. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/drama-generation-service.md +13 -0
  307. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/generate-drama-videos.md +9 -0
  308. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/generate-storyboard-images.md +11 -0
  309. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/monitor-drama-tasks.md +15 -0
  310. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/transform-drama-media.md +9 -0
  311. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/write-drama-video-prompts.md +50 -0
  312. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/analyze-drama-market/market-report.schema.json +46 -0
  313. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/analyze-drama-market/methodology.md +24 -0
  314. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/analyze-drama-market.md +47 -0
  315. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/ideate-drama-from-market/market-inspiration.schema.json +109 -0
  316. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/ideate-drama-from-market.md +15 -0
  317. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/module-map.json +595 -0
  318. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/music-catalog-providers.md +16 -0
  319. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/manage-drama-projects.md +11 -0
  320. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/orchestrate-short-drama.md +20 -0
  321. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/recover-drama-pipeline.md +5 -0
  322. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/short-drama-skill-index.md +29 -0
  323. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/use-short-drama-studio.md +15 -0
  324. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/pipeline.md +85 -0
  325. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/project-spec-v1.md +217 -0
  326. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/prompt-skill-index.md +62 -0
  327. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/recreation/publish-drama-references/litterbox.md +5 -0
  328. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/review/review-drama-script.md +7 -0
  329. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/review/review-drama-shots.md +39 -0
  330. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/runninghub-provider.md +33 -0
  331. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/starrouter-provider.md +53 -0
  332. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/build-drama-storyboard.md +13 -0
  333. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/design-fight-video.md +19 -0
  334. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz/action-previz.md +39 -0
  335. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz/direction-contract.md +96 -0
  336. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz/weapons-vfx.md +23 -0
  337. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz.md +15 -0
  338. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/generate-blender-previz.md +20 -0
  339. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/plan-drama-production.md +21 -0
  340. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/plan-shot-continuity.md +15 -0
  341. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/revise-drama-storyboards.md +5 -0
  342. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/usage-guide.md +107 -0
  343. package/skills/using-vvicat-ai-short-studio-cli/references/special-workflows.md +2 -8
  344. package/skills/using-vvicat-ai-short-studio-cli/references/troubleshooting.md +0 -1
  345. package/dist/auth/login-provider.d.ts +0 -2
  346. package/dist/auth/login-provider.js +0 -3
  347. package/dist/commands/canvas/node/quote.d.ts +0 -17
  348. package/dist/commands/canvas/node/quote.js +0 -13
  349. package/dist/commands/config/ai-provider/capabilities.d.ts +0 -60
  350. package/dist/commands/config/ai-provider/capabilities.js +0 -124
  351. package/dist/commands/config/ai-provider/get.d.ts +0 -22
  352. package/dist/commands/config/ai-provider/get.js +0 -21
  353. package/dist/commands/config/ai-provider/list.d.ts +0 -21
  354. package/dist/commands/config/ai-provider/list.js +0 -19
  355. package/dist/commands/config/ai-provider/models.d.ts +0 -22
  356. package/dist/commands/config/ai-provider/models.js +0 -21
  357. package/dist/commands/config/ai-provider/set.d.ts +0 -41
  358. package/dist/commands/config/ai-provider/set.js +0 -65
  359. package/dist/commands/config/ai-provider/test.d.ts +0 -25
  360. package/dist/commands/config/ai-provider/test.js +0 -24
  361. package/dist/commands/project/provider/get.d.ts +0 -15
  362. package/dist/commands/project/provider/get.js +0 -12
  363. package/dist/commands/project/provider/set.d.ts +0 -16
  364. package/dist/commands/project/provider/set.js +0 -18
  365. package/dist/commands/project/provider/test.d.ts +0 -15
  366. package/dist/commands/project/provider/test.js +0 -12
  367. package/dist/domain/ai-provider-capabilities.d.ts +0 -109
  368. package/dist/domain/ai-provider-capabilities.js +0 -180
  369. package/dist/domain/ai-provider-command-helpers.d.ts +0 -27
  370. package/dist/domain/ai-provider-command-helpers.js +0 -55
  371. package/skills/using-vvicat-ai-short-studio-cli/references/b-roll-and-screen.md +0 -9
  372. package/skills/using-vvicat-ai-short-studio-cli/references/caption-and-graphics-direction.md +0 -11
  373. package/skills/using-vvicat-ai-short-studio-cli/references/composition-and-shot-review.md +0 -17
  374. package/skills/using-vvicat-ai-short-studio-cli/references/craft-index.md +0 -20
  375. package/skills/using-vvicat-ai-short-studio-cli/references/drama-canvas.md +0 -19
  376. package/skills/using-vvicat-ai-short-studio-cli/references/format-relationships.md +0 -15
  377. package/skills/using-vvicat-ai-short-studio-cli/references/h3-prompts.md +0 -7
  378. package/skills/using-vvicat-ai-short-studio-cli/references/image-and-reference-direction.md +0 -9
  379. package/skills/using-vvicat-ai-short-studio-cli/references/licensed-music.md +0 -9
  380. package/skills/using-vvicat-ai-short-studio-cli/references/licenses/oh-my-short-drama-MIT.txt +0 -21
  381. package/skills/using-vvicat-ai-short-studio-cli/references/licenses/short-drama-MIT.txt +0 -21
  382. package/skills/using-vvicat-ai-short-studio-cli/references/media-provenance-and-review.md +0 -22
  383. package/skills/using-vvicat-ai-short-studio-cli/references/paid-plan.md +0 -7
  384. package/skills/using-vvicat-ai-short-studio-cli/references/production-specialties.md +0 -25
  385. package/skills/using-vvicat-ai-short-studio-cli/references/recreation.md +0 -21
  386. package/skills/using-vvicat-ai-short-studio-cli/references/reference-analysis-and-timing.md +0 -19
  387. package/skills/using-vvicat-ai-short-studio-cli/references/remotion-editing.md +0 -18
  388. package/skills/using-vvicat-ai-short-studio-cli/references/shot-production.md +0 -9
  389. package/skills/using-vvicat-ai-short-studio-cli/references/sound-and-captions.md +0 -7
  390. package/skills/using-vvicat-ai-short-studio-cli/references/sources.md +0 -6
  391. package/skills/using-vvicat-ai-short-studio-cli/references/story-craft/canvas-production.md +0 -9
  392. package/skills/using-vvicat-ai-short-studio-cli/references/story-craft/guide.md +0 -7
  393. package/skills/using-vvicat-ai-short-studio-cli/references/story-craft/index.md +0 -13
  394. package/skills/using-vvicat-ai-short-studio-cli/references/video-and-performance-direction.md +0 -9
  395. package/skills/using-vvicat-ai-short-studio-cli/references/voice-and-sound-direction.md +0 -9
  396. package/skills/using-vvicat-ai-short-studio-cli/references/writing-polish.md +0 -15
  397. /package/skills/using-vvicat-ai-short-studio-cli/references/{licenses/humanizer-MIT.txt → short-drama/assets/modules/humanizer/LICENSE} +0 -0
  398. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/compliance-checklist.md +0 -0
  399. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/genre-guide.md +0 -0
  400. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/hook-design.md +0 -0
  401. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/opening-rules.md +0 -0
  402. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/paywall-design.md +0 -0
  403. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/rhythm-curve.md +0 -0
  404. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/satisfaction-matrix.md +0 -0
  405. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/villain-design.md +0 -0
@@ -0,0 +1,48 @@
1
+ # Codex 执行合同:h3_video
2
+
3
+ 本文件由所属 Skill 读取,用于约束 Codex 的输入、判断与输出;不是发送给外部文本模型的 system prompt。花括号字段是从当前项目已选资产组装的具名输入槽。
4
+
5
+ 执行职责: MiniMax H3 短剧逐镜提示词编译器。只把已确认的剧情、分镜和引用编译成 H3 可执行格式,不改剧情、不提交生成任务。
6
+
7
+ 【基础剧情】
8
+ {base_prompt}
9
+
10
+ 【结构化分镜】
11
+ {storyboard_context_json}
12
+
13
+ 【已选参考素材清单】
14
+ {reference_manifest_json}
15
+
16
+ 【镜头约束】
17
+ - 布局:{grid_layout};格数:{panel_grid_size}
18
+ - 景别:{shot_type};运镜:{camera_move}
19
+ - 风格:{style}
20
+ - 风格执行:以上内容是已选画风合同,视频必须继承其 medium、rendering_method、surface_language、image_formation 与 forbidden_substitutions;“电影感”、参考图或模型默认审美不得把媒介偷换成真人、二维、三维或概念原画中的另一种。
21
+ - Provider 实时时长约束:{duration_constraints}
22
+
23
+ 严格规则:
24
+ 2. 除对白、歌词和画内文字逐字保留原语言外,最终 prompt 全部使用英文。时长必须满足 Provider 实时约束并覆盖完整时间线;默认一个分镜单元一个连续 `[Shot 1]`,仅导演合同明确要求内部切镜时使用严格递增的 `[Shot N] At MM:SS.mmm`。
25
+ 3. T2VA/I2VA/FL2VA/L2VA 只能依次输出 `integrated_multimodal_description`、`overall_soundscape`、`non_diegetic_music`。I2VA 首行必须是 `For the target video, at 0.00 seconds into the target video, <Picture 1> (from [Shot 1]) is fully referenced.`;FL2VA 首行必须是 `How the reference pictures align with the target video — Picture 1 (from Shot 1) aligns with the 0.00-second mark of the target video; Picture 2 (from Shot N) aligns with the S.SS-second mark of the target video.`;L2VA 首行必须是 `How the reference pictures align with the target video — <Picture 1> (from [Shot N]) aligns with the S.SS-second mark of the target video.`。把 N 替换为真实末镜编号、S.SS 替换为精确到两位小数的时长,对齐行后空一行;T2VA 不输出对齐行。
26
+ 4. Ref2VA 只能依次输出 `subject_definitions`、`summary`、`retention_analysis`、`detailed_description`、`overall_soundscape`、`non_diegetic_music`。`<Subject N>/<Picture N>/<Video N>/<Audio N>` 必须先定义、跨段同义、逐项有 retention 行;图片、视频、音频编号各自独立,不得虚构引用。
27
+ 5. 全参考故事板图只是构图、轴线、身份和动作顺序的规划参考,不是成片画面,不得标为 fully_preserved。只要引用故事板,`detailed_description` 就必须明确重申项目成片目标媒介,并明确禁止继承参考图的 source medium,包括铅笔、炭笔、单色、纸张纹理和草图质感。逐项核对首帧是否已有本镜开场就应存在的人物、道具和空间结构;缺失时返回 errors,要求补分镜图或绑定资产。只有剧情明确要求画外进入时才写明首帧缺席、进入方向和出现路径;除有意空镜或 hold 外,首帧应已有可读主体或动作起势。summary 的任务类型必须符合真实用途;参考生成不得冒充 video editing 或 continuation。
28
+ 6. 动作、构图、光线、镜头运动、状态变化和同步声音按播放顺序写清,结果必须在镜尾前清晰成立并短暂稳定。涉及道具或接触时写清接触前、接触点、接触后三方状态和必须保持连接/静止的邻接物,防止只有手势而物体不响应;多人镜锁定准确人数、从左到右顺序、朝向及参与动作的手部归属,复杂交互无法清楚归属时拆镜。复杂打斗缺少能约束运动轨迹的参考时,不用招式名称代替编排,改写为双方身体位置、蓄力、接触点、受力结果和反应;有可信运动参考时才保留精确招式。短动作完成后不得倒放、回弹或用无关动作填时长,只能用同方向后续节拍延续。说话者使用稳定 `(S1)`;对白写作 `<d>[Language] 原文</d>`。旁白使用 `says in an off-screen voiceover`,并立即说明画内人物嘴唇闭合;跨切点使用 `<scenetrans>`,片尾截断使用 `<cutoff>`。
29
+ 7. overall_soundscape 必须按时间点拆成环境底、同步动作声和非语言人声三层:环境底写声源、远近、空间反射、连续起止与跨镜是否延续,并且 audio_policy 中每项 ambience 必须带受控 `evidence.source` 与具体 `evidence.detail`;动作声只绑定画面中可见的接触或运动,每项 action_sounds 的 `evidence_event_key` 必须精确命中制作计划和分镜共同声明的 visible_event_keys,再写清起音、瞬态、余响和停止点,禁止用一条泛化效果覆盖整镜;呼吸、衣料和脚步按角色与距离归属。画外对白写明画外方向、距离与空间反射,不驱动任何可见嘴部;旁白使用独立近讲声场,逐项执行 tone arc、emotion beats、pace、breath and pause、distance and space,并让所有可见人物嘴唇自然闭合。对白期间环境底自然压低但不消失,镜头切换不得无故重置房间底噪。non_diegetic_music 固定写 `N/A`,禁止模型生成未声明 BGM;授权配乐由独立流程制作。非 native 的 delivery_mode 不得生成成品对白音轨,只保留表演和口型节奏。
30
+ 8. 末尾只完成当前镜 transition_out 和结束画面,不生成下一镜。画内屏幕或招牌内容只能来自原文或已批准图形合同;无证据时保持关闭、空白或不可辨读,不生成随机文字和 UI,剧情依赖的精确界面留给后期图形层。反宫格是最高构图约束:视觉描述段(Ref2VA 为 `detailed_description`,其他模式为 `integrated_multimodal_description`;I2VA/FL2VA/L2VA 放在强制对齐行之后)必须以该固定声明开头,并在段末原样再写一次(一字不改):The final video must be one single continuous cinematic frame filling the entire screen; no grid, split screen, panels, collage, dividing lines, panel numbers, or any multi-image composition. 紧接开头声明还必须原样写入:The source video must contain no generated subtitles, captions, titles, labels, logos, watermarks, UI text, or any other readable text; all approved text must be added only in post-production. 任何段落仍不得出现宫格、故事板纸张、分框、箭头、编号、批注、字幕、水印、Logo 或 UI;不得混入 Seedance `@图片N` 语法。When the reference manifest contains a multi-panel storyboard sheet (panel_grid_size > 1 with a board-* asset), immediately after the opening statement you must also copy verbatim, word for word including punctuation: "The panels in the reference storyboard indicate only the chronological order of actions and narrative keyframes; never render panel borders, dividing lines, numbers, or side-by-side multiple panels in the final video".
31
+ 9. audio_policy 使用三层合同:delivery_mode 只允许 native/post_dub/external_audio,presentation 只允许 visible-dialogue/offscreen-dialogue/narration,fallback_mode 只允许 none/post-dub/cinematic-tts/sound-design。每行必须读取自己的 BCP 47 `language`,并把原文写成 `<d>[该 language] 原文</d>`;不得用项目默认语言覆盖多语言对白。native 行按时间点逐字生成指定说话人的对白;画外对白不得驱动可见人物嘴部;旁白立即注明画内人物自然闭嘴,并逐项编译 tone arc、每个 emotion beat、pace、breath and pause、distance and space。post_dub/external_audio 行只生成环境声和动作声,不得生成成品人声。原生音频镜头不得另行安排 TTS,缺少语言、精确台词、时间范围或旁白表演字段时写入 errors。
32
+ 10. 构图契约必须编译进时间轴。结构化分镜 storyboard_context_json 中若出现 composition_contract(或 photographyPlan.composition、visual_plan.composition),它是本镜已确认构图合同:若仅有 plan 期瘦合同 visual_plan.composition(只含 primary/secondary/reason/evidence),不要求 11 个几何字段齐全,缺失几何从当前分镜与原文推断、推断不出按旧分镜回退,不编造字段值;primary/secondary 的 code 与构图模式名仅作索引,禁止写进最终英文 prompt,也禁止只交 cinematic/oppressive/lonely 等抽象形容词;合同几何必须按播放顺序写进视觉描述段(Ref2VA 写进 detailed_description,其他模式写进 integrated_multimodal_description;I2VA/FL2VA/L2VA 放在强制对齐行之后):① 首帧——read_order 第一眼落点、subject_placement 的画面左右/前后景/机位高度、eyeline_room 视线与留白方向、depth_layers 前中后景内容与虚实、light_and_color_geometry 主光方向与剧内来源;② 运动中——主体在层次间的位移、遮挡何时出现与让出、视线变化,以及 action_vector 的屏幕方向、入画/出画边、逼近或远离;动作镜按蓄力—接触—结果—反应写全地理、接触点与受力反应;③ 镜尾——按 tail_state 在结束画面之前到达终结姿态并短暂稳定,静止合同显式写 locked-off camera,禁止未要求的 push-in、orbit、drift;④ 承接——出入画边、屏幕方向与轴线和相邻镜一致,continuity 为 previous-tail 时直接继承前镜尾部。竖屏 9:16:关系镜用前后纵深、越肩或上下站位而非硬挤左右;关键脸、证据道具、接触点放在画面中上安全区且双眼完整可读;群体戏用时间段拆成 crowd establishment、protagonist action、reaction/result,不横向平铺多人。证据门为 OR:evidence 中的 set_dressing、weather_atmosphere、action_blocking 等级必须在原文明确描述或已选场景/道具资产中存在,二者任一即可;action_blocking 等级还可由已确认动作事实支撑,已确认动作事实不能替代天气/陈设所需的原文或资产证据(复合证据以 + 连接时逐组件成立)。任一不满足时不生成 prompt(prompt 置空字符串),在 errors 写明所缺证据并退回分镜阶段补证据或更换构图,禁止让模型自补 rain、snow、fog、neon、mirrors、smoke、doors/windows/columns、weapons、crowds 或 extra figures。ai_risks 每个风险码都要有可见防控(遮挡不超过三分之一且双眼完整、留白区纯净、接触点清晰、动势边缘留 10%、跨镜方向一致)。本条不得改变第 3/4 条固定段落顺序、强制对齐行或标签语法,不得移动或改写第 8 条固定反宫格声明,不新增槽位或素材引用。
33
+ 11. continuity.mode=previous-tail 时仍使用 Ref2VA,把已派生的 other-transition-* 放在第一个图片槽并标记 first_frame,其余人物、双分镜板、音频参考及制作计划实际启用的主运动参考不得省略。必须从该像素状态精确延续人物位置、姿态、运动方向、持物状态、主光方向与轴线;不得重新建立场景,也不得把动作重置为蓄力或起势。
34
+ 12. 每个 char-* 引用必须带可校验的 `identity_binding` 与 `identity_constraints`。`identity_binding` 仅用于版本和 `appearance_id` 校验,不写入成片;把 `identity_constraints` 的 `grooming_and_makeup`、`costume_signature` 和全部 `memory_anchors` 原样编译进人物定义及可见描述。不得新增、删减或改写锚点;与 continuity.visual_identity 冲突时返回 errors。
35
+ 13. 自然运动不是一句“动作自然”,而是逐主体编译的时间合同。每个可见人物只指定一个当前主要动作、注意对象、反应触发和未参与时的状态;多人除非剧情明确要求齐步、仪式或共同受惊,必须用不同起始时刻、幅度、视线和反应延迟错开,禁止所有人同时转头、点头、眨眼、起步或做相同手势。静止人物也不能冻结:在景别可读时保留不规则且不同步的眨眼、短促眼动/重新对焦、呼吸带来的胸肩微动、轻微重心调整和连续表情过渡,但不得把微动作机械列成循环或让背景人物抢戏。身体动作按支撑脚落地、重心转移、髋肩带动、关节路径、加减速、惯性跟随和恢复停稳描述;持物手在接触后保持正确抓握与受力。头发、衣摆、宽松袖口、饰物和道具只受已存在的风、角色加速、重力或接触驱动,以略有延迟的较小幅度跟随并逐渐衰减,不得无风自动飘动、全身同相摆动或瞬间停止。环境只对已发生且有证据的作用作局部响应,例如脚步后的轻微尘土、坐下后的坐垫压缩或开门后的短促气流;不得为了“有动态”新增天气、特效或事件。每镜只保留叙事必需的主动作和少量有因果的次级运动;指令过载、多人精确互动或多个独立接触无法保持归属时必须拆镜。相机只执行一个有起点、速度变化和终点的动机曲线,固定镜头不得自动漂移。
36
+ 14. 每个 char-* 引用还必须带与人物档案逐字段一致的 `performance_constraints`:`center_of_gravity`、`gait`、`habitual_actions`、`eyeline_behavior`、`blink_rhythm`、`stress_response`、`forbidden_performance`。长期习惯只在本镜出现其档案触发条件时使用,禁止每镜机械复现;`forbidden_performance` 始终生效。心理戏必须翻译为可见时间链“刺激/信息进入 → 注意和眼神转移 → 试图维持的表情面具 → 短暂泄露 → 决定或动作 → 镜尾残留”,没有原文、分镜或人物档案证据时不得编造内心。眼神戏写清注视对象、画面方向、是持续注视/快速扫视/回避/返回,以及眼睛与头部谁先启动;除主观镜头或明确直视观众外禁止看镜头,画外对象的视线方向必须与空间账本一致,听者也要有独立注意和反应。微表情只在近景或特写可读时使用,一次优先一至两个面部区域,写可见的眉间、眼睑、眼角、鼻翼、唇角、下唇或下颌变化及其轻微起势—峰值—释放,不把“悲伤、震惊、腹黑”等心理标签直接当动作,不向模型提交 AU 编码,不堆满整张脸,也不让微表情长时间定格。中景把心理变化放大到眼神、头部、呼吸和下颌,远景改由姿态、停顿、距离和走位表现;对白镜同时写说话者与听者的注意关系,表情转折必须落在具体词、停顿、声音或可见事件之后。
37
+
38
+ 输出中的 references、continuity、audio_policy 必须分别原样复制 reference_manifest_json、storyboard_context_json.continuity 和 storyboard_context_json.audio_policy。只输出严格 JSON,不要 Markdown 或额外键:
39
+ {
40
+ "prompt_profile": "h3",
41
+ "input_mode": "Ref2VA",
42
+ "prompt": "符合所选模式固定段落顺序的英文提示词;有 errors 时为空字符串",
43
+ "duration": 5,
44
+ "references": [],
45
+ "continuity": {},
46
+ "audio_policy": {},
47
+ "errors": []
48
+ }
@@ -0,0 +1,51 @@
1
+ # Codex execution contract: panel_grid_video
2
+
3
+ The owning Skill reads this file to constrain Codex inputs, decisions, and output. It is not a system prompt sent to an external text model. Braced fields are named input slots assembled from selected local project assets.
4
+
5
+ Execution role: cinematic narrative video-prompt editor. The input is one storyboard unit with {panel_grid_size} chronological keyframes arranged as {grid_layout}. The unit may represent one continuous take or multiple edited video shots when the storyboard supports those cuts.
6
+
7
+ [TASK]
8
+ Use preImageGridPrompt.gridCells[].videoPrompt from the structured context as the narrative backbone. Sort cells by cellIndex and turn them into one complete edited-video prompt.
9
+
10
+ Base prompt:
11
+ {base_prompt}
12
+
13
+ Shot information:
14
+ - Shot size: {shot_type}
15
+ - Camera movement: {camera_move}
16
+ - Project visual style: {style}
17
+ - Style execution: treat the selected contract above as the sole medium source of truth. Preserve medium, rendering_method, surface_language, image_formation, and forbidden_substitutions; never let reference-sheet layout or model defaults replace them.
18
+
19
+ [STRICT RULES]
20
+ 1. Preserve every cell's time range, action, event order, and causality. Do not add, remove, reorder, or alter story events.
21
+ 2. Preserve dialogue verbatim and place it in the matching time segment. Do not rewrite, summarize, invent, or reorder dialogue.
22
+ 3. You may improve shot language without changing the story. At key beats supported by changes in shot scale, viewpoint, location, or narrative focus, state the required cut, transition, reframing, or close-up. Every actual cut must state its time and use `[Shot change: previous shot scale→new shot scale; transition]`; never label continuous camera movement as a cut. Keep passages continuous when there is no reason to cut. Do not force the storyboard unit to mean one continuous take, and never cut mechanically at every cell.
23
+ 4. Keep identity, appearance, costume, location, props, light direction, screen direction, and project visual style continuous. When a character operates a phone, terminal, or other prop with a functional surface, that surface faces the operator and the camera normally sees its back or side. It faces the camera only for a motivated POV, screen insert, evidence reveal, handoff, or shared viewing.
24
+ [CONTINUITY] Follow storyboard_context_json.continuity. When mode is independent, establish only supported time, place, spatial relations, key light, and props. When it is previous-tail, continue directly from the previous exit state, inheriting actor position, posture, movement direction, held props, light direction, and screen axis without re-establishing or resetting the scene. If continuity is absent, follow the current storyboard and invent nothing.
25
+ [AUDIO POLICY] Follow storyboard_context_json.audio_policy.mode. native may generate verbatim dialogue, voiceover, ambience, and action sound in their matching time segments. post-dub generates only ambience and action sound; dialogue and voiceover guide performance and timing but must not create duplicate finished speech. silent generates no native audio. auto describes only story-essential sound intent and does not force a full mix. On-screen dialogue uses natural lip movement by the visible speaker. Off-screen dialogue must not make another visible character speak. A voice-over or inner monologue uses no speaking lip movement; the mouth remains natural for breathing and the current expression. Every ambience item carries an allowed evidence.source and concrete evidence.detail; every action sound uses evidence_event_key to match a visible_event_keys item jointly declared by plan and storyboard. Never add footsteps without walking or energy sound without visible energy.
26
+ 5. Anti-grid is the highest composition constraint: the first sentence of the prompt must copy the fixed statement verbatim, and after the exit-frame line required by rule 9 the prompt must end with the same statement repeated verbatim, word for word including punctuation: "The final video must be one single continuous cinematic frame filling the entire screen; no grid, split screen, panels, collage, dividing lines, panel numbers, or any multi-image composition." Immediately after the opening statement, copy verbatim: "The source video must contain no generated subtitles, captions, titles, labels, logos, watermarks, UI text, or any other readable text; all approved text must be added only in post-production." The body must still never reproduce grids, panels, collage, split-screen, borders, arrows, notes, numbering, subtitles, watermarks, logos, or UI; the grid is a narrative-keyframe reference, not the output format. When the reference manifest contains a multi-panel storyboard sheet (panel_grid_size > 1 with a board-* asset), immediately after the opening statement you must also copy verbatim, word for word including punctuation: "The panels in the reference storyboard indicate only the chronological order of actions and narrative keyframes; never render panel borders, dividing lines, numbers, or side-by-side multiple panels in the final video".
27
+ 6. Duration must satisfy the selected Provider constraint: {duration_constraints}. Never round up or use an undeclared duration option; describe visual action and camera progression in clear time segments.
28
+ 7. Avoid repeated quality buzzwords. Keep only details that support narrative and visual continuity.
29
+ 8. An impact may use localized directional motion blur and a brief contact-synchronized micro-shake, but must return immediately to stability. Do not use sustained shake, full-frame blur, or unmotivated motion.
30
+ 9. The prompt must end with `Transition out [transition type]` followed by one line describing the current shot's exit frame. Motivate the transition with the current impact, occlusion, fast movement, light, matched action, time change, or scene ending. Describe only how the current clip ends; do not generate the next shot's story action.
31
+ 10. Compile the composition contract across the cells' timeline. When the structured storyboard or the gridCells' video prompts contain composition_contract (or photographyPlan.composition / visual_plan.composition), it is the confirmed contract for this shot: if only the thin plan-time visual_plan.composition exists (primary/secondary/reason/evidence), do not demand the 11 geometry fields — derive missing geometry from the current storyboard and source text, falling back to legacy handling where it cannot be derived, and never invent field values; the primary/secondary composition codes and pattern names are indexes only — never write them into the final prompt, and never fall back on bare abstractions such as "cinematic", "oppressive", or "lonely". Preserve and state how the contract geometry lands on the timeline — the first cell's (first frame's) read_order first-glance landing, subject_placement, eyeline_room gaze and negative space, depth_layers, and light_and_color_geometry key-light direction; middle cells follow action_vector for approach/recede, entry/exit edges, and occlusion yielding, with anticipation—contact—result—reaction in causal order and the contact point and force result each landing in a clear time segment; the final cell lands on tail_state's briefly stable pose (position, facing, residual tension), a static contract states locked-off camera explicitly, and unrequested push-in, orbit, or drift is forbidden; on both sides of a cut keep screen direction, entry/exit edges, and axis consistent, and previous-tail continuity inherits the previous exit state directly. Vertical 9:16: stage relationships through front/back depth, over-shoulder, or vertical placement rather than squeezing side by side; keep key faces, evidence props, and contact points in the upper-middle safe area with both eyes readable; split crowd scenes across cells and time segments into crowd establishment, protagonist action, and reaction/result rather than lining up many figures horizontally. The evidence gate is OR: the set_dressing, weather_atmosphere, and action_blocking levels in evidence must be either explicitly described in the source text or present in the selected scene/prop assets — either one suffices; the action_blocking level may additionally be supported by confirmed blocking facts, which cannot replace the source-text or asset evidence required for weather/set dressing (each component holds when compound evidence is joined with +). When any is unsupported, stop compiling and produce no prompt (empty prompt string), name the missing evidence in errors, and return the shot as unresolved to revise-drama-storyboards for evidence or a pattern change. Never let the model self-add rain, snow, fog, neon, mirrors, smoke, doors/windows/columns, weapons, crowds, or extra people. Give each ai_risks risk a visible safeguard (occlusion under one third with eyes complete, clean negative space, clear contact point, 10% margin at motion edges, cross-shot direction consistency). This rule's content goes in the body between the fixed opening and closing statements required by rule 5; never move or rewrite those fixed statements, add no slots, and do not change asset referencing.
32
+ 11. Compile natural motion as a per-subject timeline contract. Give every visible person one primary action, attention target, reaction trigger, and uninvolved state. Unless synchronization is story-required, offset people by onset, amplitude, gaze, and reaction latency; never make a group turn, nod, blink, or step together. When readable, keep still people alive with irregular unsynchronized blinks, eye saccades or refocusing, breathing, small weight adjustments, and continuous expression transitions, without mechanical loops or distracting background business. Ground body motion in planted support, center-of-mass transfer, hip/shoulder lead, joint path, acceleration, deceleration, follow-through, and recovery. Hair, hems, loose sleeves, accessories, and props respond only to established wind, acceleration, gravity, or contact with smaller delayed motion and damped settling; forbid windless flutter, whole-body phase locking, and instant stops. Let the environment respond locally only to evidenced forces. Keep one narrative primary action and a few causal secondary motions; split ambiguous or overloaded choreography, and never let a locked-off camera drift.
33
+ 12. Every character reference carries profile-matched `performance_constraints`; use a habit only when its recorded trigger occurs and always obey `forbidden_performance`. Render psychology as observable beats: stimulus/information → attention and gaze shift → social mask → brief leak → decision/action → residue, without inventing unsupported inner facts. Name the gaze target, screen direction, hold/glance/avert/return behavior, and eye-versus-head lead; give listeners independent reactions and forbid lens gaze outside explicit POV/direct address. In close shots, use only one or two facial regions with a low-amplitude onset—apex—release in brows, eyes, nostrils, lip corners, or jaw. Never submit AU codes, use emotion labels as actions, stack the whole face, or hold a micro-expression; use head, breath, posture, pause, distance, and blocking at wider scales.
34
+
35
+ [STRUCTURED STORYBOARD CONTEXT]
36
+ {storyboard_context_json}
37
+
38
+ [SELECTED REFERENCE MANIFEST]
39
+ {reference_manifest_json}
40
+
41
+ Copy reference_manifest_json, storyboard_context_json.continuity, and storyboard_context_json.audio_policy unchanged into references, continuity, and audio_policy. Return strict JSON only, without Markdown:
42
+ {
43
+ "prompt_profile": "generic",
44
+ "input_mode": "derive only from Provider capabilities and supplied references",
45
+ "prompt": "complete compiled video prompt, or an empty string when errors is non-empty",
46
+ "duration": 5,
47
+ "references": [],
48
+ "continuity": {},
49
+ "audio_policy": {},
50
+ "errors": []
51
+ }
@@ -0,0 +1,51 @@
1
+ # Codex 执行合同:panel_grid_video
2
+
3
+ 本文件由所属 Skill 读取,用于约束 Codex 的输入、判断与输出;不是发送给外部文本模型的 system prompt。花括号字段是从当前项目已选资产组装的具名输入槽。
4
+
5
+ 执行职责:电影叙事视频提示词编辑。输入是一个故事版单元,包含 {panel_grid_size} 个按 {grid_layout} 排列、依时间推进的关键帧。这个单元可以对应一个连续镜头,也可以包含多个有剪辑依据的成片镜头。
6
+
7
+ 【任务】
8
+ 以结构化信息中 preImageGridPrompt.gridCells[].videoPrompt 为叙事骨架,按 cellIndex 升序整理成一条可直接用于视频生成的完整剪辑提示词。
9
+
10
+ 基础提示词:
11
+ {base_prompt}
12
+
13
+ 镜头信息:
14
+ - 景别:{shot_type}
15
+ - 运镜:{camera_move}
16
+ - 项目视觉风格:{style}
17
+ - 风格执行:把以上已选画风合同作为媒介唯一事实源,保持 medium、rendering_method、surface_language、image_formation 与 forbidden_substitutions,不得被参考板版式或模型默认审美替换。
18
+
19
+ 【严格规则】
20
+ 1. 必须保留每格的时间段、动作、事件顺序和因果关系;不得新增、删除、交换或改写剧情事件。
21
+ 2. 台词必须逐字保留原文,嵌入对应时间段;不得改写、概括、补写或调整台词顺序。没有台词时不要虚构。
22
+ 3. 可以优化镜头语言但不能改变剧情:识别景别、视角、场景或叙事重心变化的关键节点,明确写出必要的切镜、转镜、转场和特写;没有切镜依据的段落保持连续运镜。每次真正切镜必须标明时间点,并写成【镜头切换:原景别→目标景别;转场方式】;连续运镜不得误标为切镜。不得强制全程一镜到底,也不要机械地逐格切镜。
23
+ 4. 保持角色身份、外貌、服装、场景、道具、光源方向、运动轴线和项目视觉风格连续。角色操作手机、终端或其他带功能面的道具时,功能面默认朝向操作者,镜头通常看到背面或侧面;只有主观镜头、屏幕特写、证据展示、交接或共同观看等明确叙事需要才让功能面朝向镜头。
24
+ 【连续性】按 storyboard_context_json.continuity 执行:mode 为 independent 时,只根据已有信息简洁交代时间、地点、空间关系、关键光线和道具;为 previous-tail 时,从前镜尾部状态直接继续,继承人物位置、姿态、动作方向、道具持有、光向和轴线,不重新建立或重置场景。字段缺失时沿用当前分镜,不得猜测。
25
+ 【声音策略】按 storyboard_context_json.audio_policy.mode 执行:native 可在对应时间段生成原文对白、旁白、环境声和动作声;post-dub 只生成环境声与动作声,对白和旁白仅指导表演及节奏,不得生成重复成品人声;silent 不生成原生声音;auto 只描述剧情必要的声音意图,不强制完整混音。画内对白由可见说话者做自然口型;画外对白不得让其他可见角色代说;旁白或内心独白不做说话口型,嘴部保持自然呼吸和当前表情。每项环境底必须带受控 evidence.source 与具体 evidence.detail;每项动作声必须用 evidence_event_key 精确命中计划和分镜共同声明的 visible_event_keys,禁止无走动生成脚步、无可见能量生成能量声。
26
+ 5. 反宫格是最高构图约束:prompt 的首句必须原样写入固定声明,写完第 9 条结束画面后再另起一句原样重复该声明(一字不改,标点也不改):「成片必须是单一连续的电影画面并铺满整个屏幕,严禁宫格、分屏、分框、拼贴、分割线、分镜编号或任何多画面构图」。紧接首句还必须原样写入:「源视频画面不得生成任何字幕、标题、标签、Logo、水印、UI文字或其他可读文字,所有获批文字只允许由后期图形层添加」。正文仍不得出现宫格、分框、拼贴、分屏、边框、箭头、批注、编号、字幕、水印、Logo 或 UI;宫格只是叙事关键节点参考,不是最终视频形式。当引用清单含多格分镜板(panel_grid_size>1 且引用 board-* 资产)时,紧接首句声明之后还必须原样写入(一字不改,标点也不改):「参考分镜板中的画格只表示动作的时间顺序与叙事关键帧,禁止把画格边框、分割线、编号或多格并排构图拍进成片」。
27
+ 6. 时长必须满足当前 Provider 的约束:{duration_constraints}。不得擅自向上取整或使用未声明档位;用清晰时间段描述画面、动作和镜头推进。
28
+ 7. 不要堆砌重复画质词;只保留与镜头叙事和视觉连续性有关的信息。
29
+ 8. 动作命中可使用方向一致的局部运动模糊与接触同步的短促微震,但必须立即恢复稳定;禁止持续抖动、持续整体虚焦或无动机晃动。
30
+ 9. prompt 最后必须是“镜尾转场【转场类型】”及一行当前镜头的结束画面;转场类型必须由当时的命中、遮挡、快速运动、强光、匹配动作、时间变化或段落结束提供依据。只描述当前素材如何结束,不得生成下一镜剧情。
31
+ 10. 构图契约必须沿格子时间化编译。结构化分镜或 gridCells 的视频提示中若出现 composition_contract(或 photographyPlan.composition、visual_plan.composition),它是本镜已确认构图合同:若仅有 plan 期瘦合同 visual_plan.composition(只含 primary/secondary/reason/evidence),不要求 11 个几何字段齐全,缺失几何从当前分镜与原文推断、推断不出按旧分镜回退,不编造字段值;primary/secondary 的构图 code 与构图模式名仅作索引,禁止写进最终 prompt,也禁止只交「电影感」「压迫」「孤独」等抽象词;整理时必须保留并写清合同几何在时间轴上的兑现——首格(首帧)的 read_order 第一眼落点、subject_placement 主体位置、eyeline_room 视线留白、depth_layers 前中后景与 light_and_color_geometry 的主光方向;中间格沿 action_vector 的逼近/远离、入画/出画边、遮挡让出,以及蓄力—接触—结果—反应的因果顺序,接触点与受力结果各自落在清晰时间段;末格落到 tail_state 的短暂稳定姿态(位置、朝向、剩余张力),静止合同显式写固定机位,禁止未要求的缓推、环绕或漂浮;切镜点两侧屏幕方向、出入画边与轴线一致,continuity 为 previous-tail 时直接继承前镜尾部。竖屏 9:16:关系镜用前后纵深、越肩或上下站位而非硬挤左右;关键脸、证据道具、接触点放在画面中上安全区且双眼完整可读;群戏按格子和时间段拆成群体建立、主角动作、反应/结果,不横向平铺多人。证据门为 OR:evidence 中 set_dressing、weather_atmosphere、action_blocking 等级必须在原文明确描述或已选场景/道具资产中存在,二者任一即可;action_blocking 等级还可由已确认动作事实支撑,已确认动作事实不能替代天气/陈设所需的原文或资产证据(复合证据以 + 连接时逐组件成立)。任一不满足时停止编译、不产出 prompt(prompt 为空字符串),在 errors 中具名所缺证据,把该镜作为 unresolved 退回 revise-drama-storyboards 补证据或更换构图模式;禁止让模型自补雨、雪、雾、霓虹、镜面、烟尘、门窗廊柱、武器、群体或多余人物。ai_risks 逐风险给可见防控(遮挡不超过三分之一且双眼完整、留白区纯净、接触点清晰、动势边缘留 10%、跨镜方向一致)。本条内容写入第 5 条首句声明与末句声明之间的正文,不得移动或改写固定声明,不新增槽位或改变素材引用方式。
32
+ 11. 把自然运动编译为逐主体时间合同:每个可见人物有一个主要动作、注意对象、反应触发和未参与状态;除剧情明确要求同步外,用不同起始时刻、幅度、视线和反应延迟错开多人,禁止集体同时转头、点头、眨眼或起步。景别可读时,静止人物保留不规则且不同步的眨眼、眼动/重新对焦、呼吸、轻微重心调整和连续表情过渡,但不机械循环或抢戏。身体动作遵循支撑脚、重心、髋肩、关节路径、加减速、惯性跟随与恢复;头发、衣摆、宽松袖口、饰物和道具只受已有风、加速、重力或接触驱动,以延迟的小幅运动跟随并衰减停稳,禁止无风自飘、全身同相摆动或瞬停。环境只对有证据的力作局部响应。每镜只保留一个叙事主动作与少量因果次级运动;归属不清或指令过载时拆镜,固定机位不得漂移。
33
+ 12. 每个角色引用必须携带与档案一致的 `performance_constraints`,长期习惯只在档案触发条件出现时执行,`forbidden_performance` 始终生效。心理戏按“刺激/信息 → 注意和眼神转移 → 表情面具 → 短暂泄露 → 决定/动作 → 残留”写成可见节拍,不编造无证据内心。眼神必须具名注视对象、画面方向、持续/扫视/回避/返回及眼睛与头部启动顺序;听者有独立反应,非主观镜头或直视观众不得看镜头。近景/特写的微表情一次只用一至两个面部区域,以眉眼、鼻翼、唇角或下颌的低幅起势—峰值—释放表达,不提交 AU 编码、不用情绪标签冒充动作、不整脸堆叠或长时间定格;中远景改用头部、呼吸、姿态、停顿、距离和走位。
34
+
35
+ 【结构化分镜信息】
36
+ {storyboard_context_json}
37
+
38
+ 【已选参考素材清单】
39
+ {reference_manifest_json}
40
+
41
+ 输出中的 references、continuity、audio_policy 必须分别原样复制 reference_manifest_json、storyboard_context_json.continuity 和 storyboard_context_json.audio_policy。仅输出严格 JSON,不要 Markdown:
42
+ {
43
+ "prompt_profile": "generic",
44
+ "input_mode": "由 Provider 能力和参考素材确定",
45
+ "prompt": "整理后的完整视频提示词;有 errors 时为空字符串",
46
+ "duration": 5,
47
+ "references": [],
48
+ "continuity": {},
49
+ "audio_policy": {},
50
+ "errors": []
51
+ }
@@ -0,0 +1,50 @@
1
+ # Codex execution contract: panel_storyboard_video
2
+
3
+ The owning Skill reads this file to constrain Codex inputs, decisions, and output. It is not a system prompt sent to an external text model. Braced fields are named input slots assembled from selected local project assets.
4
+
5
+ Execution role: cinematic narrative video-prompt editor. The input is a production storyboard sheet and structured information for one storyboard unit with {panel_grid_size} chronological keyframes arranged as {grid_layout}. The unit may represent one continuous take or multiple edited video shots when the storyboard supports those cuts.
6
+
7
+ [TASK]
8
+ Use preImageGridPrompt.gridCells[].videoPrompt from the structured context as the narrative backbone. Sort cells by cellIndex and turn them into one complete edited-video prompt.
9
+
10
+ Base prompt:
11
+ {base_prompt}
12
+
13
+ Shot information:
14
+ - Shot size: {shot_type}
15
+ - Camera movement: {camera_move}
16
+ - Project visual style: {style}
17
+ - Style execution: treat the selected contract above as the sole medium source of truth. Preserve medium, rendering_method, surface_language, image_formation, and forbidden_substitutions; never let reference-sheet layout or model defaults replace them.
18
+
19
+ [STRICT RULES]
20
+ 1. Preserve every cell's time range, action, event order, and causality. Do not add, remove, reorder, or alter story events.
21
+ 2. Preserve dialogue verbatim and place it in the matching time segment. Do not rewrite, summarize, invent, or reorder dialogue.
22
+ 3. You may improve shot language without changing the story. At key beats supported by changes in shot scale, viewpoint, location, or narrative focus, state the required cut, transition, reframing, or close-up. Every actual cut must state its time and use `[Shot change: previous shot scale→new shot scale; transition]`; never label continuous camera movement as a cut. Keep passages continuous when there is no reason to cut. Do not force the storyboard unit to mean one continuous take, and never cut mechanically at every cell.
23
+ 4. Keep identity, appearance, costume, location, props, light direction, screen direction, and project visual style continuous. When a character operates a phone, terminal, or other prop with a functional surface, that surface faces the operator and the camera normally sees its back or side. It faces the camera only for a motivated POV, screen insert, evidence reveal, handoff, or shared viewing.
24
+ [CONTINUITY] Follow storyboard_context_json.continuity. When mode is independent, establish only supported time, place, spatial relations, key light, and props. When it is previous-tail, continue directly from the previous exit state, inheriting actor position, posture, movement direction, held props, light direction, and screen axis without re-establishing or resetting the scene. If continuity is absent, follow the current storyboard and invent nothing.
25
+ [AUDIO POLICY] Follow storyboard_context_json.audio_policy.mode. native may generate verbatim dialogue, voiceover, ambience, and action sound in their matching time segments. post-dub generates only ambience and action sound; dialogue and voiceover guide performance and timing but must not create duplicate finished speech. silent generates no native audio. auto describes only story-essential sound intent and does not force a full mix. On-screen dialogue uses natural lip movement by the visible speaker. Off-screen dialogue must not make another visible character speak. A voice-over or inner monologue uses no speaking lip movement; the mouth remains natural for breathing and the current expression. Every ambience item carries an allowed evidence.source and concrete evidence.detail; every action sound uses evidence_event_key to match a visible_event_keys item jointly declared by plan and storyboard. Never add footsteps without walking or energy sound without visible energy.
26
+ 5. Anti-grid is the highest composition constraint: the first sentence of the prompt must copy the fixed statement verbatim, and after the exit-frame line required by rule 8 the prompt must end with the same statement repeated verbatim, word for word including punctuation: "The final video must be one single continuous cinematic frame filling the entire screen; no grid, split screen, panels, collage, dividing lines, panel numbers, or any multi-image composition." Immediately after the opening statement, copy verbatim: "The source video must contain no generated subtitles, captions, titles, labels, logos, watermarks, UI text, or any other readable text; all approved text must be added only in post-production." Storyboard paper, white margins, frames, grids, timecodes, text, numbering, arrows, and production notes are guidance only and must not appear in the finished video. When the reference manifest contains a multi-panel storyboard sheet (panel_grid_size > 1 with a board-* asset), immediately after the opening statement you must also copy verbatim, word for word including punctuation: "The panels in the reference storyboard indicate only the chronological order of actions and narrative keyframes; never render panel borders, dividing lines, numbers, or side-by-side multiple panels in the final video".
27
+ 6. Duration must satisfy the selected Provider constraint: {duration_constraints}. Never round up or use an undeclared duration option; describe visual action and camera progression in clear time segments.
28
+ 7. Avoid repeated quality buzzwords. Keep only details that support narrative and visual continuity.
29
+ 8. The prompt must end with `Transition out [transition type]` followed by one line describing the current shot's exit frame. Motivate the transition with the current impact, occlusion, fast movement, light, matched action, time change, or scene ending. Describe only how the current clip ends; do not generate the next shot's story action.
30
+ 9. Compile the composition contract across the storyboard-sheet timeline. When the structured storyboard or the gridCells' video prompts contain composition_contract (or photographyPlan.composition / visual_plan.composition), it is the confirmed contract for this shot: if only the thin plan-time visual_plan.composition exists (primary/secondary/reason/evidence), do not demand the 11 geometry fields — derive missing geometry from the current storyboard and source text, falling back to legacy handling where it cannot be derived, and never invent field values; the primary/secondary composition codes and pattern names are indexes only — never write them into the final prompt, and never fall back on bare abstractions such as "cinematic", "oppressive", or "lonely". Deliver the contract geometry along cellIndex — the establishment beat (first frame) states the read_order first-glance landing, subject_placement, eyeline_room, depth_layers, and light_and_color_geometry key-light direction; action beats follow action_vector for approach/recede, entry/exit edges, and occlusion yielding, arranged as full anticipation—contact—result—reaction causality with the contact point and force result each in a clear time segment; the resolution beat lands on tail_state's briefly stable pose (position, facing, residual tension), a static contract states locked-off camera explicitly, and unrequested push-in, orbit, or drift is forbidden; when the sheet contains cuts, keep screen direction, entry/exit edges, and axis consistent on both sides, and any axis crossing needs composition-contract or cinemaKnowledge support plus a readable transition; previous-tail continuity inherits the previous exit state directly. Vertical 9:16: stage relationships through front/back depth, over-shoulder, or vertical placement rather than squeezing side by side; keep key faces, evidence props, and contact points in the upper-middle safe area with both eyes readable; split crowd scenes across beats/time segments into crowd establishment, protagonist action, and reaction/result rather than lining up many figures horizontally. The evidence gate is OR: the set_dressing, weather_atmosphere, and action_blocking levels in evidence must be either explicitly described in the source text or present in the selected scene/prop assets — either one suffices; the action_blocking level may additionally be supported by confirmed blocking facts, which cannot replace the source-text or asset evidence required for weather/set dressing (each component holds when compound evidence is joined with +). When any is unsupported, stop compiling and produce no prompt (empty prompt string), name the missing evidence in errors, and return the shot as unresolved to revise-drama-storyboards for evidence or a pattern change. Never let the model self-add rain, snow, fog, neon, mirrors, smoke, doors/windows/columns, weapons, crowds, or extra people. Give each ai_risks risk a visible safeguard (occlusion under one third with eyes complete, clean negative space, clear contact point, 10% margin at motion edges, cross-shot direction consistency). This rule's content goes in the body between the fixed opening and closing statements required by rule 5; never move or rewrite those fixed statements; storyboard paper, frames, arrows, and numbering remain planning-only references; add no slots and do not change asset referencing.
31
+ 10. Compile natural motion as a per-subject timeline contract. Give every visible person one primary action, attention target, reaction trigger, and uninvolved state. Unless synchronization is story-required, offset people by onset, amplitude, gaze, and reaction latency; never make a group turn, nod, blink, or step together. When readable, keep still people alive with irregular unsynchronized blinks, eye saccades or refocusing, breathing, small weight adjustments, and continuous expression transitions, without mechanical loops or distracting background business. Ground body motion in planted support, center-of-mass transfer, hip/shoulder lead, joint path, acceleration, deceleration, follow-through, and recovery. Hair, hems, loose sleeves, accessories, and props respond only to established wind, acceleration, gravity, or contact with smaller delayed motion and damped settling; forbid windless flutter, whole-body phase locking, and instant stops. Let the environment respond locally only to evidenced forces. Keep one narrative primary action and a few causal secondary motions; split ambiguous or overloaded choreography, and never let a locked-off camera drift.
32
+ 11. Every character reference carries profile-matched `performance_constraints`; use a habit only when its recorded trigger occurs and always obey `forbidden_performance`. Render psychology as observable beats: stimulus/information → attention and gaze shift → social mask → brief leak → decision/action → residue, without inventing unsupported inner facts. Name the gaze target, screen direction, hold/glance/avert/return behavior, and eye-versus-head lead; give listeners independent reactions and forbid lens gaze outside explicit POV/direct address. In close shots, use only one or two facial regions with a low-amplitude onset—apex—release in brows, eyes, nostrils, lip corners, or jaw. Never submit AU codes, use emotion labels as actions, stack the whole face, or hold a micro-expression; use head, breath, posture, pause, distance, and blocking at wider scales.
33
+
34
+ [STRUCTURED STORYBOARD CONTEXT]
35
+ {storyboard_context_json}
36
+
37
+ [SELECTED REFERENCE MANIFEST]
38
+ {reference_manifest_json}
39
+
40
+ Copy reference_manifest_json, storyboard_context_json.continuity, and storyboard_context_json.audio_policy unchanged into references, continuity, and audio_policy. Return strict JSON only, without Markdown:
41
+ {
42
+ "prompt_profile": "generic",
43
+ "input_mode": "derive only from Provider capabilities and supplied references",
44
+ "prompt": "complete compiled video prompt, or an empty string when errors is non-empty",
45
+ "duration": 5,
46
+ "references": [],
47
+ "continuity": {},
48
+ "audio_policy": {},
49
+ "errors": []
50
+ }
@@ -0,0 +1,50 @@
1
+ # Codex 执行合同:panel_storyboard_video
2
+
3
+ 本文件由所属 Skill 读取,用于约束 Codex 的输入、判断与输出;不是发送给外部文本模型的 system prompt。花括号字段是从当前项目已选资产组装的具名输入槽。
4
+
5
+ 执行职责:电影叙事视频提示词编辑。输入是一个故事版单元的故事版工作稿与结构化信息,包含 {panel_grid_size} 个按 {grid_layout} 排列、依时间推进的关键帧。这个单元可以对应一个连续镜头,也可以包含多个有剪辑依据的成片镜头。
6
+
7
+ 【任务】
8
+ 以结构化信息中 preImageGridPrompt.gridCells[].videoPrompt 为叙事骨架,按 cellIndex 升序整理成一条可直接用于视频生成的完整剪辑提示词。
9
+
10
+ 基础提示词:
11
+ {base_prompt}
12
+
13
+ 镜头信息:
14
+ - 景别:{shot_type}
15
+ - 运镜:{camera_move}
16
+ - 项目视觉风格:{style}
17
+ - 风格执行:把以上已选画风合同作为媒介唯一事实源,保持 medium、rendering_method、surface_language、image_formation 与 forbidden_substitutions,不得被参考板版式或模型默认审美替换。
18
+
19
+ 【严格规则】
20
+ 1. 必须保留每格的时间段、动作、事件顺序和因果关系;不得新增、删除、交换或改写剧情事件。
21
+ 2. 台词必须逐字保留原文,嵌入对应时间段;不得改写、概括、补写或调整台词顺序。没有台词时不要虚构。
22
+ 3. 可以优化镜头语言但不能改变剧情:识别故事版中景别、视角、场景或叙事重心变化的关键节点,明确写出必要的切镜、转镜、转场和特写;没有切镜依据的段落保持连续运镜。每次真正切镜必须标明时间点,并写成【镜头切换:原景别→目标景别;转场方式】;连续运镜不得误标为切镜。不得强制全程一镜到底,也不要机械地逐格切镜。
23
+ 4. 保持角色身份、外貌、服装、场景、道具、光源方向、运动轴线和项目视觉风格连续。角色操作手机、终端或其他带功能面的道具时,功能面默认朝向操作者,镜头通常看到背面或侧面;只有主观镜头、屏幕特写、证据展示、交接或共同观看等明确叙事需要才让功能面朝向镜头。
24
+ 【连续性】按 storyboard_context_json.continuity 执行:mode 为 independent 时,只根据已有信息简洁交代时间、地点、空间关系、关键光线和道具;为 previous-tail 时,从前镜尾部状态直接继续,继承人物位置、姿态、动作方向、道具持有、光向和轴线,不重新建立或重置场景。字段缺失时沿用当前分镜,不得猜测。
25
+ 【声音策略】按 storyboard_context_json.audio_policy.mode 执行:native 可在对应时间段生成原文对白、旁白、环境声和动作声;post-dub 只生成环境声与动作声,对白和旁白仅指导表演及节奏,不得生成重复成品人声;silent 不生成原生声音;auto 只描述剧情必要的声音意图,不强制完整混音。画内对白由可见说话者做自然口型;画外对白不得让其他可见角色代说;旁白或内心独白不做说话口型,嘴部保持自然呼吸和当前表情。每项环境底必须带受控 evidence.source 与具体 evidence.detail;每项动作声必须用 evidence_event_key 精确命中计划和分镜共同声明的 visible_event_keys,禁止无走动生成脚步、无可见能量生成能量声。
26
+ 5. 反宫格是最高构图约束:prompt 的首句必须原样写入固定声明,写完第 8 条结束画面后再另起一句原样重复该声明(一字不改,标点也不改):「成片必须是单一连续的电影画面并铺满整个屏幕,严禁宫格、分屏、分框、拼贴、分割线、分镜编号或任何多画面构图」。紧接首句还必须原样写入:「源视频画面不得生成任何字幕、标题、标签、Logo、水印、UI文字或其他可读文字,所有获批文字只允许由后期图形层添加」。故事版纸张、白底、画框、宫格、时间码、文字、编号、箭头和导演批注只用于理解,不得出现在成片。当引用清单含多格分镜板(panel_grid_size>1 且引用 board-* 资产)时,紧接首句声明之后还必须原样写入(一字不改,标点也不改):「参考分镜板中的画格只表示动作的时间顺序与叙事关键帧,禁止把画格边框、分割线、编号或多格并排构图拍进成片」。
27
+ 6. 时长必须满足当前 Provider 的约束:{duration_constraints}。不得擅自向上取整或使用未声明档位;用清晰时间段描述画面、动作和镜头推进。
28
+ 7. 不要堆砌重复画质词;只保留与镜头叙事和视觉连续性有关的信息。
29
+ 8. prompt 最后必须是“镜尾转场【转场类型】”及一行当前镜头的结束画面;转场类型必须由当时的命中、遮挡、快速运动、强光、匹配动作、时间变化或段落结束提供依据。只描述当前素材如何结束,不得生成下一镜剧情。
30
+ 9. 构图契约必须沿故事版节拍时间化编译。结构化故事版或 gridCells 的视频提示中若出现 composition_contract(或 photographyPlan.composition、visual_plan.composition),它是本镜已确认构图合同:若仅有 plan 期瘦合同 visual_plan.composition(只含 primary/secondary/reason/evidence),不要求 11 个几何字段齐全,缺失几何从当前分镜与原文推断、推断不出按旧分镜回退,不编造字段值;primary/secondary 的构图 code 与构图模式名仅作索引,禁止写进最终 prompt,也禁止只交「电影感」「压迫」「孤独」等抽象词;必须把合同几何沿 cellIndex 兑现——建立节拍(首帧)写清 read_order 第一眼落点、subject_placement、eyeline_room、depth_layers 与 light_and_color_geometry 的主光方向;动作节拍沿 action_vector 写逼近/远离、入画/出画边、遮挡让出,并按蓄力—接触—结果—反应排成全因果,接触点与受力结果各有清晰时间段;收束节拍落到 tail_state 的短暂稳定姿态(位置、朝向、剩余张力),静止合同显式写固定机位,禁止未要求的缓推、环绕或漂浮;板内有切镜时,切点两侧屏幕方向、出入画边与轴线一致,越轴必须有构图合同或 cinemaKnowledge 依据并给可读过渡;continuity 为 previous-tail 时直接继承前镜尾部。竖屏 9:16:关系镜用前后纵深、越肩或上下站位而非硬挤左右;关键脸、证据道具、接触点放在画面中上安全区且双眼完整可读;群戏按节拍/时间段拆成群体建立、主角动作、反应/结果,不横向平铺多人。证据门为 OR:evidence 中 set_dressing、weather_atmosphere、action_blocking 等级必须在原文明确描述或已选场景/道具资产中存在,二者任一即可;action_blocking 等级还可由已确认动作事实支撑,已确认动作事实不能替代天气/陈设所需的原文或资产证据(复合证据以 + 连接时逐组件成立)。任一不满足时停止编译、不产出 prompt(prompt 为空字符串),在 errors 中具名所缺证据,把该镜作为 unresolved 退回 revise-drama-storyboards 补证据或更换构图模式;禁止让模型自补雨、雪、雾、霓虹、镜面、烟尘、门窗廊柱、武器、群体或多余人物。ai_risks 逐风险给可见防控(遮挡不超过三分之一且双眼完整、留白区纯净、接触点清晰、动势边缘留 10%、跨镜方向一致)。本条内容写入第 5 条首句声明与末句声明之间的正文,不得移动或改写固定声明,故事版纸张、分框、箭头、编号等仍只作规划参考,不新增槽位或改变素材引用方式。
31
+ 10. 把自然运动编译为逐主体时间合同:每个可见人物有一个主要动作、注意对象、反应触发和未参与状态;除剧情明确要求同步外,用不同起始时刻、幅度、视线和反应延迟错开多人,禁止集体同时转头、点头、眨眼或起步。景别可读时,静止人物保留不规则且不同步的眨眼、眼动/重新对焦、呼吸、轻微重心调整和连续表情过渡,但不机械循环或抢戏。身体动作遵循支撑脚、重心、髋肩、关节路径、加减速、惯性跟随与恢复;头发、衣摆、宽松袖口、饰物和道具只受已有风、加速、重力或接触驱动,以延迟的小幅运动跟随并衰减停稳,禁止无风自飘、全身同相摆动或瞬停。环境只对有证据的力作局部响应。每镜只保留一个叙事主动作与少量因果次级运动;归属不清或指令过载时拆镜,固定机位不得漂移。
32
+ 11. 每个角色引用必须携带与档案一致的 `performance_constraints`,长期习惯只在档案触发条件出现时执行,`forbidden_performance` 始终生效。心理戏按“刺激/信息 → 注意和眼神转移 → 表情面具 → 短暂泄露 → 决定/动作 → 残留”写成可见节拍,不编造无证据内心。眼神必须具名注视对象、画面方向、持续/扫视/回避/返回及眼睛与头部启动顺序;听者有独立反应,非主观镜头或直视观众不得看镜头。近景/特写的微表情一次只用一至两个面部区域,以眉眼、鼻翼、唇角或下颌的低幅起势—峰值—释放表达,不提交 AU 编码、不用情绪标签冒充动作、不整脸堆叠或长时间定格;中远景改用头部、呼吸、姿态、停顿、距离和走位。
33
+
34
+ 【结构化故事版信息】
35
+ {storyboard_context_json}
36
+
37
+ 【已选参考素材清单】
38
+ {reference_manifest_json}
39
+
40
+ 输出中的 references、continuity、audio_policy 必须分别原样复制 reference_manifest_json、storyboard_context_json.continuity 和 storyboard_context_json.audio_policy。仅输出严格 JSON,不要 Markdown:
41
+ {
42
+ "prompt_profile": "generic",
43
+ "input_mode": "由 Provider 能力和参考素材确定",
44
+ "prompt": "整理后的完整视频提示词;有 errors 时为空字符串",
45
+ "duration": 5,
46
+ "references": [],
47
+ "continuity": {},
48
+ "audio_policy": {},
49
+ "errors": []
50
+ }
@@ -0,0 +1,48 @@
1
+ # Codex execution contract: seedance2_video
2
+
3
+ The owning Skill reads this file to constrain Codex inputs, decisions, and output. It is not a system prompt sent to an external text model. Braced fields are named input slots assembled from selected local project assets.
4
+
5
+ You compile approved short-drama shots into Seedance 2.0 prompts. Compile facts only: do not alter the story or submit a generation task. The final model prompt must be natural Chinese.
6
+
7
+ [BASE STORY]
8
+ {base_prompt}
9
+
10
+ [STRUCTURED STORYBOARD]
11
+ {storyboard_context_json}
12
+
13
+ [SELECTED REFERENCE MANIFEST]
14
+ {reference_manifest_json}
15
+
16
+ [SHOT CONSTRAINTS]
17
+ - Layout: {grid_layout}; panel count: {panel_grid_size}
18
+ - Shot size: {shot_type}; camera intent: {camera_move}
19
+ - Style: {style}
20
+ - Style execution: the text above is the selected art-style contract. Preserve its medium, rendering_method, surface_language, image_formation, and forbidden_substitutions. “Cinematic,” reference imagery, and model defaults must never substitute live action, 2D, 3D, or concept art for the selected medium.
21
+ - Live Provider duration constraints: {duration_constraints}
22
+
23
+ Strict rules:
24
+ 1. input_mode is always `full-reference`. Simultaneously cite character images, a temporal storyboard, a shot board, and an audio reference. Cite one Blender previz only when the production plan enables it. An asset board is optional. When a reference required by this shot's plan is missing, report errors instead of silently omitting it.
25
+ 2. Write prompt as coherent, concrete, natural Chinese. Cite assets in submission-array order as `@图片1`, `@视频1`, and `@音频1`, exactly matching reference_manifest_json. Do not mention unused or absent assets. Preserve `person_reference: true|false` on every image/video reference according to the supplied material; audio must omit it. Never infer it from the role.
26
+ 3. Allow at most 12 assets: 9 images, 3 videos totaling 2–15 seconds, and 3 audio files totaling at most 15 seconds. If a reference contains a real person's face, a limit is exceeded, duration is missing, or roles conflict, leave prompt empty and report errors.
27
+ 4. Target duration must satisfy both 4–15 seconds and the live Provider constraint. Cover opening state, development, peak, reaction/resolution, and exit frame. For 13–15 second clips, use `[0–Ns]` timed segments that start at zero, meet without gaps or overlaps, and cover the full duration. Default to one continuous shot per storyboard unit; cut only when the director contract explicitly requires it.
28
+ 5. State action subject, direction, speed, amplitude, target, and visible result; make the finished state clearly true and briefly stable before the exit frame. For prop use or contact, specify the subject, prop, and target states before contact, at contact, and after contact, plus any adjacent object that must stay attached or still; prevent mimed hand motion with an unresponsive object. In group shots lock exact headcount, left-to-right order, facing, and ownership of every participating hand; split interaction that cannot remain attributable. Without a motion reference that constrains the trajectory, translate complex fight-move names into body positions, anticipation, contact, force result, and reaction; preserve an exact named move only when a credible reference supports it. Never let a completed short action reverse, rebound, or grow unrelated filler to occupy the remaining duration; extend it only with same-direction follow-through beats. State camera start, path, speed change, and end. Preserve identity, costume, location, props, light direction, screen direction, and neighboring-shot continuity.
29
+ 6. Preserve dialogue, narration, and visible text verbatim. audio_policy uses three orthogonal contracts: delivery_mode is native/post_dub/external_audio; presentation is visible-dialogue/offscreen-dialogue/narration; fallback_mode is none/post-dub/cinematic-tts/sound-design. State each line's own BCP 47 `[language]` beside its verbatim text; never replace mixed-language dialogue with the project default. At exact times, native lines generate the exact words in the named speaker's voice. Give off-screen dialogue a direction, distance, and room reflection and never make a visible character speak. Give narration an independent close-mic field, keep every visible mouth naturally closed, and compile tone arc, every emotion beat, pace, breath and pause, and distance and space. post_dub/external_audio lines guide performance, lip action, and timing but generate no finished speech. Ambience states source, distance, reflection, start/end continuity, and cross-shot carry, with allowed `evidence.source` and concrete `evidence.detail` on every ambience item. Action sound is tied only to a visible contact or motion; every action_sounds `evidence_event_key` exactly matches a visible_event_keys item jointly declared by the plan and storyboard, then states attack, transient, decay, and stop. Never spread one generic effect across the whole shot. Duck ambience naturally under speech without erasing it. Every mode says no undeclared BGM; licensed score is independent. Report an error instead of compressing text or accepting a missing language or other contract field.
30
+ 7. End only on the current shot's transition_out trigger and exit frame; never generate the next shot. In-frame screens and signs may show only source-backed or approved graphics; otherwise keep them off, blank, or unreadable and never invent text or UI. Leave plot-critical exact interfaces to the post-production graphics layer. Anti-grid is the highest composition constraint: both the first and the last sentence of the Chinese prompt must copy this fixed statement verbatim, character for character including punctuation: 「成片必须是单一连续的电影画面并铺满整个屏幕,严禁宫格、分屏、分框、拼贴、分割线、分镜编号或任何多画面构图」. Immediately after the opening statement, copy this sentence verbatim: 「源视频画面不得生成任何字幕、标题、标签、Logo、水印、UI文字或其他可读文字,所有获批文字只允许由后期图形层添加」. The body must still never contain grids, storyboard paper, panels, arrows, numbering, notes, subtitles, watermarks, logos, or UI. When the reference manifest contains a multi-panel storyboard sheet (panel_grid_size > 1 with a board-* asset), the Chinese prompt must also copy this sentence verbatim immediately after the opening statement, character for character including punctuation: 「参考分镜板中的画格只表示动作的时间顺序与叙事关键帧,禁止把画格边框、分割线、编号或多格并排构图拍进成片」.
31
+ 8. Do not stack quality buzzwords, return variants, or use H3 English sections or `<Subject N>` labels.
32
+ 9. Compile the composition contract onto the timeline. When the structured storyboard (storyboard_context_json) contains composition_contract (or photographyPlan.composition / visual_plan.composition), it is the confirmed contract for this shot: if only the thin plan-time visual_plan.composition exists (primary/secondary/reason/evidence), do not demand the 11 geometry fields — derive missing geometry from the current storyboard and source text, falling back to legacy handling where it cannot be derived, and never invent field values; primary/secondary codes and pattern names are indexes only — never write them into the submitted Chinese prompt, and never fall back on bare abstractions such as "cinematic", "oppressive", or "lonely". The contract geometry must be written into the timeline segment by segment: (1) First frame — the read_order first-glance landing, subject_placement (left/right, depth layer, camera height), eyeline_room gaze and negative-space direction, depth_layers contents and blur, and light_and_color_geometry key-light direction with its in-world source; (2) During motion — state how the subject moves between depth layers, when occlusion appears and yields the subject, gaze changes, and the action_vector screen direction, entry/exit edge, and approach/recede; for action write the full geography of anticipation—contact—result—reaction, with a clear contact point and force response; (3) Tail — reach the final pose from tail_state before the exit frame and hold it briefly stable (position, facing, residual tension); a static contract states locked-off camera explicitly, forbidding unrequested push-in, orbit, or drift; (4) Handoff — entry/exit edges, screen direction, and axis match neighboring shots, and previous-tail continuity inherits the previous exit state directly without re-establishing. Vertical 9:16: stage relationships through front/back depth, over-shoulder, or vertical placement rather than squeezing side by side; keep key faces, evidence props, and contact points in the upper-middle safe area with both eyes readable; split crowd scenes on the timeline into crowd establishment, protagonist action, and reaction/result passages instead of lining up many figures horizontally. The evidence gate is OR: the set_dressing, weather_atmosphere, and action_blocking levels in evidence must be either explicitly described in the source text or present in the selected scene/prop assets — either one suffices; the action_blocking level may additionally be supported by confirmed blocking facts, which cannot replace the source-text or asset evidence required for weather/set dressing (each component holds when compound evidence is joined with +). If any is unsupported, produce no prompt (empty prompt string), name the missing evidence in errors, and return the shot to the storyboard stage for evidence or a pattern change. Never let the model self-add rain, snow, fog, neon, mirrors, smoke, doors/windows/columns, weapons, crowds, or extra people. Every ai_risks code needs a visible safeguard (occlusion under one third with eyes complete, clean negative space, clear contact point, 10% margin at motion edges, cross-shot direction consistency). This rule's content goes in the body after the fixed opening statement required by rule 7 and before its fixed closing statement; never move, rewrite, or substitute those fixed statements, add no slots or asset labels, and do not change citation syntax.
33
+ 10. When continuity.mode is previous-tail, put the prepared other-transition-* asset in the first image slot with role first_frame as a continuity anchor, but keep `full-reference` and all mandatory references. Continue the prior tail state exactly: preserve character position, posture, movement direction, held props, key-light direction, and axis. Do not re-establish the scene or reset the action to anticipation.
34
+ 11. Every char-* reference must carry `identity_binding` and `identity_constraints`. The binding is only for profile-version and `appearance_id` validation and must not appear on screen. Copy `grooming_and_makeup`, `costume_signature`, and every `memory_anchors` item verbatim into the character description and keep them aligned with continuity.visual_identity. Never invent, drop, or rewrite an anchor; report errors on conflict.
35
+ 12. Natural motion is a per-subject timeline contract, not the phrase “move naturally.” Give each visible person one current primary action, attention target, reaction trigger, and an explicit state while uninvolved. Unless the story requires marching, ritual unison, or a shared shock, offset people by onset, amplitude, gaze, and reaction latency; never make everyone turn, nod, blink, step, or gesture in synchrony. A still person remains alive rather than frozen: when readable at the shot size, use irregular unsynchronized blinks, brief eye saccades or refocusing, breathing through the chest and shoulders, a small weight adjustment, and continuous expression transitions, without making these a mechanical loop or attention-stealing background business. Describe body motion through planted support, center-of-mass transfer, hip/shoulder lead, joint path, acceleration, deceleration, follow-through, and recovery; a hand that contacts a prop keeps the correct grip and load afterward. Hair, hems, loose sleeves, accessories, and props respond only to established wind, character acceleration, gravity, or contact, with smaller delayed motion and damped settling—never autonomous windless flutter, whole-body phase locking, or an instant stop. The environment responds locally only to evidenced forces, such as a faint dust response after a footfall, cushion compression after sitting, or a brief draft after a door opens; do not invent weather, effects, or events merely to add motion. Keep one narrative primary action plus only a few causally motivated secondary motions; split the shot when instruction load, multi-person precision, or independent contacts would become ambiguous. The camera follows one motivated curve with a start, speed development, and end; a locked-off shot never drifts.
36
+ 13. Every char-* reference also carries `performance_constraints` that match the character profile field for field: `center_of_gravity`, `gait`, `habitual_actions`, `eyeline_behavior`, `blink_rhythm`, `stress_response`, and `forbidden_performance`. Use a persistent habit only when its recorded trigger occurs in this shot; never repeat it mechanically in every shot, while `forbidden_performance` always applies. Translate psychological acting into an observable sequence: stimulus or information arrival → attention and gaze shift → attempted social mask → brief leak → decision or action → residual exit expression. Never invent an inner state unsupported by the source, storyboard, or profile. For eye acting state the gaze target, screen direction, hold/glance/avert/return behavior, and whether the eyes or head initiate the shift. Never look into the lens unless the shot is explicit POV or direct address; an off-screen target must obey the spatial ledger, and a listener has independent attention and reaction. Use micro-expression only where a close shot can read it: prefer one or two facial regions, describe a low-amplitude onset—apex—release in visible brow, eyelid, eye-corner, nostril, lip-corner, lower-lip, or jaw behavior, and never submit AU codes, emotion labels as actions, a whole-face stack, or a long-held micro-expression. In a medium shot carry psychology through gaze, head, breath, and jaw; in a wide shot use posture, pause, distance, and blocking. In dialogue direct both speaker and listener, and place every expression change after a specific word, pause, sound, or visible event.
37
+
38
+ Copy reference_manifest_json, storyboard_context_json.continuity, and storyboard_context_json.audio_policy unchanged into references, continuity, and audio_policy. Return strict JSON only, with no Markdown or extra keys:
39
+ {
40
+ "prompt_profile": "seedance2",
41
+ "input_mode": "full-reference",
42
+ "prompt": "submission-ready Chinese prompt, or an empty string when errors is non-empty",
43
+ "duration": 5,
44
+ "references": [],
45
+ "continuity": {},
46
+ "audio_policy": {},
47
+ "errors": []
48
+ }
@@ -0,0 +1,46 @@
1
+ # Codex 执行合同:seedance2_video
2
+
3
+ 本文件由所属 Skill 读取,用于约束 Codex 的输入、判断与输出;不是发送给外部文本模型的 system prompt。花括号字段是从当前项目已选资产组装的具名输入槽。
4
+
5
+ 执行职责: Seedance 2.0 短剧逐镜提示词编译器。你只把已确认的分镜事实编译成模型可执行的中文提示词,不改剧情、不提交生成任务。
6
+
7
+ 【基础剧情】
8
+ {base_prompt}
9
+
10
+ 【结构化分镜】
11
+ {storyboard_context_json}
12
+
13
+ 【已选参考素材清单】
14
+ {reference_manifest_json}
15
+
16
+ 【镜头约束】
17
+ - 布局:{grid_layout};格数:{panel_grid_size}
18
+ - 景别:{shot_type};运镜:{camera_move}
19
+ - 风格:{style}
20
+ - 风格执行:以上内容是已选画风合同,视频必须继承其 medium、rendering_method、surface_language、image_formation 与 forbidden_substitutions;“电影感”、参考图或模型默认审美不得把媒介偷换成真人、二维、三维或概念原画中的另一种。
21
+ - Provider 实时时长约束:{duration_constraints}
22
+
23
+ 严格规则:
24
+ 2. prompt 必须是连贯、自然、具体的中文。引用按提交数组顺序写作 `@图片1`、`@视频1`、`@音频1`,编号、类型和用途必须与 reference_manifest_json 一致;未实际使用的素材不写标签,无素材不造标签。每个图片/视频引用必须按素材实际内容保留 `person_reference: true|false`,音频不得包含该字段;不得按 role 猜测。
25
+ 3. 素材总数≤12:图片≤9,视频≤3且总时长2–15秒,音频≤3且总时长≤15秒。发现真实人物脸部参考、超量、缺时长或用途冲突时,不生成 prompt,把问题写入 errors。
26
+ 4. 目标时长必须在4–15秒及 Provider 实时约束内。用完整时间轴覆盖起始状态、动作发展、峰值、反应/收束和镜尾;13–15秒必须使用 `[0–Ns]` 格式分段,所有时间段从 0 开始、首尾相接并覆盖完整时长。默认一个分镜单元生成一个连续镜头,只有导演本明确要求内部切镜时才写切点。
27
+ 5. 动作写出主体、方向、速度、幅度、作用对象和可见结果,结果必须在镜尾前清晰成立并短暂稳定;涉及道具或接触时,分别写清接触前、接触点和接触后主体、道具、目标的状态,以及必须保持连接或静止的邻接物,防止只生成手势而物体不响应。多人镜锁定准确人数、从左到右顺序、朝向及参与动作的手属于谁;无法清楚归属的复杂交互拆镜。复杂打斗缺少能约束运动轨迹的参考时,不用招式名称代替编排,改写为双方身体位置、蓄力、接触点、受力结果和反应;有可信运动参考时才保留精确招式。短动作不得在完成后自动倒放、回弹或用无关动作填满剩余时长;需要延续时拆成同方向的后续节拍。运镜写出起点、路径、速度变化和终点。保持人物身份、服装、场景、道具、光向、运动轴线和前后镜状态连续。
28
+ 6. 对白、旁白和画内文字逐字保留原文。audio_policy 使用三层合同:delivery_mode 只允许 native/post_dub/external_audio,presentation 只允许 visible-dialogue/offscreen-dialogue/narration,fallback_mode 只允许 none/post-dub/cinematic-tts/sound-design。每行必须显式写出自己的 BCP 47 `[language]` 与原文,不得用项目默认语言覆盖多语言对白。native 行按精确时间生成指定说话人的原文;画外对白写明画外方向、距离与空间反射,不得让可见人物代说;旁白使用独立近讲声场,保持所有画内人物自然闭嘴,并逐项写出 tone arc、每个 emotion beat、pace、breath and pause、distance and space。post_dub/external_audio 只用台词指导表演、口型和节奏,不生成成品人声。环境底必须写声源、距离、空间反射、连续起止和跨镜延续,每项 ambience 携带受控 `evidence.source` 与具体 `evidence.detail`;动作声只绑定可见接触或运动,每项 action_sounds 的 `evidence_event_key` 精确命中计划与分镜共同声明的 visible_event_keys,再写清起音、瞬态、余响和停止点,禁止用一条泛化效果覆盖整镜;对白期间环境底自然压低但不消失。明确禁止未声明 BGM,授权配乐由独立流程负责。缺少语言、声音放不下或合同缺项时返回 errors,不压缩或改写台词。
29
+ 7. 末尾只形成当前镜 transition_out 所需的触发与结束画面,不生成下一镜剧情。画内屏幕或招牌内容只能来自原文或已批准图形合同;无证据时保持关闭、空白或不可辨读,不生成随机文字和 UI。剧情依赖的精确界面留给后期图形层。反宫格是最高构图约束:prompt 的首句和末句都必须原样写入以下固定声明(一字不改,标点也不改):「成片必须是单一连续的电影画面并铺满整个屏幕,严禁宫格、分屏、分框、拼贴、分割线、分镜编号或任何多画面构图」;紧接首句还必须原样写入:「源视频画面不得生成任何字幕、标题、标签、Logo、水印、UI文字或其他可读文字,所有获批文字只允许由后期图形层添加」。正文任何位置仍不得出现宫格、故事板纸张、分框、箭头、编号、批注、字幕、水印、Logo 或 UI。当引用清单含多格分镜板(panel_grid_size>1 且引用 board-* 资产)时,紧接首句声明之后还必须原样写入(一字不改,标点也不改):「参考分镜板中的画格只表示动作的时间顺序与叙事关键帧,禁止把画格边框、分割线、编号或多格并排构图拍进成片」。
30
+ 8. 不堆砌画质词,不输出多个候选版本,不使用英文 H3 字段或 `<Subject N>` 标签。
31
+ 9. 构图契约必须编译进时间轴。结构化分镜 storyboard_context_json 中若出现 composition_contract(或 photographyPlan.composition、visual_plan.composition),它是本镜已确认构图合同:若仅有 plan 期瘦合同 visual_plan.composition(只含 primary/secondary/reason/evidence),不要求 11 个几何字段齐全,缺失几何从当前分镜与原文推断、推断不出按旧分镜回退,不编造字段值;primary/secondary 的 code 与构图模式名仅作索引,禁止写进提交给模型的中文 prompt,也禁止只交「电影感」「压迫」「孤独」等抽象形容词,必须把合同几何逐段写入时间轴:① 首帧——read_order 的第一眼落点、subject_placement 的画面左右/前后景/机位高度、eyeline_room 的视线与留白方向、depth_layers 前中后景内容与虚实、light_and_color_geometry 的主光方向与剧内来源;② 运动中——写清主体在层次间的位移、遮挡何时出现与让出、视线变化,以及 action_vector 的屏幕方向、入画/出画边、逼近或远离;动作镜按蓄力—接触—结果—反应写全地理、接触点与受力反应;③ 镜尾——按 tail_state 在结束画面之前到达终结姿态并短暂稳定(位置、朝向、剩余张力),静止合同显式写固定机位(locked-off),禁止未要求的缓推、环绕、漂浮;④ 承接——出入画边、屏幕方向与轴线和相邻镜一致,continuity 为 previous-tail 时逐项精确继承前镜尾部的人物位置、姿态、运动方向、持物状态、主光方向与轴线,不得重新建立场景或把动作重置为起势。竖屏 9:16:关系镜用前后纵深、越肩或上下站位而非硬挤左右;关键脸、证据道具、接触点放在画面中上安全区且双眼完整可读;群体戏在时间轴拆为群体建立、主角动作、反应/结果等段落,不横向平铺多人。证据门为 OR:evidence 中的 set_dressing、weather_atmosphere、action_blocking 等级必须在原文明确描述或已选场景/道具资产中存在,二者任一即可;action_blocking 等级还可由已确认动作事实支撑,已确认动作事实不能替代天气/陈设所需的原文或资产证据(复合证据以 + 连接时逐组件成立)。任一不满足时不生成 prompt(prompt 置空字符串),在 errors 写明所缺证据并退回分镜阶段补证据或更换构图,禁止让模型自补雨、雪、雾、霓虹、镜面、烟尘、门窗廊柱、武器、群体或多余人物。ai_risks 每个风险码都要有可见防控(遮挡不超过三分之一且双眼完整、留白区纯净、接触点清晰、动势边缘留 10%、跨镜方向一致)。本条内容写在第 7 条固定首句声明之后、末句固定声明之前的正文里,不得移动、改写或替换固定声明,不新增槽位、素材标签,也不改变引用语法。
32
+ 10. 每个 char-* 引用必须带 `identity_binding` 和 `identity_constraints`。前者只校验人物档案版本与 `appearance_id`,不写入画面;后者的 `grooming_and_makeup`、`costume_signature` 和全部 `memory_anchors` 必须原样进入人物描述,并与 continuity.visual_identity 一致。不得自行新增、删减或改写记忆锚点,冲突时返回 errors。continuity.mode 为 previous-tail 时,把上一镜尾帧作为第一个 image/first_frame 连续性锚点,但仍保持 `full-reference` 并继续携带全部必选参考。
33
+ 11. 自然运动必须写成逐主体时间合同,不能只写“动作自然”。每个可见人物只安排一个当前主要动作、注意对象、反应触发和未参与时的状态;除非剧情明确要求齐步、仪式或共同受惊,多人必须以不同起始时刻、幅度、视线和反应延迟错开,禁止所有人同时转头、点头、眨眼、起步或做相同手势。静止人物也保留景别可读的不规则且不同步眨眼、短促眼动/重新对焦、胸肩呼吸、轻微重心调整和连续表情过渡,但不把微动作写成机械循环,不让背景人物抢戏。身体动作写清支撑脚、重心转移、髋肩带动、关节路径、加减速、惯性跟随与恢复停稳;持物手接触后保持正确抓握和受力。头发、衣摆、宽松袖口、饰物与道具只受已存在的风、角色加速、重力或接触驱动,以略有延迟的较小幅度跟随并逐渐衰减,禁止无风自动飘动、全身同相摆动或瞬间停止。环境只对有证据的作用作局部响应,例如脚步后的轻微尘土、坐下后的坐垫压缩或开门后的短促气流,不得为了增加动态新增天气、特效或剧情。每镜保留一个叙事主动作和少量有因果的次级运动;指令过载、多人精确互动或多个独立接触无法保持归属时拆镜。相机只执行一条有起点、速度变化和终点的动机曲线,固定镜头不得自动漂移。
34
+ 12. 每个 char-* 引用还必须带与人物档案逐字段一致的 `performance_constraints`:`center_of_gravity`、`gait`、`habitual_actions`、`eyeline_behavior`、`blink_rhythm`、`stress_response`、`forbidden_performance`。长期习惯只在本镜出现其档案触发条件时使用,禁止每镜机械复现;`forbidden_performance` 始终生效。心理戏编译为可见时间链“刺激/信息进入 → 注意和眼神转移 → 维持表情面具 → 短暂泄露 → 决定或动作 → 镜尾残留”,无原文、分镜或档案证据时不得编造内心。眼神戏写清注视对象、画面方向、持续注视/快速扫视/回避/返回,以及眼睛与头部谁先启动;非主观镜头或直视观众禁止看镜头,画外对象视线遵守空间账本,听者保持独立注意和反应。微表情仅在近景/特写可读时使用,一次优先一至两个区域,以眉间、眼睑、眼角、鼻翼、唇角、下唇或下颌的轻微起势—峰值—释放表达,禁止用心理标签代替动作、提交 AU 编码、整脸堆叠或长时间定格。中景用眼神、头部、呼吸和下颌,远景用姿态、停顿、距离和走位表现心理;对白镜同时写说话者与听者,并让表情变化发生在具体词、停顿、声音或可见事件之后。
35
+
36
+ 输出中的 references、continuity、audio_policy 必须分别原样复制 reference_manifest_json、storyboard_context_json.continuity 和 storyboard_context_json.audio_policy。只输出严格 JSON,不要 Markdown 或额外键:
37
+ {
38
+ "prompt_profile": "seedance2",
39
+ "input_mode": "full-reference",
40
+ "prompt": "可直接提交的中文提示词;有 errors 时为空字符串",
41
+ "duration": 5,
42
+ "references": [],
43
+ "continuity": {},
44
+ "audio_policy": {},
45
+ "errors": []
46
+ }
@@ -0,0 +1,7 @@
1
+ # 规划短剧资产
2
+
3
+ 读取已选剧本、导演本、来源分析、简报和 `assets.json`,用本 Skill 的 `../../assets/modules/plan-drama-assets/prompts/asset_analysis.{zh,en}.txt` 生成 `asset-plan.json`。只提取目标集实际出现的资产,区分年龄、服装、真假、损坏前后等连续性版本;人物别名归一,场景按 macro/micro 空间拆分,道具仅保留可移动、不可替代、跨镜持续或承担剧情功能的实体。人物年龄只能引用剧本或已批准档案的明确证据,不能从姓名、职业、关系或外表猜测;未知年龄进入 `unresolved`,不得提前安排人物定妆或正式视频。
4
+
5
+ 将所有 `unresolved` 一次汇总给用户确认。未决项清零后,用 `node "${CODEX_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT:-.}}/scripts/project-store.mjs" put-episode-document <项目> asset-plan <分集 key> <版本> <asset-plan.json>` 校验并保存不可变版本,再用 `select-episode-document` 选定。该写入会校验顶层合同、资产类型、稳定 key、证据、版本、状态和分集一致性。
6
+
7
+ 本 Skill 只建立统一清单,不重复承担下游细化:人物事实和 `audience_appeal` 交给 `generate-character-profiles`;明确成年人物必须规划 `adult-charisma`,儿童必须规划 `child-cuteness`,妆发 `grooming_and_makeup`、服装标识 `costume_signature` 与 `memory_anchors` 由人物档案审批后传给 `generate-character-images`。场景描述交给 `generate-scene-assets`,道具描述交给 `generate-prop-assets`。缺失、歧义、错版或未选版未清零时禁止拆镜。
@@ -0,0 +1,14 @@
1
+ # Codex 原生制作合同
2
+
3
+ 原系统把文本制作规则包装成发给外部 LLM 的 system prompt;本插件不调用文本模型。迁移后采用以下语义:
4
+
5
+ - `skills/short-drama/SKILL.md` 是唯一执行入口;reference 模块说明当前能力的输入、判断顺序、确认点和落盘方式。
6
+ - 标有“Codex 执行合同”的模板是细化合同:其中 `{name}` 是具名输入槽,不是让 Codex 猜测的自然语言变量。Codex 从 Skill 指定的 selected 项目文件组装同名值,缺少值时停止或保留未决,不虚构。
7
+ - 合同中的“角色”描述只是专业职责边界,不建立第二个代理,也不把内容发给外部文本模型。
8
+ - Codex 完成输出后,用 `render-prompt.mjs --template <合同> --vars <输入.json> --codex-output <实际产物> --project-root <项目>` 保存合同快照、变量、解析后的合同和实际产物哈希。
9
+ - `module-map.json` 的 `provider_prompts` 才是直接渲染后提交给图片模型的媒体提示词;它们使用 `--output` 生成本地提示词,再由 `drama-generation-service` 提交。
10
+ - 一个模块有多个合同时,`module-map.json.completion_prompts` 指定能证明最终资产完成的合同;局部细化、修改和推荐合同只作辅助,不能单独通过阶段门禁。
11
+
12
+ 文本合同与媒体提示词都必须留在所属模块,避免一个全局长提示词同时承担分析、剧本、分镜和生成。阶段编排只加载当前 reference,所以 Codex 不需要一次理解全部模板。
13
+
14
+ 声音合同也必须来源可审计:`speech-timing` 固定来源资产版本与 SHA,`dubbing_contract` 固定原文/适配文、目标区间、意图、潜台词、完整情绪弧、重音、停连、呼吸和三轮策略。Provider 请求只能由当前合同编译,禁止调用方手写覆盖 voice 授权、合同版本或 timing 版本;最终审核记录必须绑定实际音频 SHA。
@@ -0,0 +1,12 @@
1
+ # Comfly Provider 合同
2
+
3
+ > 历史合同,仅用于读取旧任务与审计证据。短剧插件当前禁止直连 Comfly;需要 1194/1776 预处理时使用原生 Hypit 的 StarRouter 路线。以下凭据、接口和 Litterbox 步骤不得用于新制作。
4
+
5
+ 插件迁移现项目的 Comfly MiniMax H3 视频适配器,使用 `COMFLY_TOKEN`、可选 `COMFLY_BASE_URL`(默认 `https://vvicat-comfly-prod.vvicat.dev`)和可选非负整数 `COMFLY_APP_ID`。
6
+
7
+ - 模型固定为 `minimax-h3`,`prompt_profile=h3`、`input_mode=Ref2VA`,时长为 5–15 秒整数;不静默钳制或取整。
8
+ - 图片输入为 1–3 张:无自定义尺寸时对应工作流 1518/1519/1520;指定 `720p|1K|2K` 与 `16:9|9:16` 时对应 1540/1541/1542。
9
+ - 视频输入最多 1 段,对应工作流 1521;视频与图片互斥,不支持参考音频。
10
+ - 提交路径为 `/internal/comfly/tasks?model=comfyui&type=<workflow>`,查询路径为 `/internal/comfly/tasks/<task-id>`。
11
+
12
+ Comfly 当前合同只接受可公开读取的 HTTPS 参考地址,不直接读取本地文件。上传参考素材会改变外部状态;可路由 `publish-drama-references` 使用用户确认的 Litterbox 临时公开图,也可使用用户指定的其他存储。必须确认权利、公开风险、用途许可和到期时间后再传 URL;成片输出仍须立即下载到本地资产账本。不得把 `COMFLY_TOKEN` 写入项目、请求快照或 provenance。