@ninkch/dsh-infinite-canvas 0.19.2 → 0.19.3

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 (88) hide show
  1. package/README.md +50 -0
  2. package/README.zh-CN.md +50 -0
  3. package/assets/canvas-director/SKILL.md +235 -0
  4. package/assets/canvas-director/forms/cinematic.md +56 -0
  5. package/assets/canvas-director/forms/commercial.md +63 -0
  6. package/assets/canvas-director/forms/documentary.md +57 -0
  7. package/assets/canvas-director/forms/explainer.md +57 -0
  8. package/assets/canvas-director/forms/interview.md +56 -0
  9. package/assets/canvas-director/forms/music-video.md +62 -0
  10. package/assets/canvas-director/forms/short-drama.md +60 -0
  11. package/assets/canvas-director/forms/trailer.md +58 -0
  12. package/assets/canvas-director/genres/action-mission.md +58 -0
  13. package/assets/canvas-director/genres/adventure.md +78 -0
  14. package/assets/canvas-director/genres/broken-mirror-reunion.md +112 -0
  15. package/assets/canvas-director/genres/counterattack.md +58 -0
  16. package/assets/canvas-director/genres/crime-police.md +78 -0
  17. package/assets/canvas-director/genres/family-relation.md +58 -0
  18. package/assets/canvas-director/genres/fantasy.md +82 -0
  19. package/assets/canvas-director/genres/hk-retro.md +80 -0
  20. package/assets/canvas-director/genres/identity-swap.md +58 -0
  21. package/assets/canvas-director/genres/modern-urban.md +78 -0
  22. package/assets/canvas-director/genres/parent-child-secret.md +113 -0
  23. package/assets/canvas-director/genres/period-power-struggle.md +58 -0
  24. package/assets/canvas-director/genres/rebirth-transmigration.md +58 -0
  25. package/assets/canvas-director/genres/revenge-face-slap.md +58 -0
  26. package/assets/canvas-director/genres/slice-of-life.md +58 -0
  27. package/assets/canvas-director/genres/suspense-rule.md +58 -0
  28. package/assets/canvas-director/genres/system-flow.md +58 -0
  29. package/assets/canvas-director/genres/wealthy-romance.md +58 -0
  30. package/assets/canvas-director/genres/workplace-comedy.md +58 -0
  31. package/assets/canvas-director/genres/wuxia.md +78 -0
  32. package/assets/canvas-director/genres/xianxia-cultivation.md +58 -0
  33. package/assets/canvas-director/industries/auto.md +44 -0
  34. package/assets/canvas-director/industries/education.md +44 -0
  35. package/assets/canvas-director/industries/fashion-beauty.md +45 -0
  36. package/assets/canvas-director/industries/finance.md +44 -0
  37. package/assets/canvas-director/industries/fmcg.md +44 -0
  38. package/assets/canvas-director/industries/food.md +45 -0
  39. package/assets/canvas-director/industries/medical.md +45 -0
  40. package/assets/canvas-director/industries/realestate.md +44 -0
  41. package/assets/canvas-director/industries/tech.md +44 -0
  42. package/assets/canvas-director/industries/travel.md +45 -0
  43. package/assets/canvas-director/lenses/bergman.md +207 -0
  44. package/assets/canvas-director/lenses/bi_gan.md +198 -0
  45. package/assets/canvas-director/lenses/coen_brothers.md +204 -0
  46. package/assets/canvas-director/lenses/fellini.md +207 -0
  47. package/assets/canvas-director/lenses/fincher.md +195 -0
  48. package/assets/canvas-director/lenses/hitchcock.md +203 -0
  49. package/assets/canvas-director/lenses/hou_hsiao_hsien.md +202 -0
  50. package/assets/canvas-director/lenses/kubrick.md +206 -0
  51. package/assets/canvas-director/lenses/kurosawa.md +206 -0
  52. package/assets/canvas-director/lenses/lu_yang.md +200 -0
  53. package/assets/canvas-director/lenses/malick.md +201 -0
  54. package/assets/canvas-director/lenses/michael_mann.md +202 -0
  55. package/assets/canvas-director/lenses/nolan.md +195 -0
  56. package/assets/canvas-director/lenses/park_chan_wook.md +202 -0
  57. package/assets/canvas-director/lenses/refn.md +196 -0
  58. package/assets/canvas-director/lenses/scorsese.md +205 -0
  59. package/assets/canvas-director/lenses/spielberg.md +202 -0
  60. package/assets/canvas-director/lenses/tarkovsky.md +194 -0
  61. package/assets/canvas-director/lenses/tsui_hark.md +201 -0
  62. package/assets/canvas-director/lenses/villeneuve.md +198 -0
  63. package/assets/canvas-director/lenses/wong_kar_wai.md +199 -0
  64. package/assets/canvas-director/lenses/wu_ershan.md +206 -0
  65. package/assets/canvas-director/lenses/yuen_woo_ping.md +200 -0
  66. package/assets/canvas-director/lenses/zhang_yimou.md +202 -0
  67. package/assets/canvas-director/looks/anime-thick-paint.md +81 -0
  68. package/assets/canvas-director/looks/dark-myth-cg.md +83 -0
  69. package/assets/canvas-director/looks/east-epic-3d.md +83 -0
  70. package/assets/canvas-director/looks/ghibli-watercolor.md +82 -0
  71. package/assets/canvas-director/looks/guoman-3d-ink.md +82 -0
  72. package/assets/canvas-director/looks/guoman-3d-xianxia.md +82 -0
  73. package/assets/canvas-director/looks/hk-retro-film.md +81 -0
  74. package/assets/canvas-director/looks/realistic-cinema.md +83 -0
  75. package/assets/canvas-director/looks/shinkai-light.md +82 -0
  76. package/assets/canvas-director/manifest.json +603 -0
  77. package/assets/canvas-director/moves/camera-moves.md +79 -0
  78. package/assets/canvas-director/moves/fight-rhythm.md +77 -0
  79. package/assets/canvas-director/pack.js +342 -0
  80. package/assets/canvas-studio/SKILL.md +34 -3
  81. package/client.js +19577 -18938
  82. package/docs/guide.en.md +66 -1
  83. package/docs/guide.zh-CN.md +64 -1
  84. package/index-core-skill-profile.js +39 -0
  85. package/index.js +127 -3
  86. package/package.json +65 -60
  87. package/skill-pack-loader.js +147 -0
  88. package/skill-pack.js +179 -0
@@ -0,0 +1,202 @@
1
+ ---
2
+ lens_id: spielberg
3
+ title: 史蒂文·斯皮尔伯格
4
+ oneliner: 先拍看见的人,再拍被看见的东西;奇观永远排在一张脸后面。
5
+ description: 用于学习并转化斯皮尔伯格式的商业叙事、情感调度、视觉清晰度和奇观场面设计。请用于原创创作,不要复制其具体镜头、台词、角色或受版权保护的表达。
6
+ ---
7
+ <!-- slice:story shot prompt -->
8
+ ## 一句话镜头 / Lens in one line
9
+
10
+ 先拍看见的人,再拍被看见的东西;奇观永远排在一张脸后面。
11
+
12
+ Shoot the face that sees before the thing that is seen; spectacle always arrives second.
13
+
14
+ <!-- slice:story -->
15
+ ## 适用场景
16
+
17
+ - 强情绪牵引的商业叙事:冒险、灾难、家庭创伤、童年视角、人道主义题材。
18
+ - 需要观众在开场 30 秒内认同主角的短片、预告片情绪段、品牌与公益片。
19
+ - 需要"大事件 + 小人物"结构,并且观众必须始终知道危险与出口在哪的动作段落。
20
+ - 不适用:反英雄叙事、道德暧昧的结局、要求观众保持分析距离的题材(改用库布里克或芬奇)。
21
+
22
+ <!-- slice:story shot -->
23
+ ## 反例:这不是什么 / What this lens is NOT
24
+
25
+ - 不是通用大片:大片先给奇观再补反应,这里顺序固定为「角色看见 → 观众看见角色的脸(1.5–3 秒)→ 观众看见奇观」。顺序反了,风格就没了。
26
+ - 不是当代动作片的碎切语法:强度来自障碍逐级升级,不来自剪辑频率。同一动作段落内 180 度线与屏幕方向不得改变,越轴必须由一个中性镜头交代。
27
+ - 不是诺兰:诺兰用交叉剪辑把多条时间线并置来加压;这里压力来自单一空间内一个目标被连续阻挡,观众任何时刻都能指出人在哪。
28
+ - 不是温情家庭剧:情感来自人物被迫做出一次可见的选择,不靠拥抱与配乐堆砌。音乐必须早于情绪转折 1–2 秒进入,用来预告而非追认。
29
+ - 不是"低角度=英雄":低机位是复制孩子的视线高度(约 1.0–1.3 米),成人对话立刻回到眼平。
30
+ - 不是手持纪实:摄影机默认在轨道或稳定器上;晃动只在人物受到物理冲击的那几帧出现,不做默认焦虑语法。
31
+
32
+ <!-- slice:story shot prompt -->
33
+ ## 核心风格关键词
34
+
35
+ 情感动员、经典覆盖、奇观与亲密并置、儿童视线高度、家庭裂痕、三层纵深、先反应后揭示、代价之后的修复。
36
+
37
+ <!-- slice:story -->
38
+ ## 叙事方法
39
+
40
+ - 外部目标必须一句话说清,并在前 90 秒说清:救人、找东西、逃出去、回家、揭真相。
41
+ - 情感缺口先于奇观:第一次奇观出现前,观众已经知道主角缺什么(一句对白 + 一件道具即可)。
42
+ - 高潮由 3–5 个小目标串成,每完成一个立刻出现新障碍;不要用一个长障碍撑满。
43
+ - 亚类型可换(战争、科幻、传记),情感核心不换:亲情、失落、恐惧、勇气。
44
+ - 结尾同时给出"不能复原的一样"和"被修复的一样",不给纯净胜利。
45
+
46
+ <!-- slice:story shot -->
47
+ ## 镜头语言
48
+
49
+ - 主力 35–50mm 建立可信的日常;反应镜头换到 135mm,机位不必逼近人物——135mm 在 3 米处就给到约 0.8 米宽的画幅(胸口以上),景别跳一大级而人不受打扰,背景同时被压平成一片色。
50
+ - 三层纵深调度:前景道具或次要人物 / 中景主角 / 背景事件或出口。观众任何一帧都能指认危险与出口。
51
+ - 运动必须有目的:推轨速度与人物步速一致(约 1.2–1.4 m/s);升降镜头只在需要交出规模时用,一场戏不超过一次。
52
+ - 主观视线用"看—所见—反应"三镜结构完成,中间的所见镜头必须真的在人物眼高上。
53
+ - 覆盖几何与越轴规则见 cinematic-language.md(景别/机位/运镜/轴线按电影语言通行口径写(景别:远景·全景·中景·近景·特写·大特写;运镜:固定·推·拉·摇·移·跟·升降·环绕;相邻镜守 180° 轴线与 30° 规则)。),此处只做取舍,不重复定义。
54
+
55
+ <!-- slice:shot prompt assets -->
56
+ ## 灯光与色彩
57
+
58
+ - 基础是柔和环境底光 + 一束可见硬光(窗、门缝、车灯、探照灯、投影机),硬光必须穿过薄雾或尘才看得见。
59
+ - 温暖场景比 3:1;威胁场景拉到 8:1,做法是撤掉补光让暗面自己掉下去,不是关小主光——整体照度不变,观众始终看得清空间。饱和度是另一条轴,属于调色,不参与比值。
60
+ - 每个光源在剧作里都有名字:不是"神秘光芒",是"走廊尽头那盏没关的顶灯"。写进提示词的是名字,不是情绪。
61
+ - 主色琥珀 + 灰蓝绿;每场只留一个高饱和色点(一件红衣、一盏白灯)承担注意力。
62
+ - 比值的定义、光位命名与调色术语见 lighting-and-color.md(光比与色温写数值(如 8:1、3200K/5600K),光源必须有动机(窗/灯/霓虹/火),暗部保细节不用补光糊平。),此处只给本透镜的取值。
63
+
64
+ <!-- slice:story -->
65
+ ## 剪辑节奏
66
+
67
+ - 动作段 ASL 3–7 秒,情绪段 ASL 5–9 秒。强度靠障碍升级,不靠切点密度。
68
+ - 剪在反应上而不是剪在揭示上:切点落在表情变化的那一帧,观众带着情绪进入下一个镜头。
69
+ - 每个动作段落结束前给一个 1.5–3 秒的消化镜头:喘息、看向出口、握紧道具。
70
+ - 硬切为主;溶解只用于时间跳跃,一场戏内不用。
71
+
72
+ <!-- slice:story -->
73
+ ## 声音与音乐
74
+
75
+ - 一个人物一个动机旋律,动机在情绪转折前 1–2 秒进入。
76
+ - 威胁先由声音出现(脚步、金属、低频、呼吸),画面滞后 3–8 秒再给。
77
+ - 关键揭示前留 1.5–3 秒近乎全静音,只保留一个环境元素(风、钟、水),然后让音效砸下来。
78
+ - 家庭群戏允许对白重叠,但每场至少有一句必须被完全听清。
79
+
80
+ <!-- slice:story shot -->
81
+ ## 人物与表演
82
+
83
+ - 每个主角有一个可命名的缺口:缺席的父母、失去的孩子、被撤销的资格、没说出口的道歉。
84
+ - 表演可读性优先:观众要在 1 秒内命名情绪。给的是肌肉指令(眉毛抬起、下颌松开、吞咽、屏息),不是形容词。
85
+ - 群体是互补功能组:专家、行动者、怀疑者、孩子。每人在一场动作戏里有且只有一个用处。
86
+
87
+ <!-- slice:shot prompt assets -->
88
+ ## 风格参数 / Style parameters
89
+
90
+ ```yaml
91
+ style_id: spielberg
92
+ lens_kit_mm: [21, 35, 50, 135] # 21/35 撑三层纵深与空间可读;50 是普通人的中性焦段;135 从远处切反应,机位不动而情绪跳变
93
+ camera:
94
+ prefer: ["slow dolly-in to close-up", "walking-pace tracking follow", "crane down into eye level", "motivated pan connecting person to threat", "rack focus across three planes"]
95
+ avoid: ["dutch angle", "unmotivated handheld", "orbit around subject", "snap zoom", "whip pan"]
96
+ motion_budget: medium
97
+ height: "成人对话眼平;奇观与威胁段落降到 1.0-1.3m 的孩子视线高度,机位锁定"
98
+ shot_size_bias: ["medium close-up reaction", "wide with three-plane depth", "medium two-shot", "insert on the carried object", "extreme wide for scale"]
99
+ composition: ["three-plane deep staging", "silhouette against a bright named source", "doorway frame-within-frame", "subject in lower third under a large event", "clear exit visible in every wide"]
100
+ lighting:
101
+ key_quality: mixed
102
+ key_ratio: "3:1 温暖段;8:1 威胁段"
103
+ motivation: practical
104
+ signature: "薄雾中一束看得见的硬光柱,加发梢逆光轮廓"
105
+ palette:
106
+ dominant: 琥珀、钨丝暖黄、灰蓝绿
107
+ accent: 单一高饱和红或纯白光点
108
+ saturation: mid
109
+ contrast: mid
110
+ editing:
111
+ avg_shot_length_s: "3-7 动作段;5-9 情绪段"
112
+ transition_bias: ["hard cut", "match cut", "dissolve"]
113
+ coverage_style: "完整经典覆盖:主镜 + 反打 + 反应 + 插入,切点落在反应而非揭示"
114
+ sound:
115
+ music: 单人物动机旋律,比情绪转折早 1-2 秒进入
116
+ ambience: 威胁先由声音抵达,画面滞后 3-8 秒
117
+ dialogue: 家庭群戏可重叠,每场保留一句完全听清
118
+ silence_use: 揭示前 1.5-3 秒近乎全静音,只留一个环境元素
119
+ performance:
120
+ register: 高可读性,观众 1 秒内能命名情绪;用肌肉指令而非形容词导戏
121
+ blocking: 人物朝向或背离他想要的东西移动;摄影机守住空间地图
122
+ aspect_bias: "1.85:1 / 16:9"
123
+ ai_video:
124
+ clip_duration_s: "4-8"
125
+ prompt_bias: 每条 clip 只装一次看、一个摄影机行为、一个环境反应;反应镜头单独成条,先生成反应再生成揭示。
126
+ risk: 惊奇脸会退化成呆滞空瞪。对策是把表情写成可执行动作(眉毛抬起、嘴唇分开约 1 厘米、屏住呼吸),并在同一条里写清引发它的光变化。
127
+ negative_prompt_adds: ["dutch angle", "handheld shake", "camera orbit", "slow motion", "extra background crowd", "modern screens or phones", "text or watermark", "flat even lighting"]
128
+ ```
129
+
130
+ <!-- slice:storyboard shot -->
131
+ ## 可迁移拍摄清单
132
+
133
+ 1. 先写下主角的情感缺口(一句话),再写奇观是什么;顺序反了就重来。
134
+ 2. 给每个动作段落画一张空间地图,标出主角、危险、出口三点,任何镜头不得破坏这三点的相对位置。
135
+ 3. 把每个奇观拆成"反应镜头 1.5–3 秒 + 揭示镜头"两条,先生成反应那条。
136
+ 4. 给场景里每个光源起名字,并把名字写进提示词。
137
+ 5. 高潮拆成 3–5 个小目标,每个写一行"完成 → 新障碍"。
138
+ 6. 在最宏大的镜头之后立刻安排一个手部或物件特写,把规模拉回到人。
139
+ 7. 让音乐动机比情绪转折早 1–2 秒进入。
140
+ 8. 结尾各列一样:不能复原的、被修复的。
141
+
142
+ <!-- slice:prompt -->
143
+ ## 提示词模板 / Prompt templates
144
+
145
+ 镜头设计简报(中文,用于 Step 5 导演本与 Step 7 分镜):
146
+
147
+ ```text
148
+ 用斯皮尔伯格镜头设计以下场景:<一句话事件>
149
+ 硬性要求:
150
+ - 情感缺口:<一句话>;外部目标:<一句话>
151
+ - 结构:反应镜头(1.5-3 秒,135mm,机位距脸约 3 米,画幅横向约 0.8 米)→ 揭示镜头(21-35mm,三层纵深)
152
+ - 空间:写出主角 / 危险 / 出口三点位置,全段不越轴
153
+ - 光:柔环境底光 + 一束有名字的硬光穿过薄雾;温暖处 3:1,威胁处 8:1
154
+ - 色:琥珀 + 灰蓝绿,全场只留一个高饱和色点 <指定>
155
+ - 声:<角色>的动机旋律提前 1-2 秒进入;揭示前留 2 秒静音
156
+ - 节奏:ASL 5-9 秒,段尾给一个 1.5-3 秒消化镜头
157
+ 输出:分镜表(编号 / 时长 / 景别 / 焦段 / 角度 / 运动 / 调度 / 光 / 连续性锚点)
158
+ ```
159
+
160
+ Image-to-video motion prompt(英文,用于 Step 10,接关键帧):
161
+
162
+ ```text
163
+ [35mm | 135mm], [eye level | 1.2m child-height low angle], [locked | slow dolly-in at walking pace, 1.2 m/s].
164
+ [Subject] begins [visible start state, holding X, eyes on Y], then [one primary action with direction and pace].
165
+ [One environmental beat: dust drifting in the beam, a curtain moving, a distant light changing].
166
+ Soft warm tungsten ambient plus a single hard shaft from [named practical] through faint haze.
167
+ End with [named facial change] and [final body position]. Maintain [face, costume, prop, corridor light, palette].
168
+ Avoid: dutch angle, handheld shake, camera orbit, slow motion, extra people, text, watermark.
169
+ ```
170
+
171
+ Keyframe / still prompt(英文,用于 Step 8,接图像模型):
172
+
173
+ ```text
174
+ [Shot size] of [subject], 35mm-equivalent, [child-height low angle | eye level].
175
+ Three-plane depth: [foreground object] / [subject] / [background event or visible exit].
176
+ Lighting: soft ambient base plus one hard visible beam from [named practical] through thin haze;
177
+ 3:1 in warm beats, 8:1 under threat; hair rim from behind.
178
+ Palette: amber and desaturated blue-green, single saturated accent [red garment | white lamp].
179
+ Expression: [muscular action, e.g. eyebrows lifted, lips parted 1cm, breath held].
180
+ 16:9, 1.85:1 framing. No text, no watermark, no extra figures, no wide-angle distortion.
181
+ ```
182
+
183
+ <!-- slice:story -->
184
+ ## 落地示例 / Worked example
185
+
186
+ 控制场景:一个人站在一扇关着的公寓门前,手里拿着打算送出去的东西,犹豫,最后没敲门就走了。
187
+
188
+ 这一拍的功能:让观众在他放弃之前,先看见他为什么想放弃。
189
+
190
+ 调度:走廊长约 12 米,他从远端走进来。SH1 是贴地广角(21mm,机位高 0.35 米),一次给全三层纵深:前景是门缝漏到走廊地板上的那条暖光带,中景是他越走越近的鞋,背景是走廊尽头亮着的出口。他停在门前 0.6 米,把东西换到左手,右手抬到门锁高度。就在这时门缝下的暖光熄灭。他的手落下,退后一步,转身沿原路走回;摄影机不跟,让走廊纵深把他缩小。
191
+
192
+ 关键镜头 SH3 完整规格:中近景反应,135mm,眼平,机位锁定,架在他前方 3 米——135mm 在这个距离给到约 0.8 米宽的画幅(胸口以上),他身后 9 米的走廊被压平成一片暖色。柔顶光做底,门缝漏出的那条暖光是他脸上唯一的硬光;灯灭时他脸上少掉整整一档。观众先看到脸暗下去,1.5 秒后才切回 SH1 那个贴地广角——这时门缝里已经没有光。反应在前、揭示在后,顺序不能反。音乐动机在他抬手前 1.5 秒进入,在灯灭的那一帧停住。
193
+
194
+ ```text
195
+ Medium close-up, 135mm, eye level, locked camera 3m in front of him; the warm corridor behind him compresses to a flat amber wash.
196
+ The man begins facing the closed door, wrapped parcel held at chest height, right hand rising toward the lock.
197
+ A thin warm light under the door goes out; his face loses one stop of light on that beat.
198
+ His hand lowers, he takes one step back, breath held, then turns away from the door.
199
+ Dust drifts in the ceiling lamp's beam. End on his profile as he starts walking back down the corridor.
200
+ Maintain his face, brown coat, wrapped parcel, warm tungsten corridor light.
201
+ Avoid: dutch angle, handheld shake, camera orbit, slow motion, extra people, text, watermark.
202
+ ```
@@ -0,0 +1,194 @@
1
+ ---
2
+ lens_id: tarkovsky
3
+ title: 安德烈·塔可夫斯基
4
+ oneliner: 镜头站着不动,让水、火和时间在画面里替人物完成表演。
5
+ description: 用于学习并转化塔可夫斯基式诗意时间、长镜头、精神探索、自然元素和记忆影像。请用于原创创作,不要复制其具体镜头、台词、角色或受版权保护的表达。
6
+ ---
7
+ <!-- slice:story shot prompt -->
8
+ ## 一句话镜头 / Lens in one line
9
+
10
+ 镜头站着不动,让水、火和时间在画面里替人物完成表演。
11
+
12
+ The camera stands still and lets water, fire, and time perform in the character's place.
13
+
14
+ <!-- slice:story -->
15
+ ## 适用场景
16
+
17
+ 诗电影、精神与信仰危机、科幻寓言、记忆叙事、废墟与被自然侵入的空间、慢电影、梦与现实无缝交叠的段落。也适合极低预算但可控环境的项目:一个房间、一堵湿墙、一盆水就能成段。
18
+
19
+ 不适合:需要在 30 秒内交代三条信息的商业片、动作片、任何以剪辑节奏为卖点的内容。
20
+
21
+ <!-- slice:story shot -->
22
+ ## 反例:这不是什么 / What this lens is NOT
23
+
24
+ - 不是毕赣:同样是长镜头加水。塔式镜头几乎不位移(10 秒内 ≤ 1 米),压力是垂直的——天花板滴水、人物下沉、仰头看树冠;毕赣是持续水平漂移,穿门过桥换地理,靠位移把梦缝起来。
25
+ - 不是维伦纽瓦:同样慢。维伦纽瓦的慢来自尺度,机位退到几十米外,人物占画幅高度 5%–15%,雾被拉成远近相差 2–3 档的纵深梯度;塔式的慢来自质地,镜头贴到 1 米内看湿木头的纹理,人物常常只有一个后颈。
26
+ - 不是伯格曼:同样处理信仰与内心。伯格曼把危机压进面部特写(脸占画幅 60% 以上);这里脸经常背对镜头或被前景遮挡,危机放在人与环境的关系里。
27
+ - 不是通用"慢电影":不是锁死机位干等。剪辑是静止的,画面不是——每个镜头里至少有两个持续运动的自然元素(火在烧、雨在下、风吹草、蒸汽横过画面)。
28
+ - 不是雷弗恩:同样缓慢且象征化。雷弗恩用人工舞台色块和绝对对称;这里的颜色来自泥、锈、湿木头和一盏烛火,构图是非对称的深度分层。
29
+
30
+ <!-- slice:story shot prompt -->
31
+ ## 核心风格关键词
32
+
33
+ 雕刻时间、长镜头、记忆、信仰、牺牲、水、火、风、泥、废墟、梦境、精神流亡、质地、垂直压力。
34
+
35
+ <!-- slice:story -->
36
+ ## 叙事方法
37
+
38
+ - 先定一个精神问题(我能否被原谅/信仰是否值得代价),再设计事件;不要先设计反转。
39
+ - 外部旅程与内部旅程一一对应:走向一个具体地点=走向一次内在清算。
40
+ - 梦、回忆、现实、预感之间不加标记地切换,观众靠情绪而非逻辑跟随。
41
+ - 一场戏只推进一个精神刻度,允许"什么都没发生"的整场戏存在。
42
+ - 结尾保留神秘:给一次牺牲、一次祈祷或一次自然事件,不给解释。
43
+
44
+ <!-- slice:story shot -->
45
+ ## 镜头语言
46
+
47
+ - 主力焦段 28–35mm,f/5.6–f/8 深焦:前景的水面、中景的人、远处的门要同时清晰,用景深而不是切镜建立层次。
48
+ - 深焦是有代价的:35mm f/8 的超焦距约 5 米,把焦点放在那里,清晰范围是 2.5 米到无限远。所以前景反光面要摆在 2.5 米以外;贴到 1 米内的前景在这个光圈下一定糊,那是另一种镜头(质地特写),不能和深焦分层混在同一个镜头里。
49
+ - 移动只有两种:恒速极慢横移(无加减速,10 秒内 ≤ 1 米),或对一件物体而非一张脸的缓慢推近。
50
+ - 机位高度在腰到胸之间,站着不飘;不用手持、不用轨道加速、不用无人机揭示。
51
+ - 构图强制三层以上纵深,最前一层常是反光面(积水、玻璃、湿地砖)。
52
+ - 垂直分层是签名动作:天花板漏水 → 墙面水痕 → 地面水洼,一个镜头贯通上下。
53
+ - 人物允许背对镜头、走出画面再走回、被门框切掉一半。
54
+
55
+ <!-- slice:shot prompt assets -->
56
+ ## 灯光与色彩
57
+
58
+ - 反差比 2:1–3:1,柔阴天窗光为主,几乎不出现硬边阴影。
59
+ - 唯一允许的明亮点光源是火:烛、油灯、篝火、燃烧的木头。火只做点光和运动源,永远不做主光——主光始终是柔的阴天窗光,所以即使画面里有明火,也不该出现硬边阴影。
60
+ - 主色调是泥棕、湿石灰、苔绿、褐调;高光偏乳白,重点色只有火橙和铁锈红。
61
+ - 低饱和低对比,但不是灰蒙蒙——湿表面自己反光,质地承担对比。
62
+ - 现实、记忆、梦境可用不同色系区分(如现实褐调、记忆黑白、梦境冷青),但一个段落内不换。
63
+
64
+ <!-- slice:story -->
65
+ ## 剪辑节奏
66
+
67
+ - 平均单镜 30–90 秒,一场戏 1–4 个镜头,不拍反打,不做覆盖率。
68
+ - 剪辑点由物象或声音决定(水声接雨声、火光接台灯),不由动作决定。
69
+ - 允许在人物离开画面后继续停留 5–15 秒,让空间被听见。
70
+ - 重复出现的物象(同一只碗、同一棵树、同一件湿衣服)跨场景形成记忆回声。
71
+
72
+ <!-- slice:story -->
73
+ ## 声音与音乐
74
+
75
+ - 环境声是主音轨:滴水(每 2–4 秒一滴,可数)、风穿过空屋、火焰爆裂、远处狗叫或机械声。
76
+ - 音乐极少,出现时是宗教性合唱或单一持续音,且不跟随画面情绪,可以在错误的时刻进入。
77
+ - 对白低音量、慢速,常在画外或背对镜头说出;一场戏的台词量控制在 40 字以内。
78
+ - 静默连续 5–15 秒是常规工具,用来让观众听出空间的尺寸。
79
+
80
+ <!-- slice:story shot -->
81
+ ## 人物与表演
82
+
83
+ - 情绪落后于事件 2–3 秒:先发生,人物后反应,反应幅度小于事实要求。
84
+ - 表演的最小单位是呼吸、转头、放下一件东西,不是台词。
85
+ - 人物可做出现实逻辑无法解释的牺牲,但必须在精神逻辑上成立且事先有物象铺垫。
86
+ - 群像退到背景,主角常独处,与其对戏的是空间。
87
+
88
+ <!-- slice:shot prompt assets -->
89
+ ## 风格参数 / Style parameters
90
+
91
+ ```yaml
92
+ style_id: tarkovsky
93
+ lens_kit_mm: [28, 35, 50] # 广角到标准,深焦分层;靠景深而非切镜建立层次
94
+ camera:
95
+ prefer: [locked hold, very slow lateral dolly, slow push-in on an object, slow tilt down to water, walking-pace follow from behind]
96
+ avoid: [handheld shake, whip pan, orbit, crash zoom, drone reveal]
97
+ motion_budget: low # 10 秒内位移 ≤ 1 米,恒速,无加减速
98
+ height: "waist to chest, level or slightly low, planted like a witness"
99
+ shot_size_bias: [wide, medium wide, insert or detail, over-shoulder from behind, close-up]
100
+ composition: [deep staging with three or more planes, reflective foreground, off-center or back-turned figure, vertical layering from ceiling to floor, threshold framing]
101
+ lighting:
102
+ key_quality: soft
103
+ key_ratio: "2:1 to 3:1"
104
+ motivation: naturalistic
105
+ signature: "阴天窗光加单一火光点;无硬边阴影,湿表面自己发光"
106
+ palette:
107
+ dominant: "mud brown, wet stone grey, moss green, sepia"
108
+ accent: "fire orange, milk white, rust"
109
+ saturation: low
110
+ contrast: low
111
+ editing:
112
+ avg_shot_length_s: "30-90"
113
+ transition_bias: [hard cut, slow dissolve, fade]
114
+ coverage_style: "单机位单角度,一个镜头解决一场戏,不拍反打"
115
+ sound:
116
+ music: "极少,出现时为宗教性合唱或单一持续音,不跟画面情绪走"
117
+ ambience: "可数的滴水、风穿空屋、火焰爆裂、远处狗叫;环境声即主音轨"
118
+ dialogue: "低音量慢速,常在画外或背对镜头说出,每场 40 字以内"
119
+ silence_use: "连续 5-15 秒静默,用来让观众听出空间尺寸"
120
+ performance:
121
+ register: "内敛疲惫,情绪落后事件 2-3 秒,反应幅度小于事实要求"
122
+ blocking: "长时间静止或缓慢走动,常背对镜头或被前景遮挡"
123
+ aspect_bias: "1.66:1 / 4:3" # 竖向余量留给天花板、树冠和垂落的水
124
+ ai_video:
125
+ clip_duration_s: "8-15" # 取所用工具允许的最长单条时长;宁可一个长镜头,不要三个短镜头
126
+ prompt_bias: "主体动作写到最小(呼吸、转头、放下一件东西),描述预算全部给环境运动和材质:水、火、雾、布料、光的缓慢变化。"
127
+ risk: "模型把'慢'理解成'静止',输出一张会呼吸的照片。缓解:显式命名两个持续的环境运动源,并给镜头一个恒速微移。"
128
+ negative_prompt_adds: [saturated colors, hard-edged shadows, lens flare, fast camera move, quick cuts, glossy clean surfaces, stage-symmetric framing, orchestral swell]
129
+ ```
130
+
131
+ <!-- slice:storyboard shot -->
132
+ ## 可迁移拍摄清单
133
+
134
+ 1. 写出这场戏的精神问题,一句话,不含情节词。
135
+ 2. 指定两个持续运动的自然元素,并说明它们在镜头里各占哪一层。
136
+ 3. 把这场戏压成 1–2 个镜头,删掉所有反打。
137
+ 4. 找一个反光面放进前景(积水、玻璃、湿砖),并把它摆在 2.5 米以外,否则 f/8 也保不住它。
138
+ 5. 设计一条垂直线:画面上方的源、中间的路径、下方的积聚。
139
+ 6. 把台词砍到 40 字以内,多出来的信息改由物体承担。
140
+ 7. 安排一次 5 秒以上的静默,并确定这段时间里观众该听见什么。
141
+ 8. 结尾留一个不解释的动作:放下、点燃、跪下、离开。
142
+
143
+ <!-- slice:prompt -->
144
+ ## 提示词模板 / Prompt templates
145
+
146
+ 镜头设计简报(中文,用于 Step 5 导演本与 Step 7 分镜):
147
+
148
+ ```text
149
+ 风格锁定:塔可夫斯基式诗意时间。
150
+ 精神问题:<一句话,如"他是否有资格把这件东西交出去">。
151
+ 空间:<潮湿的、有历史的、被自然侵入的室内或废墟>,前景必须有反光面。
152
+ 镜头:28-35mm,f/8,焦点放在超焦距(35mm f/8 约 5 米),前景反光面不近于 2.5 米;机位腰到胸高,恒速极慢横移或完全锁死,10 秒内位移不超过 1 米。
153
+ 分层:前景 <反光物> / 中景 <人物,允许背对> / 远景 <门、窗或水面>。
154
+ 垂直线:<上方水源> → <墙面痕迹> → <地面积水>。
155
+ 光:阴天窗光 2.5:1,加一处火光作为点光和运动源,无硬边阴影。
156
+ 色:泥棕、湿石灰、苔绿,低饱和低对比,重点色只有火橙。
157
+ 声:可数的滴水(每 3 秒一滴)、风、火焰爆裂;台词 ≤ 40 字;含一段 8 秒静默。
158
+ 表演:动作最小化,情绪滞后 2-3 秒。
159
+ 结尾:一个不解释的动作。禁止反转、禁止解释、禁止音乐煽情。
160
+ ```
161
+
162
+ Image-to-video motion prompt(英文,用于 Step 10,接关键帧):
163
+
164
+ ```text
165
+ Locked camera, or an extremely slow constant-speed lateral dolly of no more than one metre across the whole clip, no acceleration. Waist-height framing, 35mm equivalent, deep focus so the wet foreground and the far door are both sharp. The figure starts <state>, then makes one minimal action: <breath / turn of the head / setting one object down>, at half the speed of real life. Throughout, water drips steadily from the ceiling into a shallow pool in the foreground and thin steam drifts across the frame from camera-left. Overcast window light, 2.5:1, no hard shadows; a single small flame off to one side flickers on the wet wall. End with the figure still in frame, unmoving, the water still dripping. Maintain the mud-brown and moss-green low-saturation palette, the wet stone texture, the same face and clothing. Avoid saturated color, hard-edged shadows, lens flare, fast camera movement, glossy clean surfaces, orchestral music.
166
+ ```
167
+
168
+ Keyframe / still prompt(英文,用于 Step 8,接图像模型):
169
+
170
+ ```text
171
+ 35mm-equivalent deep-focus frame, waist-height eye line, three distinct depth planes. Foreground: a shallow pool of standing water on a cracked floor, reflecting the ceiling. Middle: a figure standing three-quarters away from camera, off-center to the right, only the back of the neck and one shoulder readable. Background: a half-open door onto a dim, damp room. Overcast daylight through a tall window, key ratio 2.5:1, no hard shadow edges; one small flame on a ledge camera-left. Palette mud brown, wet stone grey, moss green, sepia, low saturation, low contrast, textures dominant: peeling plaster, soaked wood, rust. 1.66:1. No text, no watermark, no plastic, no printed labels, no lens flare, no symmetrical stage composition.
172
+ ```
173
+
174
+ <!-- slice:story -->
175
+ ## 落地示例 / Worked example
176
+
177
+ 控制场景:一个人站在一扇关着的公寓门前,手里拿着打算送出去的东西,犹豫,最后没敲门就走了。
178
+
179
+ 节拍:他到达 → 他站着 → 水滴落在他要送的东西上 → 他把它放在门槛上 → 他退进走廊的黑里。全场一个镜头,没有反打,没有台词。
180
+
181
+ 调度:走廊尽头有一扇漏雨的天窗,地面已经积了一片水。他从画面右后方走进来,停在门前 1.2 米处——他从没走到门边。然后整整 12 秒他不动;期间只有天花板的水每 3 秒滴一次(这 12 秒里恰好落下 4 滴),砸在他手里的包裹上,纸慢慢变深。第 16 秒他蹲下,把包裹放在门槛上,站起来,向后退出画面,不转身。镜头不跟他,继续拍那扇门和那个变深的纸包 8 秒。全镜 30 秒,落在本风格 ASL 的下限上——张力全部来自那 12 秒不动,时长不能省。
182
+
183
+ 单镜规格:中全景 / 35mm f/8(焦点在超焦距,前景积水在 3 米外)/ 机位胸高、略仰 3 度 / 全镜恒速横移 0.8 米(向左,把门推到画面偏右)/ 光:天窗漏下的阴天柔光作主光 2.5:1,门缝底下一条暖光是唯一的暖色,前景积水反射天窗。
184
+
185
+ - 弱写法:`slow poetic long take, wet atmosphere, emotional, cinematic`——模型会给一张不动的湿照片。
186
+ - 强写法:把"慢"翻译成两个可数的运动源(滴水频率、纸的变色)加一段确定距离的恒速位移。
187
+
188
+ 生成方式:30 秒超过单条 clip 的常见上限,拆成两条各 15 秒。接缝紧跟在一滴水落下之后——这样第二条从 3 秒空档起步,滴水的节拍不会在接缝上错乱;这是本风格拆条时唯一要盯的东西,因为节拍就是这个镜头的时钟。下面是第二条的成品提示词。
189
+
190
+ ```text
191
+ Extremely slow constant lateral dolly to the left, about 0.4 metres across the clip, no acceleration; chest-height framing, tilted up 3 degrees, 35mm equivalent at f/8, deep focus so the standing water in the foreground and the far door are both sharp. A person stands motionless 1.2 metres short of a closed apartment door at the end of a damp corridor, holding a paper-wrapped bundle at waist height; the paper is already dark where it has soaked through. Water drips from a leaking skylight above, one drop every three seconds throughout. After the second drop he crouches, places the bundle on the doorsill, stands, and steps backward out of frame without turning around; the camera does not follow him and holds for the last third of the clip on the door and the wet bundle, the water still dripping. Overcast skylight as key, 2.5:1, no hard shadows; a thin warm line of light under the door is the only warm note; the pool of standing water in the foreground reflects the skylight. Maintain the mud-brown and wet-stone palette, low saturation, peeling plaster texture, the same coat and bundle. No text, no watermark, no other people, no camera shake, no music cue, no saturated color.
192
+ ```
193
+
194
+ 配套参考:镜头功能与运动术语见 `../cinematic-language.md`(景别/机位/运镜/轴线按电影语言通行口径写(景别:远景·全景·中景·近景·特写·大特写;运镜:固定·推·拉·摇·移·跟·升降·环绕;相邻镜守 180° 轴线与 30° 规则)。),光比与调色语言见 `../lighting-and-color.md`(光比与色温写数值(如 8:1、3200K/5600K),光源必须有动机(窗/灯/霓虹/火),暗部保细节不用补光糊平。),"生成结果像静止照片"的修复路径见 `../failure-modes.md`(失败按症状定位(漂移/PPT 感/运镜乱/接缝/物理错/风格跳),先改提示词再重生成。),把一个长镜头拆成首尾帧链条的具体做法见 `../ai-video-tool-adapters.md`(每镜只给一个主动作 + 一种运镜;模型没有的控制面不要许愿(如精细运镜数值)。)。
@@ -0,0 +1,201 @@
1
+ ---
2
+ lens_id: tsui_hark
3
+ title: 徐克
4
+ oneliner: 光打硬、雾放厚、机位压到膝盖高、升格拉到 120fps——法术必须砸在地上,不许飘。
5
+ description: 用于原创创作中转化徐克式高反差硬光、冷蓝主调、广角低机位、体积雾与实体化法术的动势连贯打法,不使用其具体作品、镜头或角色。
6
+ ---
7
+ <!-- slice:story shot prompt -->
8
+ ## 一句话镜头 / Lens in one line
9
+
10
+ 光打硬、雾放厚、机位压到膝盖高、升格拉到 120fps——法术必须砸在地上,不许飘。
11
+
12
+ Hard light, thick haze, knee-high camera, 120fps over-crank: the magic must hit the ground.
13
+
14
+ <!-- slice:story -->
15
+ ## 适用场景
16
+
17
+ 玄幻仙侠与都市异能的动作段落;设定里存在"有物理重量的法术";兵器与法术正面交击;一人对多人的低机位压迫;前 6 秒要建立奇观强度。空间必须能被雾填满:窄巷、断桥、殿内、竹林、废楼、楼梯井、天台。
18
+
19
+ 不适合:纯对话与法庭式对峙、需要观众精确判断地理关系的复杂调度、以及"人手一件日常道具且不许变形"的现实题材段落。雾加广角把日常空间拍成奇观,两次是风格,三次是扮相。
20
+
21
+ <!-- slice:story shot -->
22
+ ## 反例:这不是什么 / What this lens is NOT
23
+
24
+ - 不是袁和平:同样是打。袁和平把机位退到 28–50mm 中全景,让观众看清重心从哪只脚起来、力怎么传到拳上,命中顿 2 帧;这里把机位压到膝盖以下、用 21–28mm 顶上去,透视把前臂和刀身拉长,观众看清的是"力从画外砸进来",不是发力链。判据很简单:袁和平的镜头里你能复述动作顺序,这里的镜头里你只能复述冲击方向。
25
+ - 不是路阳:同样是冷调、快刃、雨。路阳把光比压在 1:5–1:9、大面积冷暗,唯一暖源是烛火或火把,动作贴身三合、见血即收,越关键越短;这里的暖金只出现在锋口和边缘(一毫米宽的高光),主体由冷蓝铺满,升格把 0.4 秒的接触拉成 3 秒——越关键越长。
26
+ - 不是乌尔善:同样是奇观。乌尔善的尺度来自对象——一个比人高二十倍的东西压在画面上方,人不动、物动;这里没有巨物,尺度来自镜头本身:广角畸变、雾的层次、被拉长的四肢,物体在画面边缘开始弯曲。
27
+ - 不是游戏 CG:同样是高反差加粒子。游戏 CG 的光是均匀的、粒子是装饰性的、机位是平滑环绕的;这里必须有单一硬源和明确影子落点,粒子必须有下落速度、在地面留痕、能被兵器挡掉而消失。
28
+ - 不是"全程慢动作":升格是节奏工具,不是滤镜。一个段落里升格只包住接触的那一两帧动作,其余时间用正常速度甚至抽掉帧的快速切。全段 120fps 只会得到一个黏稠、没有冲击力的画面。
29
+
30
+ <!-- slice:story shot prompt -->
31
+ ## 核心风格关键词
32
+
33
+ 高反差硬光、冷蓝主调、暖金锋口、广角低机位、桶形畸变、体积雾、断层尘埃、凌厉升格、实体化法术、粒子重量、动势连贯、顿帧、兵器毛刺、无颗粒的数字质感。
34
+
35
+ <!-- slice:story -->
36
+ ## 叙事方法
37
+
38
+ - 先定"法术的物理规则",再写动作:能被兵器挡、撞出火花、落地碎地砖、用完反噬。规则写清,观众才信。
39
+ - 一场戏只给一个奇观峰值。峰值前要有两个"人"的镜头(脸、手、脚下的地),峰值后要有一个"代价"镜头(断刃、流血、塌墙)。
40
+ - 动势连贯优先于镜头数量:宁可 8 个镜头走完一条连贯动线,也不要 30 个碎镜。切点落在动作中段,切完方向不变。
41
+ - 用空间层级做压迫,三层就够:低处的人、高处的人、更高处的东西。叠到第四层,观众开始数楼层。
42
+ - 结尾停在"力还在传"的一刻:刀已砍完但人还没落地,法术已散但尘还在落。
43
+
44
+ <!-- slice:story shot -->
45
+ ## 镜头语言
46
+
47
+ - 主焦 21–28mm。机位常态在膝盖到腰,仰角 15–30 度。允许轻微桶形畸变,不做校正。
48
+ - 广角近身时把兵器或手臂伸向镜头,让它在前景被放大到失真;主体压到画幅下三分之一。
49
+ - 浅景深只在特写允许。中全景必须 f/5.6 以上,攻防双方肢体都要清。
50
+ - 升格写法给数字不给形容词:60–120fps 拍摄,动作减缓至 1/2 到 1/4 速,只包住接触那一下。
51
+ - 顿帧:命中瞬间在同一帧上重复 2–3 帧,制造硬停,再进下一镜。
52
+ - 摄影机的运动要有动机:跟着人冲、甩着跟兵器下去、随倒下的身体一起降。不做无动机环绕。
53
+ - 雾是镜头的一部分:至少一层体积雾,光柱可见,远景按大气透视逐层衰减。
54
+
55
+ <!-- slice:shot prompt assets -->
56
+ ## 灯光与色彩
57
+
58
+ - 光比 1:6–1:10。单一硬源加一个弱补。禁均匀柔光,禁"游戏 CG 式打光"。
59
+ - 硬源只选一个并说清影子落在哪:顶逆天光、破窗直射、火把、闪电、法器自发光。
60
+ - 主调冷蓝(青蓝/钢蓝)。暖金只做锋口、边缘、火花、眼睛高光。一句话:蓝是环境,金是事件。
61
+ - 饱和度中到高,但肤色不许被冷调洗白——脸要保留血色,否则人变成道具。
62
+ - 空气要有断层:体积雾两层以内,尘在光柱里可见,火星带下落轨迹。
63
+ - 暗部保留细节:黑不死,能看见布料褶皱和地面湿痕。
64
+ - 成像无胶片颗粒(数字质感),但也不许塑料:所有表面都要有磨损、毛边、划痕。
65
+
66
+ <!-- slice:story -->
67
+ ## 剪辑节奏
68
+
69
+ - 打斗段均镜 1–3 秒;升格镜 4–8 秒。快慢交替,节奏不许均匀。
70
+ - 切点落在动作中段:挥到一半、脚离地、兵器刚接触。
71
+ - 一次交锋最多 5 个镜头,然后给一个换气镜(对方的脸、退半步的脚)。
72
+ - 同类动作不重复同角度:第二刀必须换轴侧。
73
+ - 段落结束用静止空镜(落尘、断刃插地),不给人物的反应镜头。
74
+
75
+ <!-- slice:story -->
76
+ ## 声音与音乐
77
+
78
+ - 金属撞击分三轨叠:高频刃鸣、中频钝响、低频冲击。缺一层就变塑料。
79
+ - 法术声必须有体量:低频下潜加空气被推开的白噪,不是"叮"的一声。
80
+ - 音乐用弦乐持续音加单一大鼓,鼓点只落在接触帧,其余留白。
81
+ - 对白极少且短,打斗中最多喊一声。
82
+ - 静默用于加重:升格前抽掉 0.5 秒全部声音,接触那一下才有重量。
83
+
84
+ <!-- slice:story shot -->
85
+ ## 人物与表演
86
+
87
+ - 体态 7–8 头身,面部棱角分明,眉骨与下颌线要能被硬光切出边。造型略高于写实,不做塑料三渲二。
88
+ - 表演是"不停":动作之间不留停顿,出手要过目标,收势要带余劲。
89
+ - 不许摆 pose。人物永远在运动中被拍,静止不超过 2 秒。
90
+ - 衣袍宽大有垂坠,运动中形成拖尾。绸缎垂,皮革磨。
91
+ - 眼神只在一处用:出手前 0.3 秒。
92
+
93
+ <!-- slice:shot prompt assets -->
94
+ ## 风格参数 / Style parameters
95
+
96
+ ```yaml
97
+ style_id: tsui_hark
98
+ lens_kit_mm: [21, 28] # 广角为主,允许轻微桶形畸变;浅景深只在特写出现
99
+ camera:
100
+ prefer: [knee-to-waist low angle, up-tilt of 15-30 degrees, push in along the weapon, whip pan following the swing, descend with the falling body]
101
+ avoid: [eye-level static wide, smooth 360 orbit, drone, telephoto compression, distortion-corrected wide]
102
+ motion_budget: high # 每秒都在动,但动机来自画面里的力,不是来自"炫"
103
+ height: "knee to waist, tilted up 15-30 degrees; eye level only for the reaction beat"
104
+ shot_size_bias: [low-angle medium wide, full shot with a distorted foreground limb, close-up of a weapon edge, medium close-up under a hard top light, wide establishing through haze]
105
+ composition: [subject in the lower third, weapon or forearm pushed at the lens, curved edges and bent verticals, layered depth across two haze planes, force line entering from a frame corner]
106
+ lighting:
107
+ key_quality: hard
108
+ key_ratio: "6:1 to 10:1"
109
+ motivation: single hard source
110
+ signature: "顶逆天光/破窗直射/火把/法器自发光,任选其一作唯一硬源,影子必须有明确落点;冷蓝铺环境,暖金只停在锋口、边缘、火花与眼高光"
111
+ palette:
112
+ dominant: "cold steel blue, indigo night"
113
+ accent: "warm gold on edges, spark orange, dried blood red"
114
+ saturation: "medium to high"
115
+ contrast: high
116
+ editing:
117
+ avg_shot_length_s: "1-3, with 4-8 second over-crank inserts"
118
+ transition_bias: [hard cut mid-action, impact freeze of 2-3 repeated frames, whip pan cut, no dissolve]
119
+ coverage_style: "5 镜一次交锋 + 1 个换气镜;同类动作第二刀必换轴侧"
120
+ sound:
121
+ music: "弦乐持续音 + 单一大鼓,鼓点只落在接触帧"
122
+ ambience: "风穿过窄巷、尘落、远处瓦片碎、火把爆响"
123
+ dialogue: "极少且短,打斗中最多一声喊"
124
+ silence_use: "升格前抽掉 0.5 秒全部声音,让接触那一下变重"
125
+ performance:
126
+ register: "不停、出手过目标、收势带余劲;静止不超过 2 秒"
127
+ blocking: "三层空间:低处的人、高处的人、更高处的东西;动作方向全段一致"
128
+ aspect_bias: "2.39:1" # 竖屏 9:16 时仰角再抬 10 度,用纵向空间替代横向
129
+ ai_video:
130
+ clip_duration_s: "3-6" # 一条只装一次接触;升格单独出一条
131
+ prompt_bias: "先写唯一硬源和影子方向,再写雾的层数与光柱,再写机位高度与仰角,最后写一个动作和它的落点。帧率写数字,倍率写分数,不写 slow motion。"
132
+ risk: "模型把升格理解成平滑插帧,把法术理解成发光贴图。缓解:写 'shot at 120fps, action retimed to quarter speed' 而不是 slow motion;写 'the spell is a solid mass a blade can block and that shatters on impact' 而不是 magic glow;再补一句 'no film grain, no plastic CG surface'。"
133
+ negative_prompt_adds: [even soft fill light, video-game CG lighting, plastic toon shading, beauty smoothing, chibi proportions, western fantasy plate armor, film grain, weightless floating particles, smooth interpolated slow motion, distortion-corrected verticals]
134
+ ```
135
+
136
+ <!-- slice:storyboard shot -->
137
+ ## 可迁移拍摄清单
138
+
139
+ 1. 指定唯一硬源,并写清影子落在哪个方向、落在什么表面上。
140
+ 2. 把机位高度压到膝盖或腰,仰角写 15–30 度,标注是否保留桶形畸变。
141
+ 3. 指定雾的层数(1 或 2),并写明光柱从哪个方向进来。
142
+ 4. 给这一段写下"法术或兵器的物理规则"一句话,后面每一镜都要验证它。
143
+ 5. 全段只标一处升格,写清帧率、倍率、以及它包住的那 0.4 秒动作。
144
+ 6. 标出接触帧,并在剪辑上写明重复 2–3 帧的顿帧。
145
+ 7. 检查构图:前景是否有一样东西伸向镜头并被放大;主体是否在下三分之一。
146
+ 8. 检查收尾:最后一个镜头是不是空镜,且尘或火星还在落。
147
+
148
+ <!-- slice:prompt -->
149
+ ## 提示词模板 / Prompt templates
150
+
151
+ 镜头设计简报(中文,用于 Step 5 导演本与 Step 7 分镜):
152
+
153
+ ```text
154
+ 风格锁定:徐克式高反差硬光动作段。
155
+ 唯一硬源:<顶逆天光/破窗直射/火把/法器自发光>,影子落在 <方位与表面>,光比 8:1。
156
+ 雾与尘:体积雾 <1 或 2> 层,光柱可见,火星带下落轨迹,远景按大气透视衰减。
157
+ 色:冷蓝铺满环境,暖金只给锋口、边缘、火花;肤色保留血色;饱和度中高,暗部不死黑。
158
+ 镜头:21-28mm,机位 <膝/腰> 高,仰角 <15-30> 度,保留轻微桶形畸变;浅景深只在特写。
159
+ 构图:主体压在下三分之一,<兵器/前臂> 伸向镜头被前景放大,力线从画面一角斜切进来。
160
+ 动作:本镜只有一个动作 <挥/撞/落>,落点是 <地砖/刀脊/墙面>,方向 <左到右>。
161
+ 升格:<120>fps 拍摄,动作减缓至 <1/4> 速,只包住接触那一下;前后两镜用正常速度。
162
+ 顿帧:接触瞬间同一帧重复 <2> 帧。
163
+ 材质:金属冷硬高光带毛刺,绸缎垂坠,皮革磨损起边;禁塑料感、禁柔光美颜。
164
+ 声音:金属三轨(刃鸣/钝响/低频冲击),鼓点落在接触帧。
165
+ ```
166
+
167
+ Image-to-video motion prompt(英文,用于 Step 10,接关键帧):
168
+
169
+ ```text
170
+ Low-angle camera at knee height with a 15-30 degree up-tilt, 24mm equivalent, slight barrel distortion left uncorrected. One hard source only: a shaft of daylight from a break in the wall behind the subject, throwing his shadow forward and to the right onto cracked concrete; key ratio 8:1. Two haze planes — a low ground fog and floating dust in the beam — plus sparks that fall and leave marks. The subject starts braced, then delivers exactly one action: <a horizontal blade sweep from right to left that ends on a stone pillar>, and the camera pushes in along the weapon, arriving low and close as the blade lands; the impact frame is held for two repeated frames. Cold steel blue fills the frame; warm gold appears only on the blade edge and on the sparks. The clothing is heavy silk that trails through the movement. No film grain, no plastic CG surface, no even fill. Avoid eye-level framing, smooth 360 orbit, drone move, distortion correction, weightless glowing particles, smooth interpolated slow motion.
171
+ ```
172
+
173
+ Keyframe / still prompt(英文,用于 Step 8,接图像模型):
174
+
175
+ ```text
176
+ 24mm-equivalent low-angle frame from knee height, tilted up 20 degrees, slight barrel distortion. A forearm and a worn steel blade are pushed toward the lens and enlarged by perspective, occupying the right third; the figure behind is crushed into the lower third of the frame, coat trailing. Lighting: a single hard daylight shaft from a break high behind the subject, one shadow with a hard edge falling across cracked concrete; heavy atmospheric haze in two layers with a visible beam; warm gold only at the blade edge and in the sparks. Palette cold steel blue and indigo with gold edge accents, medium-high saturation, high contrast, shadows deep but readable. Metal shows scratches and burrs, silk drapes, leather is worn at the seams. 2.39:1. No text, no watermark, no film grain, no plastic toon surface, no even fill light, no clean wide shot, no eye-level camera.
177
+ ```
178
+
179
+ <!-- slice:story -->
180
+ ## 落地示例 / Worked example
181
+
182
+ 控制场景:一个人站在一扇关着的公寓门前,手里拿着打算送出去的东西,犹豫,最后没敲门就走了。
183
+
184
+ 移植方式:不换事件,换物理规则与机位。门变成走廊尽头一块冷蓝的钢板,楼梯间的破窗漏进一束硬光,走廊地面压着一层薄雾。把"抬手敲门"这个 0.4 秒的动作当一次出手来拍:抬手是正常速度,指节停在距门 15 厘米处是升格,手放下是正常速度。全段没有法术也成立——这个透镜的判据不是"有没有法术",而是"光是不是单一硬源、机位是不是压在膝盖高、关键动作是不是被升格拉长"。
185
+
186
+ 节拍(5 个镜头):SH1 走廊纵深,雾里的门 → SH2 低机位仰拍他的手与门缝漏出的光 → SH3 升格:指节停在距门 15 厘米 → SH4 手放下,正常速度,他转身 → SH5 空镜:门缝的光,尘还在落。
187
+
188
+ 这是 5 个镜头,不是 1 个。本风格打斗段均镜 1–3 秒,只有升格镜允许 4–8 秒。SH1(3 秒)21mm 走廊纵深,雾在膝盖高度;SH2(2 秒)仰角 25 度拍手和门缝;SH3(5 秒)唯一的升格,120fps 拍到抬手的最高点、减缓至 1/4 速、只包住"停住"的那 0.4 秒;SH4(1.5 秒)手放下、转身,正常速度甚至略快;SH5(4 秒)静止空镜,尘在光柱里落。全段 15.5 秒,均长 3.1 秒。
189
+
190
+ SH3 单镜规格:中近景偏手部 / 24mm / 机位膝盖高、仰角 25 度 / 轻微桶形畸变保留 / 缓推 20 厘米 / 光:楼梯间破窗的顶逆硬光作唯一硬源,光比 8:1,门缝漏出的暖金只照亮他的指节边缘 / 雾:地面薄雾一层,光柱可见。
191
+
192
+ - 弱写法:`cinematic low angle man at door hesitating slow motion epic light fog`——模型给一个均匀打光、全程晃动的仰拍中景,手和门都不清楚。
193
+ - 强写法:先写唯一硬源与影子落点,再写雾的层数,再写机位高度与仰角,最后只写一个动作(指节停住)和它的落点(距门 15 厘米的空气),并明确"只有这一段是升格"。
194
+
195
+ 下面是 SH3 的成品提示词。SH1、SH2、SH4、SH5 复用同一句硬源描述与同一句人物锁定,但都不带升格。
196
+
197
+ ```text
198
+ Low-angle camera at knee height, 25 degree up-tilt, 24mm equivalent, slight barrel distortion kept. A single hard shaft of daylight from a broken stairwell window strikes down behind the man, throwing one hard-edged shadow across the corridor floor; key ratio 8:1. One thin layer of ground fog sits at ankle height, the beam clearly visible through it, dust drifting down inside the light. A thin warm gold line leaks from the door seam and touches only the edge of his knuckles; everything else is cold steel blue. He raises his right hand toward the steel-faced door and stops with the knuckles about fifteen centimetres short of the surface; the hand holds there. This hold is over-cranked: shot at 120fps, action retimed to quarter speed, and only this beat is slowed — the dust around his hand keeps a normal falling rhythm. The camera pushes in about twenty centimetres and settles low. His face stays in shadow, cropped at the top of the frame, never fully lit. Keep the same coat, the same small bundle in his left hand, the cold blue palette with its single gold edge, the wet floor and the fog. End on the still hand hanging in the air. No text, no watermark, no film grain, no plastic CG surface, no even fill light, no eye-level framing, no smooth orbit, no weightless glowing particles.
199
+ ```
200
+
201
+ 配套判据:这一段只要出现第二处升格、或出现一处均匀柔光,就已经不是这个透镜了。