@oh-story/dsh 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -8
- package/lib/client.js +298 -87
- package/lib/client.js.map +4 -4
- package/lib/drama/manifest.json +34 -34
- package/lib/drama/skills/short-drama/SKILL.md +4 -1
- package/lib/drama/skills/short-drama/references/contract-and-ownership.md +2 -0
- package/lib/drama/skills/short-drama/references/creator-documents.md +30 -4
- package/lib/drama/skills/short-drama/references/creator-workflow.md +8 -2
- package/lib/drama/skills/short-drama/references/reference-roles.md +16 -2
- package/lib/drama/skills/short-drama/scripts/creator_markdown_check.py +328 -48
- package/lib/drama/skills/short-drama-produce/SKILL.md +4 -1
- package/lib/drama/skills/short-drama-produce/scripts/production_tool.py +34 -2
- package/lib/drama/skills/short-drama-storyboard/SKILL.md +27 -5
- package/lib/drama/skills/short-drama-storyboard/references/review-and-fixtures.md +2 -1
- package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +2 -2
- package/lib/drama/skills/short-drama-video-prompts/SKILL.md +11 -2
- package/lib/drama/skills/short-drama-video-prompts/assets/video-prompts.md +6 -1
- package/lib/drama/skills/short-drama-video-prompts/references/minimax-h3.md +19 -3
- package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +8 -2
- package/lib/drama/skills/short-drama-video-prompts/references/target-model-profile.md +1 -0
- package/lib/index.js +194 -62
- package/lib/index.js.map +4 -4
- package/lib/types/client/drama-production-view.d.ts +1 -0
- package/lib/types/client/drama-production-view.d.ts.map +1 -1
- package/lib/types/client/drama-production.d.ts +3 -0
- package/lib/types/client/drama-production.d.ts.map +1 -1
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/video-studio.d.ts +2 -1
- package/lib/types/client/video-studio.d.ts.map +1 -1
- package/lib/types/client/workbench-presence.d.ts +29 -0
- package/lib/types/client/workbench-presence.d.ts.map +1 -0
- package/lib/types/drama-adapters.d.ts +65 -0
- package/lib/types/drama-adapters.d.ts.map +1 -0
- package/lib/types/host-python.d.ts +19 -0
- package/lib/types/host-python.d.ts.map +1 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/skill-provider.d.ts +1 -1
- package/lib/types/skill-provider.d.ts.map +1 -1
- package/lib/types/workspace-route.d.ts.map +1 -1
- package/package.json +41 -41
package/lib/drama/manifest.json
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"upstream": {
|
|
4
4
|
"repository": "https://github.com/zenstory-ai/drama-skills.git",
|
|
5
|
-
"commit": "
|
|
5
|
+
"commit": "4cd584668bf6dc613a51d1ca40d00de352db9713"
|
|
6
6
|
},
|
|
7
|
-
"generatedAt": "2026-09-
|
|
7
|
+
"generatedAt": "2026-09-04T14:24:07.064Z",
|
|
8
8
|
"skills": [
|
|
9
9
|
"short-drama",
|
|
10
10
|
"short-drama-assets",
|
|
@@ -445,8 +445,8 @@
|
|
|
445
445
|
},
|
|
446
446
|
{
|
|
447
447
|
"path": "skills/short-drama-produce/SKILL.md",
|
|
448
|
-
"sha256": "
|
|
449
|
-
"bytes":
|
|
448
|
+
"sha256": "9eb35a905f94fea67852d8437e1f5640a5d4090d71ac645e4857958f04b2c08e",
|
|
449
|
+
"bytes": 12422
|
|
450
450
|
},
|
|
451
451
|
{
|
|
452
452
|
"path": "skills/short-drama-produce/agents/openai.yaml",
|
|
@@ -485,8 +485,8 @@
|
|
|
485
485
|
},
|
|
486
486
|
{
|
|
487
487
|
"path": "skills/short-drama-produce/scripts/production_tool.py",
|
|
488
|
-
"sha256": "
|
|
489
|
-
"bytes":
|
|
488
|
+
"sha256": "b39253946f17ff966ce661ca365cdda5b2ea25d1b43466399d839fbb3bebe745",
|
|
489
|
+
"bytes": 79461
|
|
490
490
|
},
|
|
491
491
|
{
|
|
492
492
|
"path": "skills/short-drama-produce/scripts/provider_adapters.py",
|
|
@@ -590,8 +590,8 @@
|
|
|
590
590
|
},
|
|
591
591
|
{
|
|
592
592
|
"path": "skills/short-drama-storyboard/SKILL.md",
|
|
593
|
-
"sha256": "
|
|
594
|
-
"bytes":
|
|
593
|
+
"sha256": "187b38c3f17742959403cee6d99d688361bc8d62ef720a4e4096fd1adb6e0f26",
|
|
594
|
+
"bytes": 16588
|
|
595
595
|
},
|
|
596
596
|
{
|
|
597
597
|
"path": "skills/short-drama-storyboard/agents/openai.yaml",
|
|
@@ -660,8 +660,8 @@
|
|
|
660
660
|
},
|
|
661
661
|
{
|
|
662
662
|
"path": "skills/short-drama-storyboard/references/review-and-fixtures.md",
|
|
663
|
-
"sha256": "
|
|
664
|
-
"bytes":
|
|
663
|
+
"sha256": "230026c548e9cb8ab2bb38e37a0c10acd7be07124e447560ac015d9c383997fd",
|
|
664
|
+
"bytes": 3326
|
|
665
665
|
},
|
|
666
666
|
{
|
|
667
667
|
"path": "skills/short-drama-storyboard/references/scene-visual-plan.md",
|
|
@@ -685,8 +685,8 @@
|
|
|
685
685
|
},
|
|
686
686
|
{
|
|
687
687
|
"path": "skills/short-drama-storyboard/references/stage-contract.md",
|
|
688
|
-
"sha256": "
|
|
689
|
-
"bytes":
|
|
688
|
+
"sha256": "8624622c16dc60ca56aeba67f7d68c10c3f972ff533d6fbc484694a07ab5ae0e",
|
|
689
|
+
"bytes": 9148
|
|
690
690
|
},
|
|
691
691
|
{
|
|
692
692
|
"path": "skills/short-drama-storyboard/scripts/selftest.py",
|
|
@@ -700,8 +700,8 @@
|
|
|
700
700
|
},
|
|
701
701
|
{
|
|
702
702
|
"path": "skills/short-drama-video-prompts/SKILL.md",
|
|
703
|
-
"sha256": "
|
|
704
|
-
"bytes":
|
|
703
|
+
"sha256": "6af04f52c90b92120648cc703dd3f85f6225afa428a76d7b5c61471baea39250",
|
|
704
|
+
"bytes": 15419
|
|
705
705
|
},
|
|
706
706
|
{
|
|
707
707
|
"path": "skills/short-drama-video-prompts/agents/openai.yaml",
|
|
@@ -740,8 +740,8 @@
|
|
|
740
740
|
},
|
|
741
741
|
{
|
|
742
742
|
"path": "skills/short-drama-video-prompts/assets/video-prompts.md",
|
|
743
|
-
"sha256": "
|
|
744
|
-
"bytes":
|
|
743
|
+
"sha256": "541784158cf7eb297d023ecc471a3333a6615f1a0ebb25f5e083d6d6a7b7e9ec",
|
|
744
|
+
"bytes": 5267
|
|
745
745
|
},
|
|
746
746
|
{
|
|
747
747
|
"path": "skills/short-drama-video-prompts/examples/minimal-music-specs.jsonl",
|
|
@@ -765,8 +765,8 @@
|
|
|
765
765
|
},
|
|
766
766
|
{
|
|
767
767
|
"path": "skills/short-drama-video-prompts/references/minimax-h3.md",
|
|
768
|
-
"sha256": "
|
|
769
|
-
"bytes":
|
|
768
|
+
"sha256": "d83692c446175da092521ec11f4fbcbb0861b9ac96ce1bb426e73e9a3dfcdb02",
|
|
769
|
+
"bytes": 11266
|
|
770
770
|
},
|
|
771
771
|
{
|
|
772
772
|
"path": "skills/short-drama-video-prompts/references/motion-recipe.md",
|
|
@@ -800,13 +800,13 @@
|
|
|
800
800
|
},
|
|
801
801
|
{
|
|
802
802
|
"path": "skills/short-drama-video-prompts/references/stage-contract.md",
|
|
803
|
-
"sha256": "
|
|
804
|
-
"bytes":
|
|
803
|
+
"sha256": "9e24f8e5459dfc50c4fdb00dd0d37b14c2586f582caaa934df72031bb263111a",
|
|
804
|
+
"bytes": 11068
|
|
805
805
|
},
|
|
806
806
|
{
|
|
807
807
|
"path": "skills/short-drama-video-prompts/references/target-model-profile.md",
|
|
808
|
-
"sha256": "
|
|
809
|
-
"bytes":
|
|
808
|
+
"sha256": "10a1136ca36c2e16195840cde69631bd1fab99960b31445120e5bdef506e619d",
|
|
809
|
+
"bytes": 9029
|
|
810
810
|
},
|
|
811
811
|
{
|
|
812
812
|
"path": "skills/short-drama-video-prompts/scripts/container_check.py",
|
|
@@ -925,8 +925,8 @@
|
|
|
925
925
|
},
|
|
926
926
|
{
|
|
927
927
|
"path": "skills/short-drama/SKILL.md",
|
|
928
|
-
"sha256": "
|
|
929
|
-
"bytes":
|
|
928
|
+
"sha256": "0fe4e5630d93eea97108868f3806fb525661062d0636c12b8d7d2bd5d1e147ad",
|
|
929
|
+
"bytes": 9772
|
|
930
930
|
},
|
|
931
931
|
{
|
|
932
932
|
"path": "skills/short-drama/agents/openai.yaml",
|
|
@@ -960,18 +960,18 @@
|
|
|
960
960
|
},
|
|
961
961
|
{
|
|
962
962
|
"path": "skills/short-drama/references/contract-and-ownership.md",
|
|
963
|
-
"sha256": "
|
|
964
|
-
"bytes":
|
|
963
|
+
"sha256": "4e6522648f47a51612251153767f15daaaacad8a014b0aa63a8b9666f342ce91",
|
|
964
|
+
"bytes": 2861
|
|
965
965
|
},
|
|
966
966
|
{
|
|
967
967
|
"path": "skills/short-drama/references/creator-documents.md",
|
|
968
|
-
"sha256": "
|
|
969
|
-
"bytes":
|
|
968
|
+
"sha256": "3176642b8395c0967c2ec829c56db00fc3393ee20afc16fddda691431c1b8293",
|
|
969
|
+
"bytes": 16416
|
|
970
970
|
},
|
|
971
971
|
{
|
|
972
972
|
"path": "skills/short-drama/references/creator-workflow.md",
|
|
973
|
-
"sha256": "
|
|
974
|
-
"bytes":
|
|
973
|
+
"sha256": "5796f68fe3242da4010036ce3c7ff1f22edf548acb80caff9b988b69921d28cd",
|
|
974
|
+
"bytes": 5934
|
|
975
975
|
},
|
|
976
976
|
{
|
|
977
977
|
"path": "skills/short-drama/references/form-cards/Q版表达.md",
|
|
@@ -1025,8 +1025,8 @@
|
|
|
1025
1025
|
},
|
|
1026
1026
|
{
|
|
1027
1027
|
"path": "skills/short-drama/references/reference-roles.md",
|
|
1028
|
-
"sha256": "
|
|
1029
|
-
"bytes":
|
|
1028
|
+
"sha256": "2f6480db79c179269fad2a492e9bef782ad9be0a1436b243d9f5627987e89012",
|
|
1029
|
+
"bytes": 4326
|
|
1030
1030
|
},
|
|
1031
1031
|
{
|
|
1032
1032
|
"path": "skills/short-drama/references/runtime-preflight.md",
|
|
@@ -1035,8 +1035,8 @@
|
|
|
1035
1035
|
},
|
|
1036
1036
|
{
|
|
1037
1037
|
"path": "skills/short-drama/scripts/creator_markdown_check.py",
|
|
1038
|
-
"sha256": "
|
|
1039
|
-
"bytes":
|
|
1038
|
+
"sha256": "f34e71b24bf725e105c4b943370064c6e7fa5d389e1835fb3c6a467ba2c05617",
|
|
1039
|
+
"bytes": 55674
|
|
1040
1040
|
},
|
|
1041
1041
|
{
|
|
1042
1042
|
"path": "skills/short-drama/scripts/project_tool.py",
|
|
@@ -46,7 +46,10 @@ license: MIT
|
|
|
46
46
|
6. 请求横跨视觉设定、图片提示词、分镜或视频提示词时,结束前按当前五文档做一次视觉依赖对账;
|
|
47
47
|
不因图片提示词和分镜可并行,就把后完成的一支留在另一支的旧引用之外。
|
|
48
48
|
7. 视频提示词请求遇到「输入参考图:无」或仍带「待补参考图」时,先路由分镜 owner 检查项目已有图片并刷新绑定。有匹配图就同请求续跑;有必要图缺失就列表停下。
|
|
49
|
-
|
|
49
|
+
停下时把三条路一起给出:把已有图片放进项目绑成 `REF-...`;由创作者在自己的工具里出图、本轮先用
|
|
50
|
+
`PLAN-...` 写出逐镜挂图计划并照常产出视频提示词;或者明确改走文生视频。用本套件生产参考图需要项目外的
|
|
51
|
+
adapter 与凭据,只是第一条路的一种做法,不要把它说成唯一入口,也不要只给「生成参考图 / 文生视频」两个选项。
|
|
52
|
+
不把“没有手工指定”当成明确选择文生视频。这一轮如果镜头还缺「视觉依据」,
|
|
50
53
|
同时按已成稿的冻结关键帧回填;两条依据描述同一格画面,不要只补一条。
|
|
51
54
|
8. 用户在会话里点名目标视频模型(“按 MiniMax H3 写”“用 Seedance 2.5”)而 `short-drama.json` 的
|
|
52
55
|
`production_profile` 还是 `unset` 时,先把这个选择连同它带来的原生时长、参考方式和正文语言写进档案,
|
|
@@ -28,6 +28,8 @@
|
|
|
28
28
|
|
|
29
29
|
真实输入参考图不是图片提示词条目,所以每张图使用独立稳定的 `REF-...` 槽位,槽位内写显式顺序、可见项目相对路径、中文名称、用途和控制范围。它不使用 `IMG-...`;路径只用 `/` 分隔,不写绝对路径、Windows 盘符/网络路径或项目外路径。
|
|
30
30
|
|
|
31
|
+
图片由创作者在项目外准备、生成时自行挂载时没有项目内路径可写,改用 `PLAN-...` 槽位:其余字段与 `REF-...` 相同,定位符写这张图对应的 `IMG-...` 板子或 `SHOT-...` 冻结关键帧。这里出现 `IMG-...` 不是把提示词条目当成图片,而是回答「这张图画的是哪一条已决定的事实」;`PLAN-...` 不声称项目里有文件,也因此不能作为生产输入。
|
|
32
|
+
|
|
31
33
|
## 规则分级
|
|
32
34
|
|
|
33
35
|
- `structural_invariant`:本地可证明的引用、ID、算术或显式矛盾;
|
|
@@ -111,10 +111,25 @@ REF-<slot>(顺序:<n>)· <项目相对路径>《<中文名称>》(用途
|
|
|
111
111
|
`起始帧`、一张 `结束帧`,且写 `结束帧` 时必须同时有 `起始帧`。有了 `用途`,视频提示词就能直接回答
|
|
112
112
|
「本镜要送哪一张分镜起始帧、哪些人物/道具/场景图」,生产端也不必再猜每张图的职责。
|
|
113
113
|
|
|
114
|
-
|
|
114
|
+
创作者在别处出图时,图片不会进项目,`REF-...` 也就无从写起。这时用 `PLAN-...` 槽位,
|
|
115
|
+
语法与 `REF-...` 完全一致,只把定位符从项目相对路径换成本项目已有的条目 ID:
|
|
115
116
|
|
|
116
|
-
|
|
117
|
-
|
|
117
|
+
```markdown
|
|
118
|
+
PLAN-<slot>(顺序:<n>)· <IMG-... 或 SHOT-...>《<中文名称>》(用途:<用途>;控制:<范围>;不得控制:<范围>)
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
`IMG-...` 指《图片提示词.md》的板子,`SHOT-...` 指那一镜的冻结关键帧;两者都必须在当前项目里
|
|
122
|
+
解析得到,`IMG-...` 的中文名称还要和它的标题一致。`PLAN-...` 说的是「这张图不在项目里,
|
|
123
|
+
生成时由创作者按这个顺序挂载」,与「已有图片」和「待补」都不是同一句话:它不声称文件存在,
|
|
124
|
+
也不表示还在等谁。`顺序` 就是创作者在生成界面里挂图的次序,也是可复制正文里 `<Picture N>` 的编号。
|
|
125
|
+
一张已经在项目里的图仍然写 `REF-...`;两种槽位可以在同一条声明里混用,`顺序` 在两者之间统一连续编号。
|
|
126
|
+
|
|
127
|
+
「输入参考图」有四种准备结果,不能把它们混在一起:
|
|
128
|
+
|
|
129
|
+
- 已绑定 `REF-...`:图片真实存在于项目中,可进入图生/参考生视频,也可交给生产技能执行;
|
|
130
|
+
- 已声明 `PLAN-...`:图片由创作者在项目外准备并在生成时自行挂载,视频提示词照常产出;
|
|
131
|
+
本套件没有文件可送,所以这些镜头不能进入生产技能,需要投产时先把真实文件放进项目并改写成 `REF-...`;
|
|
132
|
+
- 待补:一张都没有时写 `无(待补参考图:……)`;只缺一部分时保留已有 `REF-...` 或 `PLAN-...`,末尾追加 `;待补参考图:……`。视频提示词尚未就绪;
|
|
118
133
|
- `无(创作者已明确选择文生视频)`:创作者在了解一致性影响后明确不用图,可进入文生视频。
|
|
119
134
|
|
|
120
135
|
`IMG-...` 只用于查找,不靠英文 slug 向创作者解释含义。每个引用都同时写简短中文名称和
|
|
@@ -142,6 +157,14 @@ REF-<slot>(顺序:<n>)· <项目相对路径>《<中文名称>》(用途
|
|
|
142
157
|
- 输入参考图:REF-JIANGCHEN-LOOK(顺序:1)· 输入/参考图/江辰定妆.jpg《江辰定妆照》(用途:身份;控制:脸型、体态、本集造型;不得控制:场景地理、构图、动作);待补参考图:夜间走廊地理、本镜起始帧
|
|
143
158
|
```
|
|
144
159
|
|
|
160
|
+
创作者在自己的工具里出图时,本镜要挂哪几张、按什么次序挂,写成 `PLAN-...`:
|
|
161
|
+
|
|
162
|
+
```markdown
|
|
163
|
+
- 图片提示词项:IMG-JIANGCHEN-SHEET《江辰角色板》(控制:身份、体态)
|
|
164
|
+
- 输入参考图:PLAN-SHOT-START(顺序:1)· SHOT-EP001-001《本镜冻结关键帧》(用途:起始帧;控制:起始构图、站位;不得控制:尚未发生的动作、终态);PLAN-JIANGCHEN(顺序:2)· IMG-JIANGCHEN-SHEET《江辰角色板》(用途:身份;控制:脸型、体态、本集造型;不得控制:构图、动作、表情)
|
|
165
|
+
- 视觉依据:《视觉设定.md》·人物「江辰」(控制:身份、体态);地点「旧走廊」(控制:空间地理、出入口)。
|
|
166
|
+
```
|
|
167
|
+
|
|
145
168
|
两者也可同时存在,但各用各的定位符:
|
|
146
169
|
|
|
147
170
|
```markdown
|
|
@@ -167,11 +190,14 @@ REF-<slot>(顺序:<n>)· <项目相对路径>《<中文名称>》(用途
|
|
|
167
190
|
|
|
168
191
|
## `视频提示词.md`
|
|
169
192
|
|
|
170
|
-
与分镜一一对应时沿用镜头号并使用 `MOTION-...` ID。若「输入参考图」中的 `REF-...` 已全部就绪,使用图生视频,正文
|
|
193
|
+
与分镜一一对应时沿用镜头号并使用 `MOTION-...` ID。若「输入参考图」中的 `REF-...` 与 `PLAN-...` 已全部就绪,使用图生视频,正文
|
|
171
194
|
只需重述运动所需的局部起点和防漂移事实;只有「输入参考图:无(创作者已明确选择文生视频)」才使用文生视频,正文必须自足地
|
|
172
195
|
包含人物、造型、地点、构图、光线等本镜需要的静态视觉锚点,不能用 `preserve/保持已有外观`
|
|
173
196
|
代替模型并未收到的图片。「待补参考图」会阻止最终视频提示词;视频文档中的「输入参考图」必须与对应分镜逐字一致。
|
|
174
197
|
|
|
198
|
+
可复制正文里被引号或 `<d>` 包起来的中文,必须能在《剧本.md》或《视觉设定.md》里找到同样的字。
|
|
199
|
+
提示词负责把已确认的台词送到执行端,不负责替角色补一句更好的台词。
|
|
200
|
+
|
|
175
201
|
除非剧本或创作者明确要求,视频正文用项目提示词语言直接声明全镜任何时刻都不生成非画内字幕、
|
|
176
202
|
caption 和对白文字叠加,不能只写抽象的“文字层为空”,让对白只通过声音与口型发生。旗帜、标牌、
|
|
177
203
|
屏幕等画内文字另走已接受的文字政策:`exact_readable` 逐字携带准确
|
|
@@ -66,13 +66,19 @@ EP001 的角色图和场景图在 输入/参考图/ 下,本镜起始帧在 剧
|
|
|
66
66
|
请按这些图写 MiniMax H3 的图生视频提示词,逐镜说明送哪一张起始帧、哪些人物/道具/场景图。
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
+
```text
|
|
70
|
+
参考图我自己在 MiniMax 的界面里出,不进项目。EP001 按 H3 写视频提示词,
|
|
71
|
+
逐镜告诉我要挂哪几张图、按什么顺序挂、每张管什么。
|
|
72
|
+
```
|
|
73
|
+
|
|
69
74
|
```text
|
|
70
75
|
这一集没有也不打算做参考图,明确走文生视频,静态视觉锚点写足。
|
|
71
76
|
```
|
|
72
77
|
|
|
73
78
|
一句请求里值得交代的是四件事:**做哪一集的哪一阶段**、**目标视频模型**、**参考图在哪里或还没有**、
|
|
74
|
-
|
|
75
|
-
|
|
79
|
+
**没有图时怎么办**。前三件缺一件,技能会来问或按已接受档案推进;最后一件从不替创作者假设。
|
|
80
|
+
第四件有三个答案:等图、由创作者自己在别处出图并挂载(写成 `PLAN-...`)、或者明确走文生视频;
|
|
81
|
+
一个都没说时,就当成还在等图。
|
|
76
82
|
|
|
77
83
|
结构检查服务于发现错误,不是创作门禁。能在当前文档直接修正的问题直接修正;审查、归档和媒体
|
|
78
84
|
生产只有用户点名时开始。安装 selftest、全量 QA 和 demo 验证属于技能维护,不属于普通创作请求。
|
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
## 每张参考回答五个问题
|
|
6
6
|
|
|
7
7
|
1. 它的稳定 `REF-...` 槽位和显式顺序是什么;
|
|
8
|
-
2.
|
|
8
|
+
2. 它的可见定位符和中文名称是什么:图片在项目里时写项目相对路径,例如
|
|
9
|
+
`输入/参考图/江辰定妆.jpg《江辰定妆照》`;图片由创作者在项目外准备并在生成时自行挂载时,
|
|
10
|
+
写它对应的 `IMG-...` 板子或 `SHOT-...` 冻结关键帧;
|
|
9
11
|
3. 本次参考身份、造型状态、地理、构图、尺度、效果、起始帧、结束帧还是风格;
|
|
10
12
|
4. 哪些可见内容允许照着写;
|
|
11
13
|
5. 哪些身份、文字、人数、道具和空间锚点不能跟着变。
|
|
@@ -26,13 +28,25 @@
|
|
|
26
28
|
| 结束帧 | 本镜明确终点 | 新终点或未由镜头承担的结果 |
|
|
27
29
|
| 风格 | 色彩层级、材质、阴影边缘、景深、密度 | 身份、固定地理、剧情、道具文字 |
|
|
28
30
|
|
|
31
|
+
`身份` 和 `造型状态` 的界线是「本集之内会不会变」,不是「算不算衣服」。一张角色板同时固定长相和
|
|
32
|
+
本集从头到尾不变的造型时,写一个 `身份` 槽位,并把 `本集造型` 明确列进 `控制`——这是本套件的既定写法。
|
|
33
|
+
只有在本集之内会改变的状态(换装、湿透、破损、血污)才另开 `造型状态` 槽位,让它管那一次改变。
|
|
34
|
+
判断依据永远是这个槽位自己写下的 `控制` 范围,不是用途名称的字面意思。
|
|
35
|
+
|
|
36
|
+
道具板落在 `身份` 还是 `造型状态`,按这张图决定的是「它是哪一件」还是「它此刻处在哪个状态」:
|
|
37
|
+
固定的形制、配色、裂纹与磕角这类跨镜不变的识别标记写 `身份`;亮屏/熄屏、开合、湿污、破损程度
|
|
38
|
+
这类会随剧情改变的写 `造型状态`。同一件道具的两者都需要固定时,拆成两个槽位。
|
|
39
|
+
|
|
29
40
|
## 观察边界
|
|
30
41
|
|
|
31
42
|
创作者或权利人给出的可核对说明可以作为文字证据;运行环境获授权看过参考图时,可以报告实际可见
|
|
32
43
|
内容。两者都没有时保持“未验证”,不得声称水印、文字、裁切或身份已经通过。负面提示词不能擦掉
|
|
33
44
|
参考图已有的像素。
|
|
34
45
|
|
|
35
|
-
真实参考图使用 `REF-...` 稳定槽位,不使用 `IMG-...`;后一前缀专属《图片提示词.md
|
|
46
|
+
真实参考图使用 `REF-...` 稳定槽位,不使用 `IMG-...`;后一前缀专属《图片提示词.md》的可见提示词标题。
|
|
47
|
+
创作者自己挂载的图使用 `PLAN-...` 槽位,语法与 `REF-...` 相同,只把路径换成它对应的 `IMG-...` 或
|
|
48
|
+
`SHOT-...` 条目——这五个问题的答案一个不少,只是第 2 问答的是「这张图画的是哪一条已决定的事实」,
|
|
49
|
+
而不是「文件在哪里」。上表九个用途对两种槽位同样适用。多张真实图的每个槽位绑定显式顺序、项目相对路径、中文名称、用途、可控制范围和不可控制范围;联系表只是浏览包装,不改变每张图自己的用途。首尾帧默认只使用起点;
|
|
36
50
|
确实需要终点帧时,它只能投影 `SHOT-...` 已写明的终点,不能自行发明结果。
|
|
37
51
|
|
|
38
52
|
观众知情时机见 [观众揭示](audience-reveal.md),补拍是否能替代母版见
|