@gitruck/cli 1.3.6 → 1.3.8

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 (51) hide show
  1. package/AGENT.md +23 -0
  2. package/CHANGELOG.md +32 -0
  3. package/README.en.md +1 -0
  4. package/README.md +1 -0
  5. package/assets/composite-kit/kit.css +2 -2
  6. package/assets/composite-kit/kit.js +2 -0
  7. package/assets/composite-kit/stage.html +14 -2
  8. package/assets/readme/wordmark.svg +6 -6
  9. package/contracts/README.md +16 -16
  10. package/contracts/gsap-emit-v1.md +163 -163
  11. package/contracts/handoff-contracts.json +10 -10
  12. package/dist/index.js +352 -313
  13. package/docs/development.en.md +47 -47
  14. package/docs/development.md +47 -47
  15. package/docs/reference.en.md +71 -13
  16. package/docs/reference.md +74 -15
  17. package/package.json +2 -2
  18. package/skills/gtrk-ai-drama/SKILL.md +10 -10
  19. package/skills/gtrk-ai-drama/references/sparse-key-scenes.md +38 -38
  20. package/skills/gtrk-ai-drama/scripts/validate-storyboard.mjs +119 -119
  21. package/skills/gtrk-composite/SKILL.md +28 -5
  22. package/skills/gtrk-cover/SKILL.md +3 -3
  23. package/skills/gtrk-cover/references/layout-recipes.md +337 -337
  24. package/skills/gtrk-cover/references/prompt-templates.md +119 -119
  25. package/skills/gtrk-food-recap/SKILL.md +2 -2
  26. package/skills/gtrk-live-slicing/SKILL.md +10 -4
  27. package/skills/gtrk-long2short/SKILL.md +3 -0
  28. package/skills/gtrk-matrix/SKILL.md +5 -0
  29. package/skills/gtrk-mg/SKILL.md +398 -391
  30. package/skills/gtrk-music-visualizer/SKILL.md +3 -3
  31. package/skills/gtrk-narration/SKILL.md +6 -2
  32. package/skills/gtrk-ref-reading/SKILL.md +145 -0
  33. package/skills/gtrk-ref-reading/references/close-reading-checklist.md +47 -0
  34. package/skills/gtrk-ref-reading/references/landing-templates.md +95 -0
  35. package/skills/gtrk-splitter/SKILL.md +298 -298
  36. package/skills/gtrk-splitter/references/example-visual-split.json +645 -645
  37. package/skills/gtrk-splitter/references/example-visual-split.md +439 -439
  38. package/skills/gtrk-splitter/references/field-schema.md +171 -171
  39. package/skills/gtrk-style-maker/SKILL.md +7 -0
  40. package/skills/gtrk-style-maker/references/ammo.md +16 -16
  41. package/skills/gtrk-style-maker/references/contracts-ref.md +9 -9
  42. package/skills/gtrk-style-maker/references/seeds/README.md +4 -4
  43. package/skills/gtrk-style-maker/references/seeds/seed-ecom-home-goods.md +37 -37
  44. package/skills/gtrk-style-maker/references/seeds/seed-psych-humanities.md +35 -35
  45. package/skills/gtrk-talking-head/SKILL.md +11 -9
  46. package/skills/gtrk-tools/SKILL.md +1 -1
  47. package/skills/gtrk-transcript/SKILL.md +4 -4
  48. package/skills/gtrk-transcript/agents/openai.yaml +4 -4
  49. package/skills/gtrk-travel-recap/SKILL.md +8 -0
  50. package/skills/gtrk-vlog-docu/SKILL.md +8 -0
  51. package/skills/gtrk-voiceover/SKILL.md +7 -2
@@ -1,119 +1,119 @@
1
- # 文生图 Prompt 模板(框架版)
2
-
3
- **铁律**:
4
- - **不**在 Prompt 里要求生图模型渲染中文字。汉字由**阶段二的 H5 工作台**贴字(用户用浏览器交互完成),图里**只留"气息性的软留白"**——不必做硬留白约束。
5
- - 总是输出**英文主版 + 中文辅版**两套。
6
- - 三种尺寸(16:9 / 4:3 / 3:4)**各出一套**,构图差异显式化:
7
- - **16:9**:横版,主体居中,两侧有气息的空间
8
- - **4:3**:横版饱满,主体可以顶到三边,对角留气口
9
- - **3:4**:竖版,主体在中段,上下舒展,便于"上下分飞"排字
10
- - 每套 Prompt 各占一段,不要三尺寸塞一个段落。
11
- - 每套都塞满"风格锚点 + 色板 + 材质"三件套,不要只写主体。
12
-
13
- **风格注入槽位**:框架对审美零预设,风格三件套里的「风格」与「材质」是两个注入槽位,值由**栏目封面风格资产**供给;无资产时用中性默认值。
14
-
15
- | 槽位 | 含义 | 中性默认值 | 栏目资产供值示例(示例、非默认) |
16
- |---|---|---|---|
17
- | 【风格锚点 A】 | 画风定调串 | cinematic illustration, clean composition | anime illustration style, 2D cel-shaded |
18
- | 【材质串 T】 | 质感/印刷肌理串 | subtle film grain | film grain, paper texture, halftone dots |
19
-
20
- ---
21
-
22
- ## 英文主版骨架(Midjourney / SD / Flux / Nano Banana)
23
-
24
- ```
25
- [主体 S 描写], [容器意象 C 融合描写], [情绪氛围 M],
26
- 【风格锚点 A】,
27
- [光线 L], [镜头 Cam], [色板 P],
28
- 【材质串 T】,
29
- composition: [留字位描述 R],
30
- negative: photorealistic face, 3D render, glossy skin, ugly anatomy, watermark, text, chinese characters, blurry
31
- --ar [比例] --style raw --stylize 250
32
- ```
33
-
34
- (负面提示里与画风相斥的项目也随栏目资产调整,如写实系栏目不排除 photorealistic。)
35
-
36
- ### 槽位填法
37
-
38
- | 槽位 | 填法 | 范例 |
39
- |---|---|---|
40
- | S | 角色外形 + 表情 + 姿态;或抽象意象描写 | a solitary young woman with silver hair, downcast eyes, wearing a dark coat / a lone astronaut silhouette |
41
- | C | 容器意象的视觉化,叠在主体身上/周围 | overlaid with translucent neural network patterns glitching / surrounded by colliding light particles forming a supernova |
42
- | M | 情绪形容 | quiet despair yet faint hope, suffocating tenderness, cold clinical detachment |
43
- | L | 光线 | rim light from behind, single hard light from upper left, god rays through dust |
44
- | Cam | 镜头 | close-up portrait, medium shot, wide cinematic shot, dutch angle |
45
- | P | 色板(由栏目风格资产的色板表供英译) | 见下「色板英译」 |
46
- | R | 留字位 | 软建议而非硬约束。例如 "edges with softer visual weight for typography overlay" / "central subject with breathing room on sides" |
47
- | 比例 | --ar 参数 | `--ar 16:9` / `--ar 4:3` / `--ar 3:4` |
48
-
49
- ### 色板英译
50
-
51
- 色板英译由**栏目风格资产的色板表自带**(每个色板代号配一条英文描述串);无资产时用中性描述(如 muted cool palette with a single warm accent)。格式示例:
52
-
53
- ```
54
- | 代号 | 英文描述 |
55
- |---|---|
56
- | P-x | steel blue and bone white, single warm amber accent |
57
- ```
58
-
59
- ### 完整范例(16:9,"过拟合"主题)——某栏目实例(风格锚点/色板为该栏目资产值)
60
-
61
- ```
62
- a lone young woman gazing away, her silhouette gradually dissolving into
63
- translucent glitching neural network lines, looping patterns repeating
64
- over her shoulders and hair, quiet despair with a distant trace of
65
- awakening, anime illustration style, 2D cel-shaded with thick line
66
- art, rim light from behind suggesting hidden warmth, medium close-up
67
- slightly off-center, steel blue and bone white palette with a single
68
- amber accent, film grain, paper texture, halftone noise on background,
69
- composition: subject centered with breathing room on both sides,
70
- edges with softer visual weight so typography can overlay later,
71
- negative: photorealistic face, 3D render, glossy skin, ugly anatomy,
72
- watermark, text, chinese characters, blurry, extra fingers, deformed hand
73
- --ar 16:9 --style raw --stylize 250
74
- ```
75
-
76
- ---
77
-
78
- ## 中文辅版骨架(即梦 / 可灵 / 通义万相 / 文心)
79
-
80
- 中文模型对自然语言段落式 Prompt 响应更好,不要生搬英文结构。
81
-
82
- ```
83
- 【画面主体】一位/一件/一个……,[外形 + 神态 + 姿势]。
84
- 【容器意象】画面中融合 [容器的视觉化描述],与主体叠压 / 环绕 / 映射在背景。
85
- 【情绪氛围】整体气氛 [情绪形容]。
86
- 【风格】[风格锚点 A 的中文表述],不要真人写真,不要 3D 渲染(排除项随栏目画风调整)。
87
- 【光线】[光线描述]。
88
- 【镜头】[镜头角度与景别]。
89
- 【色彩】主色 [主色],辅色 [辅色],点缀 [强调色](取值由栏目色板表供给)。
90
- 【质感】[材质串 T 的中文表述]。
91
- 【构图】主体 [位置];[明确留白区域],该区域绝对不要出现任何元素。
92
- 【排除】不要文字,不要中文字符,不要水印,不要 3D 光泽皮肤,不要多余手指。
93
- 【比例】[16:9 / 4:3 / 3:4]。
94
- ```
95
-
96
- ---
97
-
98
- ## 模型差异化调参
99
-
100
- | 平台 | 独有参数 / 注意事项 |
101
- |---|---|
102
- | Midjourney v7 | 加 `--style raw --stylize 150~400`;需要一致风格时加 `--sref <URL>` 引用一张基准图 |
103
- | Flux.1 (dev/pro) | 去掉 `--ar` 用 `aspect ratio: 16:9` 自然语言;风格锚点要更具体 |
104
- | Stable Diffusion XL | 用 `(keyword:1.3)` 给权重;负面提示单独输入 |
105
- | Nano Banana | 接受长段描述,可直接贴中文辅版;支持参考图输入 |
106
- | 即梦 / 可灵 | 参考图 + 中文辅版效果最佳,英文 Prompt 表现弱 |
107
- | 通义万相 | 对"不要 XX"这类排除描述响应很好,用中文辅版 |
108
-
109
- ---
110
-
111
- ## 常见 Prompt 失败与补救
112
-
113
- | 症状 | 补救 |
114
- |---|---|
115
- | 模型硬要画中文字,全是乱码 | 负面提示加 `text, chinese characters, letters, signs`,主提示加 `no text, empty space for text overlay` |
116
- | 脸的质感偏离栏目画风(如插画系被画成真人磨皮) | 主提示前置栏目的【风格锚点 A】并显式排除对立画风(如 `NOT photorealistic`);负面加对立项(如 `3D render, photograph, realistic skin`) |
117
- | 主体被容器意象吞掉,看不清 | 调整描述比例:"subject clearly visible, container motif as translucent overlay at 30% opacity" |
118
- | 太满没留字位 | 显式写 "composition: LEFT THIRD completely empty, solid color, no elements";可先用构图图参考(scribble / sketch)约束 |
119
- | 色板没出效果 | 把色板 HEX 值写进 Prompt:`dominant colors #XXXXXX and #XXXXXX`;或附参考色板图。精确色 token 由栏目风格资产自带,写进 Prompt 用 HEX |
1
+ # 文生图 Prompt 模板(框架版)
2
+
3
+ **铁律**:
4
+ - **不**在 Prompt 里要求生图模型渲染中文字。汉字由**阶段二的 H5 工作台**贴字(用户用浏览器交互完成),图里**只留"气息性的软留白"**——不必做硬留白约束。
5
+ - 总是输出**英文主版 + 中文辅版**两套。
6
+ - 三种尺寸(16:9 / 4:3 / 3:4)**各出一套**,构图差异显式化:
7
+ - **16:9**:横版,主体居中,两侧有气息的空间
8
+ - **4:3**:横版饱满,主体可以顶到三边,对角留气口
9
+ - **3:4**:竖版,主体在中段,上下舒展,便于"上下分飞"排字
10
+ - 每套 Prompt 各占一段,不要三尺寸塞一个段落。
11
+ - 每套都塞满"风格锚点 + 色板 + 材质"三件套,不要只写主体。
12
+
13
+ **风格注入槽位**:框架对审美零预设,风格三件套里的「风格」与「材质」是两个注入槽位,值由**栏目封面风格资产**供给;无资产时用中性默认值。
14
+
15
+ | 槽位 | 含义 | 中性默认值 | 栏目资产供值示例(示例、非默认) |
16
+ |---|---|---|---|
17
+ | 【风格锚点 A】 | 画风定调串 | cinematic illustration, clean composition | anime illustration style, 2D cel-shaded |
18
+ | 【材质串 T】 | 质感/印刷肌理串 | subtle film grain | film grain, paper texture, halftone dots |
19
+
20
+ ---
21
+
22
+ ## 英文主版骨架(Midjourney / SD / Flux / Nano Banana)
23
+
24
+ ```
25
+ [主体 S 描写], [容器意象 C 融合描写], [情绪氛围 M],
26
+ 【风格锚点 A】,
27
+ [光线 L], [镜头 Cam], [色板 P],
28
+ 【材质串 T】,
29
+ composition: [留字位描述 R],
30
+ negative: photorealistic face, 3D render, glossy skin, ugly anatomy, watermark, text, chinese characters, blurry
31
+ --ar [比例] --style raw --stylize 250
32
+ ```
33
+
34
+ (负面提示里与画风相斥的项目也随栏目资产调整,如写实系栏目不排除 photorealistic。)
35
+
36
+ ### 槽位填法
37
+
38
+ | 槽位 | 填法 | 范例 |
39
+ |---|---|---|
40
+ | S | 角色外形 + 表情 + 姿态;或抽象意象描写 | a solitary young woman with silver hair, downcast eyes, wearing a dark coat / a lone astronaut silhouette |
41
+ | C | 容器意象的视觉化,叠在主体身上/周围 | overlaid with translucent neural network patterns glitching / surrounded by colliding light particles forming a supernova |
42
+ | M | 情绪形容 | quiet despair yet faint hope, suffocating tenderness, cold clinical detachment |
43
+ | L | 光线 | rim light from behind, single hard light from upper left, god rays through dust |
44
+ | Cam | 镜头 | close-up portrait, medium shot, wide cinematic shot, dutch angle |
45
+ | P | 色板(由栏目风格资产的色板表供英译) | 见下「色板英译」 |
46
+ | R | 留字位 | 软建议而非硬约束。例如 "edges with softer visual weight for typography overlay" / "central subject with breathing room on sides" |
47
+ | 比例 | --ar 参数 | `--ar 16:9` / `--ar 4:3` / `--ar 3:4` |
48
+
49
+ ### 色板英译
50
+
51
+ 色板英译由**栏目风格资产的色板表自带**(每个色板代号配一条英文描述串);无资产时用中性描述(如 muted cool palette with a single warm accent)。格式示例:
52
+
53
+ ```
54
+ | 代号 | 英文描述 |
55
+ |---|---|
56
+ | P-x | steel blue and bone white, single warm amber accent |
57
+ ```
58
+
59
+ ### 完整范例(16:9,"过拟合"主题)——某栏目实例(风格锚点/色板为该栏目资产值)
60
+
61
+ ```
62
+ a lone young woman gazing away, her silhouette gradually dissolving into
63
+ translucent glitching neural network lines, looping patterns repeating
64
+ over her shoulders and hair, quiet despair with a distant trace of
65
+ awakening, anime illustration style, 2D cel-shaded with thick line
66
+ art, rim light from behind suggesting hidden warmth, medium close-up
67
+ slightly off-center, steel blue and bone white palette with a single
68
+ amber accent, film grain, paper texture, halftone noise on background,
69
+ composition: subject centered with breathing room on both sides,
70
+ edges with softer visual weight so typography can overlay later,
71
+ negative: photorealistic face, 3D render, glossy skin, ugly anatomy,
72
+ watermark, text, chinese characters, blurry, extra fingers, deformed hand
73
+ --ar 16:9 --style raw --stylize 250
74
+ ```
75
+
76
+ ---
77
+
78
+ ## 中文辅版骨架(即梦 / 可灵 / 通义万相 / 文心)
79
+
80
+ 中文模型对自然语言段落式 Prompt 响应更好,不要生搬英文结构。
81
+
82
+ ```
83
+ 【画面主体】一位/一件/一个……,[外形 + 神态 + 姿势]。
84
+ 【容器意象】画面中融合 [容器的视觉化描述],与主体叠压 / 环绕 / 映射在背景。
85
+ 【情绪氛围】整体气氛 [情绪形容]。
86
+ 【风格】[风格锚点 A 的中文表述],不要真人写真,不要 3D 渲染(排除项随栏目画风调整)。
87
+ 【光线】[光线描述]。
88
+ 【镜头】[镜头角度与景别]。
89
+ 【色彩】主色 [主色],辅色 [辅色],点缀 [强调色](取值由栏目色板表供给)。
90
+ 【质感】[材质串 T 的中文表述]。
91
+ 【构图】主体 [位置];[明确留白区域],该区域绝对不要出现任何元素。
92
+ 【排除】不要文字,不要中文字符,不要水印,不要 3D 光泽皮肤,不要多余手指。
93
+ 【比例】[16:9 / 4:3 / 3:4]。
94
+ ```
95
+
96
+ ---
97
+
98
+ ## 模型差异化调参
99
+
100
+ | 平台 | 独有参数 / 注意事项 |
101
+ |---|---|
102
+ | Midjourney v7 | 加 `--style raw --stylize 150~400`;需要一致风格时加 `--sref <URL>` 引用一张基准图 |
103
+ | Flux.1 (dev/pro) | 去掉 `--ar` 用 `aspect ratio: 16:9` 自然语言;风格锚点要更具体 |
104
+ | Stable Diffusion XL | 用 `(keyword:1.3)` 给权重;负面提示单独输入 |
105
+ | Nano Banana | 接受长段描述,可直接贴中文辅版;支持参考图输入 |
106
+ | 即梦 / 可灵 | 参考图 + 中文辅版效果最佳,英文 Prompt 表现弱 |
107
+ | 通义万相 | 对"不要 XX"这类排除描述响应很好,用中文辅版 |
108
+
109
+ ---
110
+
111
+ ## 常见 Prompt 失败与补救
112
+
113
+ | 症状 | 补救 |
114
+ |---|---|
115
+ | 模型硬要画中文字,全是乱码 | 负面提示加 `text, chinese characters, letters, signs`,主提示加 `no text, empty space for text overlay` |
116
+ | 脸的质感偏离栏目画风(如插画系被画成真人磨皮) | 主提示前置栏目的【风格锚点 A】并显式排除对立画风(如 `NOT photorealistic`);负面加对立项(如 `3D render, photograph, realistic skin`) |
117
+ | 主体被容器意象吞掉,看不清 | 调整描述比例:"subject clearly visible, container motif as translucent overlay at 30% opacity" |
118
+ | 太满没留字位 | 显式写 "composition: LEFT THIRD completely empty, solid color, no elements";可先用构图图参考(scribble / sketch)约束 |
119
+ | 色板没出效果 | 把色板 HEX 值写进 Prompt:`dominant colors #XXXXXX and #XXXXXX`;或附参考色板图。精确色 token 由栏目风格资产自带,写进 Prompt 用 HEX |
@@ -19,7 +19,7 @@ description: 美食解说垂类图纸(解说链示例)——把探店/密着
19
19
  | **探店 · 密着** | 一条纪实长片(二创;带字幕文件的直接当台词锚,无则转写)或自拍探店素材夹 | 软窗档缺省:进店→点单→出品→吃→人的故事,流程线单调、允许蒙太奇跳 |
20
20
  | **做饭流程** | 一条做饭记录或素材夹 | 软窗档且**步骤线忠实**:工序 MUST NOT 乱序重排 |
21
21
 
22
- 稿源与声音基座随正本开工问询(AI 代写/自备稿;TTS/自己念)。**推荐面(公约 §三‴)**:问答收口时可问一句「要不要看看第三方 skill?」;题材命中场景触发词才定向推荐,读取 `gtrk skills recommend --scene <id> --json`;用户拒绝后不执行推荐动作。**MUST NOT 执行任何网络下载**;二创长片是第三方作品,版权与平台二创规则责任归用户。
22
+ 稿源与声音基座随正本开工问询(AI 代写/自备稿;TTS/自己念);精剪包装的开工告知与烘焙浏览器问询随正本(公约 §三⁵)。**推荐面(公约 §三‴)**:问答收口时可问一句「要不要看看第三方 skill?」;题材命中场景触发词才定向推荐,读取 `gtrk skills recommend --scene <id> --json`;用户拒绝后不执行推荐动作。**MUST NOT 执行任何网络下载**;二创长片是第三方作品,版权与平台二创规则责任归用户。
23
23
 
24
24
  ## 二、美食要素层(写稿规约,叠在通用框架层之上)
25
25
 
@@ -86,7 +86,7 @@ gtrk matrix describe --plan <工程>/split/broll-plan.json --highlight-rubric @<
86
86
  ## 四、快速成片编排
87
87
 
88
88
  命令序照正本 §五(索引/字幕锚 → 写稿+出处 → 检查点① → 基座 → 建工程 → 拆分 → 铺排 →
89
- 字卡 → BGM → 字幕),配方口径(mark-weight 0.3 / BGM 0.10 / gap-fill fast)照旅拍 §五,引用不复制。
89
+ 字卡 → BGM → 字幕 → 精剪包装),配方口径(mark-weight 0.3 / BGM 0.10 / gap-fill fast)照旅拍 §五,引用不复制。
90
90
  BGM 检索词照公约 §三′ 内容驱动(这家店的气质:地域/年代/客群/烟火感,禁通用词套路;
91
91
  候选给用户挑不许默认 top1;跨片避让自动生效)。
92
92
  看点加权:`--highlight-weight 0.2` 配 §二′ 的 rubric(**须先 `matrix describe --plan` 且那一次
@@ -22,13 +22,13 @@ description: 直播切片图纸——把一场数小时的直播回放,拆成
22
22
 
23
23
  > **用户只要能直接发的成片、不打算再剪?** 那不是本图纸的活,转 `gtrk tool video_long2short_pro`(精剪,整片上传、云端渲染、计费约两倍)。判断句同 `gtrk-long2short`:**「剪完还要不要再动?」要动 → 留这儿;不动 → 转精剪。**
24
24
 
25
- ## 一、输入契约与开工五问
25
+ ## 一、输入契约与开工六问
26
26
 
27
27
  **输入**:一条直播回放的**本地文件**(`.ts` / `.mp4` 等均可)。
28
28
 
29
29
  **MUST NOT 执行录制或下载**——平台动作与版权责任归用户。用户给什么文件就用什么。
30
30
 
31
- 开工前先答五问,答案决定后面全部策略:
31
+ 开工前先答六问,答案决定后面全部策略:
32
32
 
33
33
  | # | 问 | 怎么取证 | 决定什么 |
34
34
  |---|---|---|---|
@@ -37,8 +37,9 @@ description: 直播切片图纸——把一场数小时的直播回放,拆成
37
37
  | ③ | 有无烧录贴片 | 抽 2–3 帧看(开头/中段/尾段各一) | **交付时要如实告知什么**(§五) |
38
38
  | ④ | 入选切片要不要叠 MG 动画 | **问用户**——缺省不叠(粗剪定位) | **选题清单敲定后是否走 MG 车道**(§七) |
39
39
  | ⑤ | 入选切片要不要加运镜(推拉镜头) | **问用户**——缺省不加 | **逐段提交是否带 `--camera-move`**(§七「运镜」) |
40
+ | ⑥ | 入选切片要不要做合成包装 | **问用户**——缺省不做(公约 §三⁵) | **选题清单敲定后是否对入选 clip 做精剪包装**(§七「合成包装」);答要时 `gtrk composite bake --abi` 报烘焙浏览器没装,同一张表里多问一句装不装 |
40
41
 
41
- > **②④⑤ MUST 问用户、MUST NOT 代猜。** ②猜错的代价是白跑一轮分屏(几十分钟 + 积分);
42
+ > **②④⑤⑥ MUST 问用户、MUST NOT 代猜。** ②猜错的代价是白跑一轮分屏(几十分钟 + 积分);
42
43
  > ④缺省是**不叠**——用户没要就零 MG 动作,MUST NOT 硬塞;⑤缺省是**不加**——用户没要就全程不带 `--camera-move`、不再追问。
43
44
  > ⑤ 必须在提交前问:运镜是云端任务参数,交上去之后改不了(没入选的 clip 带了运镜也无害,随 clip 一起丢弃)。
44
45
  > **③ 的取证目的只是「告知」,不是「处置」**——看到贴片不要动手,见定位铁律。
@@ -99,7 +100,7 @@ gtrk oralcut-result <task_id> --out <目录> # task_id 在产物根 task.json
99
100
 
100
101
  | 模式 | 停点 |
101
102
  |---|---|
102
- | **快速成片** | 五问 + 分段方案确认 → 逐段跑 → **【必停】选题清单** → 确认后一路出工程 |
103
+ | **快速成片** | 六问 + 分段方案确认 → 逐段跑 → **【必停】选题清单** → 确认后一路出工程(⑥ 答要时含逐条精剪包装,合成静帧随交付一次给) |
103
104
  | **逐步推进模式** | 上述基础上每步都停(分段方案 / 逐段选段结果 / 逐条工程产物) |
104
105
 
105
106
  两模式共用同一套分段规约与参数配方,**差别只在停几次,不在停不停**。
@@ -188,6 +189,11 @@ gtrk oralcut-result <task_id> --out <目录> # task_id 在产物根 task.json
188
189
  - **字幕**:见下「字幕上轨」——选题确认后对入选 clip **缺省做**。
189
190
  - **模糊底**:见下「模糊底」——源片与画布横竖不一致时,对入选 clip **缺省做**。
190
191
  - **封面**:走 `/gtrk-cover`(另出图,不改片)。
192
+ - **合成包装**:见下「合成包装」——开工 ⑥ 答要才做,只对入选 clip。
193
+
194
+ ### 合成包装(缺省不做,开工 ⑥ 答要才做,只对入选 clip)
195
+
196
+ 选题清单敲定之后,对每条入选 clip 交棒 `/gtrk-composite` 做**精剪包装**(公约 §三⁵:快速成片 auto ≤ 25% → 逐窗口复核 → 构建机检 → 铺轨烘焙,不停;回执列「做了 / 建议了没做 / 烘焙结果」;逐步推进按合成 skill 两个检查点停;开工时用户说了不要就跳过)。clip 工程与整片转写的路径同「字幕上轨」:`--gtrk "<产物根>/clip{i}/gtrk/<该 clip 的 .gtrk>" --transcript "<产物根>/json/transcript.json"`。合成写在工程里、可在客户端撤销,不动源片像素。
191
197
 
192
198
  ### 字幕上轨(缺省做,只对入选 clip)
193
199
 
@@ -67,6 +67,8 @@ gtrk long2short "D:/毛片/对谈.mp4" --language zh-CN --split-screen --split-o
67
67
 
68
68
  ## 计费与跑前须知(每次都转述给用户)
69
69
 
70
+ - **合成包装问一次**(公约 §三⁵):「出来的切片要不要做合成包装?」**缺省不做**;答要则跑完后对每条 clip 做(见「产物」末条),并在这次一起问烘焙浏览器装不装(`gtrk composite bake --abi` 报没装时)。
71
+
70
72
  - 运行时 CLI 自动查询实时价格并在跑前打印——**把计费提示原样转述**;按**上传物音频时长**计费(≈原片时长),**长片先向用户确认再跑**。
71
73
  - **源片 > 2 小时跑不了**:CLI 在上传前就会拦下(零抽取、零上传、零扣费),不是跑到一半才失败。
72
74
  遇到超长源片(直播回放常见)**先分段再逐段跑**,建议 **40 分钟/段**——
@@ -85,6 +87,7 @@ gtrk long2short "D:/毛片/对谈.mp4" --language zh-CN --split-screen --split-o
85
87
  - 横屏源进竖屏画布(缺省 9:16)时工程上下是黑边;要模糊底:`gtrk project background --gtrk <产物根>/clip{i}/gtrk/clip{i}_project.gtrk --blur`——给该 clip **主轨每个片段**写模糊底(片段级底板),客户端里可逐片段或多选批量改成黑底 / 纯色;从客户端导出的剪映草稿带模糊底、Pr 工程降级为纯黑、本地 `gtrk render` 带模糊底;云端随长剪短产出的剪映 / PR 工程生成在它之前、不带。零计费。只想要旧的整片画布设置:加 `--scope canvas`。
86
88
  - 用了 `--camera-move` 时:`clips.md` 每条时长后标「运镜 N 处」(0 处属正常);若有 clip 未能加运镜,`clips.md` 会单列「未能加运镜的切片」;告诉用户运镜在客户端 / 剪映里看,本地渲染与 PR 看不到。之后用 `gtrk patch` 裁剪 / 切分带运镜的片段,关键帧会跟着调整。
87
89
  - 用了 `--speed-factor` 时:`clips.md` 的时长是**变速后**的时长并标注倍率;若有 clip 未能变速,`clips.md` 会单列「未能变速的切片」,如实告诉用户。
90
+ - **合成包装**(跑前答了要才做):对每条 clip 交棒 `/gtrk-composite` 做**精剪包装**(公约 §三⁵:快速成片 auto ≤ 25% → 逐窗口复核 → 构建机检 → 铺轨烘焙,不停;回执列「做了 / 建议了没做 / 烘焙结果」;逐步推进按合成 skill 两个检查点停;开工时用户说了不要就跳过);参数同上面字幕那条:`--gtrk <产物根>/clip{i}/gtrk/clip{i}_project.gtrk --transcript <产物根>/json/transcript.json`。
88
91
  - **先看 `clips.md`**(产物根,人读总览):一张表列全部切片的标题/时长/评分/一句话简介 —— 用它给用户复述「出了哪几条、各讲什么、建议先精修哪条」,别让用户自己开工程猜。逐条的入选理由、跳剪说明、高光词在 `clip{i}/clip.md`。
89
92
  - 开了 `--split-screen` 时:**分屏素材落在毛片旁的 `split_screen/` 子目录**(工程素材路径指向那里,别移动/删除,移动了工程会缺素材)——这点要提前告知用户。
90
93
  - 剪映草稿已拷入草稿根(给了 `--jianying-draft-dir` 时),剪映里直接可见 `<产物根名>_clip{i}`。**判据**:草稿目录里必须是 `draft_content.json` + `draft_meta_info.json` 两个精确文件名(云端产物侧的 `clip{i}_` 前缀在拷进草稿根这一跳被剥掉,产物目录 `clip{i}/jianying/` 里保留带前缀的归档原名)。CLI 日志按实际齐全条数报「N/M 条两件套齐全」,不齐的记进 `result.json` 的 `errors`、该 clip 的 `jianyingDraftPath` 为 `null`。
@@ -400,6 +400,7 @@ gtrk matrix --project "<split 产物目录>" [--lay N] [--score-floor F] [--top-
400
400
  - `memberType`:internal=矩阵成员口(栏目偏好/concept 生效);external=通用口(固定 real_shot + 可商用)。
401
401
  - `lay.laidTracks` / `lay.laidClips`:铺了几条候选轨、几个颗粒(不含空档补片 / 黑底轨)。
402
402
  - `lay.bed`:底板形态——`fill`(缺省:候选片段自带纯黑底、空档在候选轨内补黑)/ `track`(`--black-bed` 旧形态);`lay.bed_fill` = 补了几段、几秒。
403
+ - `lay.flash_gaps`(fill 形态口播工程才有):短于 1.2s 的空档(片段间 1–2 帧缝、锚点前的空档)会在源窗余量内并进相邻片段,`absorbed` 是并掉的;`kept` 是余量不够、照旧补黑的——**成片里会闪**,非空就逐段报给用户(beat / 轨 / 区间 / 差多少余量)。
403
404
  - `lay.blackTrack`:黑底垫轨轨号(只有 `--black-bed` 才有,缺省 null)。
404
405
  - `lay.blackBedHoleSec` / `lay.blackBedHoles`:**纯黑时段**(没有任何 B-roll、靠黑片压住口播的段落;两种形态数值相同),恒全量不按阈值过滤——非零就主动报(哪个 beat、几秒、在哪),这是粗剪期既定取舍不是故障。
405
406
  - `lay.removedTracks` / `lay.keptEditedTracks`:剥了哪些旧自产轨 / 因「你编辑过」保留未剥的轨。删了什么必须跟用户说。
@@ -447,6 +448,7 @@ gtrk matrix --project "<split 产物目录>" [--lay N] [--score-floor F] [--top-
447
448
  | 「像但不能用」(水印/字幕/黑边混进候选) | 配方 B 的标准场景:`describe --plan` → 你删掉命中的 result → `matrix lay`。**CLI 不会自动剔**(零件不裁定),删不删你判断 |
448
449
  | 某候选非用不可 / 顺序想钦定 | 编辑 plan:该 result 标 `pinned:true` → `matrix lay`。钉选是落位保证(免负词/地板/不二用抢占/紧邻避让),`lay.pinned.yielded` 非空说明确实钉多了在打架,名单逐段指名 |
449
450
  | **出现空档补黑 / 黑底空洞告警** | 不是故障:照 `lay.blackBedHoles` 逐段报给用户,出路=调低 `--score-floor` / opencut 手动补片 / 动线②云端垫底 |
451
+ | **`--online` 结果带 `plan_kept`** | 外网这轮零可铺候选,**既有 plan 没被覆盖**(`planPath` 仍是上一轮的,可直接 `matrix lay`);本轮逐条报错与待核候选在 `plan_kept.online_attempt_path`,照它说明失败原因 |
450
452
  | 每段候选太少不够挑 | `--top-k` 调大重跑 |
451
453
  | 某段有空槽 / 想补特定意象 | `gtrk matrix search "<英文长句场景描述>" --project <目录> --json` 单条补检;影视解说类补检记得带 `--source-window` 保时序 |
452
454
  | 只想先看清单不铺轨 | `--lay 0`(只产 plan);之后铺 = `matrix lay`(不重新检索、不重新烧配额) |
@@ -524,6 +526,9 @@ gtrk patch move --project <dir> --clip <clip_id> --to 5.0
524
526
  gtrk patch trim --project <dir> --clip <clip_id> --out -1s
525
527
  ```
526
528
 
529
+ `gtrk matrix` 铺的片段 `clip_id` 形如 `B05-local-broll-0-3`(beat-来源层-broll-轨内序-槽序;补黑片为 `-bedfill-`),
530
+ 各层互不撞名,`--clip` 可直接寻址。
531
+
527
532
  **MUST NOT 直接编辑 `.gtrk` 的 JSON。** 片段时码是两套并存的(`clip_st`+`clip_ed` 与
528
533
  `clip_st`+`duration`):改一份不改另一份,客户端优先读 `clip_ed`、后端又不强校验它 ⇒
529
534
  **没人报错,成片却用了陈旧出点**。`gtrk patch` 替你做恒等式同步 + 帧对齐 + 写前全档校验。