@gitruck/cli 1.0.2 → 1.0.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.
- package/AGENT.md +13 -0
- package/LICENSE +21 -21
- package/README.en.md +626 -540
- package/README.md +624 -545
- package/contracts/README.md +14 -14
- package/contracts/handoff-contracts.json +10 -10
- package/dist/index.js +5170 -2033
- package/package.json +2 -2
- package/skills/gtrk-ai-drama/SKILL.md +1 -1
- package/skills/gtrk-cover/SKILL.md +93 -93
- package/skills/gtrk-cover/assets/workbench-template.html +955 -955
- package/skills/gtrk-cover/references/checklist.md +81 -81
- package/skills/gtrk-cover/references/layout-recipes.md +337 -337
- package/skills/gtrk-cover/references/prompt-templates.md +119 -119
- package/skills/gtrk-cover/references/workbench-guide.md +99 -99
- package/skills/gtrk-long2short/SKILL.md +71 -68
- package/skills/gtrk-matrix/SKILL.md +40 -7
- package/skills/gtrk-mg/SKILL.md +10 -2
- package/skills/gtrk-music-visualizer/SKILL.md +76 -76
- package/skills/gtrk-splitter/SKILL.md +208 -187
- package/skills/gtrk-splitter/references/example-visual-split.json +638 -638
- package/skills/gtrk-splitter/references/example-visual-split.md +439 -439
- package/skills/gtrk-splitter/references/field-schema.md +138 -134
- package/skills/gtrk-style-maker/references/ammo.md +16 -16
- package/skills/gtrk-style-maker/references/contracts-ref.md +9 -9
- package/skills/gtrk-style-maker/references/seeds/README.md +4 -4
- package/skills/gtrk-style-maker/references/seeds/seed-ecom-home-goods.md +37 -37
- package/skills/gtrk-style-maker/references/seeds/seed-psych-humanities.md +35 -35
- package/skills/gtrk-tools/SKILL.md +132 -132
- package/skills/gtrk-transcript/SKILL.md +64 -58
- package/skills/gtrk-transcript/agents/openai.yaml +4 -4
- package/skills/gtrk-travel-recap/SKILL.md +212 -0
|
@@ -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 |
|
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
# 工作台实例化指南(workbench-guide)
|
|
2
|
-
|
|
3
|
-
`assets/workbench-template.html` 是**中性活范本**:一份完整可运行的排字工作台(拖拽 / 方向键 / 数值 / 滚轮微调、逐尺寸与一键导出),实例化 = 逐替换位换成当期值。本文是替换位总表 + 工程注意 + 合规检查。
|
|
4
|
-
|
|
5
|
-
## 0. 分工提醒
|
|
6
|
-
|
|
7
|
-
模板的 **JS 引擎层不要动**:拖拽 / 方向键 / 滚轮 / 图层选中 / 舞台缩放(负 margin 占位)/ 导出(html2canvas)都是通用基建。要动的只有**数据与样式**:占位符、常量、DEFAULTS、CSS 变量与字体、图层组。
|
|
8
|
-
|
|
9
|
-
## 1. 替换位总表
|
|
10
|
-
|
|
11
|
-
| 替换位 | 位置 | 说明 |
|
|
12
|
-
|---|---|---|
|
|
13
|
-
| `__BG_16_9__` / `__BG_4_3__` / `__BG_3_4__` | 各 `.cover` 的 `<img class="bg">` | 唯一的显式占位符:换成 `data:image/jpeg;base64,<压缩后>` |
|
|
14
|
-
| `<title>` / `<h1>` / `.sub` / 3 个 `.pill` | 头部 | 当期 T1、英文副题、布局名 / 色板名 / 操作提示 |
|
|
15
|
-
| `T1_KEYS` 常量 | script 顶部 | **T1 字数驱动的总开关**,见 §2 |
|
|
16
|
-
| `#t1-text` 的 `value` 与 `maxlength`、`state.t1Text` | 右栏 + script | T1 初值**两处**必须一致 |
|
|
17
|
-
| 各 `.cover` 内的 `char*` div 组 | 三个 cover | 数量与 `T1_KEYS` 一致、initial 文本逐字填 |
|
|
18
|
-
| `t2 / t5 / t4` 初始文案 | cover 内 div **与** DEFAULTS `text` 双处 | 副标题(≤12 字钩子)/ 装饰英文 / 品牌戳(用户没给就 `visible:false` 且不编内容) |
|
|
19
|
-
| `DEFAULTS` 整块 | script | 三尺寸 × 全图层默认坐标:从 layout-recipes 选配方起步,再按实际画面气口微调 |
|
|
20
|
-
| `:root` 色板变量 | CSS | 见 §3 |
|
|
21
|
-
| `.t1` 字体 / 描边 / 发光 | CSS **与** `applyT1Style()` | 发光 rgba **两处**(CSS 初值 + JS 滑杆模板串)必须同色 |
|
|
22
|
-
| `#t1-color` 选项 / 发光滑杆 label 与默认值 | 右栏 | 按栏目色板给 2~3 档字色;发光名跟色板叫(银辉 / 琥珀 / …) |
|
|
23
|
-
| 装饰件默认开关 | 右栏 checkbox + `applyInner/applyCorner` | 当期装饰件决策的落点 |
|
|
24
|
-
| 尺寸 tab 的 `.desc` | 左栏 | 标注当期布局(如「左人右字」「上下分飞」) |
|
|
25
|
-
|
|
26
|
-
## 2. T1 字数驱动(防「四字机器」回潮)
|
|
27
|
-
|
|
28
|
-
模板 T1 图层数由 `T1_KEYS` 常量驱动。当期 T1 为 N 字时,改四处并保持一致:
|
|
29
|
-
1. `T1_KEYS = ['char1', …, 'charN']`;
|
|
30
|
-
2. 每个 `.cover` 内放 N 个 `char*` div(initial 逐字填);
|
|
31
|
-
3. `#t1-text` 的 `maxlength="N"` 与 `value`;
|
|
32
|
-
4. `DEFAULTS` 三尺寸各含 N 条 `char*` 坐标。
|
|
33
|
-
|
|
34
|
-
`applyT1Text / renderCharBlocks / applyT1SizeAll` 都吃 `T1_KEYS`,不用改。`#t1-size-all` 滑杆的 min/max 按字号量级调(4 字大字 280~800;5 字竖排 150~700)。
|
|
35
|
-
|
|
36
|
-
## 3. 色板 CSS 变量(变量名固定、换值即换装)
|
|
37
|
-
|
|
38
|
-
| 变量 | 语义 | 用途 |
|
|
39
|
-
|---|---|---|
|
|
40
|
-
| `--midnight` | 最深底色 | 画布底、T1 描边、色块 |
|
|
41
|
-
| `--indigo` | 次深色 | 氛围渐变 |
|
|
42
|
-
| `--amber` | **强调色**(语义槽位,不必是琥珀) | UI 强调、选中框、导出钮、T5/装饰可用 |
|
|
43
|
-
| `--amber-soft` | 强调色柔化档 | hover、副文本 |
|
|
44
|
-
| `--bone` | 浅色字底 | T1 默认字色、浅 UI 文本 |
|
|
45
|
-
|
|
46
|
-
值从**栏目封面风格资产的色板表**取;无资产用模板自带中性值。UI chrome 与画布共用这套变量——换值后整个工作台会跟着栏目气质走,这是特性不是 bug。
|
|
47
|
-
|
|
48
|
-
## 4. 附加文字图层(品牌戳 / 拟声词 / 任意)
|
|
49
|
-
|
|
50
|
-
图层机制对非 T1 图层是通用的(`applyLayers` 按 `ls.type !== 't1'` 走 text/visible 同步)。加一个图层四步:
|
|
51
|
-
1. `DEFAULTS` 三尺寸各加条目 `{type:'<自定义>', pos, text, left, top, size, visible}`;
|
|
52
|
-
2. 每个 `.cover` 加 `<div class="layer-text <类名>" data-layer-key="<key>">初值</div>`;
|
|
53
|
-
3. `SUB_KEYS` / `SUB_LABELS` 登记(右栏出微调 block);
|
|
54
|
-
4. CSS 加 `.<类名>` 样式(字体 / 颜色 / z-index;旋转等静态变换写在类里,不影响拖拽)。
|
|
55
|
-
|
|
56
|
-
已验证先例:品牌戳(手写体、可拖)、拟声词(手写体 + 静态旋转 + 强调色,「全画面唯一与强调色同源的字」这类点睛用法)。
|
|
57
|
-
|
|
58
|
-
## 5. 逐尺寸样式覆写(浅底反转墨色技法)
|
|
59
|
-
|
|
60
|
-
某一尺寸的背景局部是浅色(如竖版下段渐变成纸面)时,可把该尺寸的文字整体反转为深色:
|
|
61
|
-
|
|
62
|
-
```css
|
|
63
|
-
/* 覆写 .t1 必须 !important —— applyT1Style() 会写内联样式 */
|
|
64
|
-
.cover[data-size="3_4"] .t1 { color: #16233A !important; -webkit-text-stroke: 0 transparent !important; text-shadow: 0 2px 12px rgba(20,30,50,0.18) !important; }
|
|
65
|
-
/* t2/t5/t4 无内联色,普通级联即可 */
|
|
66
|
-
.cover[data-size="3_4"] .t2 { color: rgba(30,58,95,0.92); text-shadow: none; }
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
交付时必须告知用户:**该尺寸不受全局字色 / 发光滑杆影响**,是当期审美决策。
|
|
70
|
-
|
|
71
|
-
## 6. 装饰件片段
|
|
72
|
-
|
|
73
|
-
- **薄内框**(装裱感):`.inner-frame { position:absolute; inset:50px; border:2px solid <色>; pointer-events:none; z-index:5; }` + 右栏开关 + `applyInner()`(模板已带,默认关)。浅底尺寸配 §5 覆写深色框。
|
|
74
|
-
- **四角断线框**:模板已带(`.corner` ×4 + 开关,默认关)。
|
|
75
|
-
- 胶带 / 撕痕 / REC 取景框等:按当期气质现写(绝对定位 + `pointer-events:none` + `z-index:5`,加进每个 `.cover`);**装饰件是显式决策**——用或不用都要说理由。
|
|
76
|
-
|
|
77
|
-
## 7. 背景图归位与压缩
|
|
78
|
-
|
|
79
|
-
- **归位按宽高比**:`w/h ≥ 1.55 → 16:9`;`≥ 1.15 → 4:3`;否则 `3:4`。同档有多张时显式选择并告知备选(用户可用左栏「上传当前尺寸的背景图」随时换)。归不上任何档就问,别硬塞。
|
|
80
|
-
- **压缩参数**(JPEG、渐进式):16:9 长边 ≤1280 / q82;4:3 ≤1600 / q78;3:4 ≤1400 / q78。纹理极密的图压不动属正常,别为体积牺牲画质到 q70 以下。
|
|
81
|
-
- **体积红线**:整份 HTML **>1MB 必须回头降参**(浏览器打开明显变慢);>600KB 提示一句即可。
|
|
82
|
-
- **纪律**:从**原路径**读用户图,压缩产物直接 base64 进 HTML;压缩脚本落**系统 temp、用完即删**;不留任何中间图片副本。
|
|
83
|
-
|
|
84
|
-
## 8. 工程注意(踩过的坑)
|
|
85
|
-
|
|
86
|
-
- **缩放占位**:画布用 `transform: scale` 只缩视觉不缩布局,模板已用「`transform-origin: top left` + 负 margin」把占位收缩到缩放后尺寸——**别改回直接设小宽高**(会让外框阴影只包住左上角)。
|
|
87
|
-
- **导出**:html2canvas 对发光 text-shadow 的还原略弱于屏显,用户觉得弱就把发光滑杆 +10~15% 再导;一键导出首次会触发浏览器「允许下载多个文件」授权,交付时提示。
|
|
88
|
-
- **布局状态在内存**:刷新页面回默认坐标——交付时提醒「调好就导出,导出前别刷新」。
|
|
89
|
-
- **字体**:模板经字体服务引入(含手写体),首次打开需联网;断网回退系统字体、不阻塞。
|
|
90
|
-
|
|
91
|
-
## 9. 实例化后合规检查(交付前必过)
|
|
92
|
-
|
|
93
|
-
- [ ] 占位符零残留(全文检索 `__BG_` 无命中);
|
|
94
|
-
- [ ] `T1_KEYS` 长度 = 各 cover 的 char div 数 = `maxlength` = DEFAULTS char 条目数;
|
|
95
|
-
- [ ] T1 初值两处一致(`#t1-text` value 与 `state.t1Text`);
|
|
96
|
-
- [ ] DEFAULTS 三尺寸齐、每尺寸含全部图层条目;
|
|
97
|
-
- [ ] 发光 rgba 在 CSS 与 `applyT1Style()` 两处同色;
|
|
98
|
-
- [ ] 默认坐标避开用户分发平台的安全区(如 B 站横版底部 1/10 进度条灰化区、右上 1/8 角标区);
|
|
99
|
-
- [ ] 能验就在浏览器验一遍:控制台零报错、三尺寸切换正常、图层可拖。
|
|
1
|
+
# 工作台实例化指南(workbench-guide)
|
|
2
|
+
|
|
3
|
+
`assets/workbench-template.html` 是**中性活范本**:一份完整可运行的排字工作台(拖拽 / 方向键 / 数值 / 滚轮微调、逐尺寸与一键导出),实例化 = 逐替换位换成当期值。本文是替换位总表 + 工程注意 + 合规检查。
|
|
4
|
+
|
|
5
|
+
## 0. 分工提醒
|
|
6
|
+
|
|
7
|
+
模板的 **JS 引擎层不要动**:拖拽 / 方向键 / 滚轮 / 图层选中 / 舞台缩放(负 margin 占位)/ 导出(html2canvas)都是通用基建。要动的只有**数据与样式**:占位符、常量、DEFAULTS、CSS 变量与字体、图层组。
|
|
8
|
+
|
|
9
|
+
## 1. 替换位总表
|
|
10
|
+
|
|
11
|
+
| 替换位 | 位置 | 说明 |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| `__BG_16_9__` / `__BG_4_3__` / `__BG_3_4__` | 各 `.cover` 的 `<img class="bg">` | 唯一的显式占位符:换成 `data:image/jpeg;base64,<压缩后>` |
|
|
14
|
+
| `<title>` / `<h1>` / `.sub` / 3 个 `.pill` | 头部 | 当期 T1、英文副题、布局名 / 色板名 / 操作提示 |
|
|
15
|
+
| `T1_KEYS` 常量 | script 顶部 | **T1 字数驱动的总开关**,见 §2 |
|
|
16
|
+
| `#t1-text` 的 `value` 与 `maxlength`、`state.t1Text` | 右栏 + script | T1 初值**两处**必须一致 |
|
|
17
|
+
| 各 `.cover` 内的 `char*` div 组 | 三个 cover | 数量与 `T1_KEYS` 一致、initial 文本逐字填 |
|
|
18
|
+
| `t2 / t5 / t4` 初始文案 | cover 内 div **与** DEFAULTS `text` 双处 | 副标题(≤12 字钩子)/ 装饰英文 / 品牌戳(用户没给就 `visible:false` 且不编内容) |
|
|
19
|
+
| `DEFAULTS` 整块 | script | 三尺寸 × 全图层默认坐标:从 layout-recipes 选配方起步,再按实际画面气口微调 |
|
|
20
|
+
| `:root` 色板变量 | CSS | 见 §3 |
|
|
21
|
+
| `.t1` 字体 / 描边 / 发光 | CSS **与** `applyT1Style()` | 发光 rgba **两处**(CSS 初值 + JS 滑杆模板串)必须同色 |
|
|
22
|
+
| `#t1-color` 选项 / 发光滑杆 label 与默认值 | 右栏 | 按栏目色板给 2~3 档字色;发光名跟色板叫(银辉 / 琥珀 / …) |
|
|
23
|
+
| 装饰件默认开关 | 右栏 checkbox + `applyInner/applyCorner` | 当期装饰件决策的落点 |
|
|
24
|
+
| 尺寸 tab 的 `.desc` | 左栏 | 标注当期布局(如「左人右字」「上下分飞」) |
|
|
25
|
+
|
|
26
|
+
## 2. T1 字数驱动(防「四字机器」回潮)
|
|
27
|
+
|
|
28
|
+
模板 T1 图层数由 `T1_KEYS` 常量驱动。当期 T1 为 N 字时,改四处并保持一致:
|
|
29
|
+
1. `T1_KEYS = ['char1', …, 'charN']`;
|
|
30
|
+
2. 每个 `.cover` 内放 N 个 `char*` div(initial 逐字填);
|
|
31
|
+
3. `#t1-text` 的 `maxlength="N"` 与 `value`;
|
|
32
|
+
4. `DEFAULTS` 三尺寸各含 N 条 `char*` 坐标。
|
|
33
|
+
|
|
34
|
+
`applyT1Text / renderCharBlocks / applyT1SizeAll` 都吃 `T1_KEYS`,不用改。`#t1-size-all` 滑杆的 min/max 按字号量级调(4 字大字 280~800;5 字竖排 150~700)。
|
|
35
|
+
|
|
36
|
+
## 3. 色板 CSS 变量(变量名固定、换值即换装)
|
|
37
|
+
|
|
38
|
+
| 变量 | 语义 | 用途 |
|
|
39
|
+
|---|---|---|
|
|
40
|
+
| `--midnight` | 最深底色 | 画布底、T1 描边、色块 |
|
|
41
|
+
| `--indigo` | 次深色 | 氛围渐变 |
|
|
42
|
+
| `--amber` | **强调色**(语义槽位,不必是琥珀) | UI 强调、选中框、导出钮、T5/装饰可用 |
|
|
43
|
+
| `--amber-soft` | 强调色柔化档 | hover、副文本 |
|
|
44
|
+
| `--bone` | 浅色字底 | T1 默认字色、浅 UI 文本 |
|
|
45
|
+
|
|
46
|
+
值从**栏目封面风格资产的色板表**取;无资产用模板自带中性值。UI chrome 与画布共用这套变量——换值后整个工作台会跟着栏目气质走,这是特性不是 bug。
|
|
47
|
+
|
|
48
|
+
## 4. 附加文字图层(品牌戳 / 拟声词 / 任意)
|
|
49
|
+
|
|
50
|
+
图层机制对非 T1 图层是通用的(`applyLayers` 按 `ls.type !== 't1'` 走 text/visible 同步)。加一个图层四步:
|
|
51
|
+
1. `DEFAULTS` 三尺寸各加条目 `{type:'<自定义>', pos, text, left, top, size, visible}`;
|
|
52
|
+
2. 每个 `.cover` 加 `<div class="layer-text <类名>" data-layer-key="<key>">初值</div>`;
|
|
53
|
+
3. `SUB_KEYS` / `SUB_LABELS` 登记(右栏出微调 block);
|
|
54
|
+
4. CSS 加 `.<类名>` 样式(字体 / 颜色 / z-index;旋转等静态变换写在类里,不影响拖拽)。
|
|
55
|
+
|
|
56
|
+
已验证先例:品牌戳(手写体、可拖)、拟声词(手写体 + 静态旋转 + 强调色,「全画面唯一与强调色同源的字」这类点睛用法)。
|
|
57
|
+
|
|
58
|
+
## 5. 逐尺寸样式覆写(浅底反转墨色技法)
|
|
59
|
+
|
|
60
|
+
某一尺寸的背景局部是浅色(如竖版下段渐变成纸面)时,可把该尺寸的文字整体反转为深色:
|
|
61
|
+
|
|
62
|
+
```css
|
|
63
|
+
/* 覆写 .t1 必须 !important —— applyT1Style() 会写内联样式 */
|
|
64
|
+
.cover[data-size="3_4"] .t1 { color: #16233A !important; -webkit-text-stroke: 0 transparent !important; text-shadow: 0 2px 12px rgba(20,30,50,0.18) !important; }
|
|
65
|
+
/* t2/t5/t4 无内联色,普通级联即可 */
|
|
66
|
+
.cover[data-size="3_4"] .t2 { color: rgba(30,58,95,0.92); text-shadow: none; }
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
交付时必须告知用户:**该尺寸不受全局字色 / 发光滑杆影响**,是当期审美决策。
|
|
70
|
+
|
|
71
|
+
## 6. 装饰件片段
|
|
72
|
+
|
|
73
|
+
- **薄内框**(装裱感):`.inner-frame { position:absolute; inset:50px; border:2px solid <色>; pointer-events:none; z-index:5; }` + 右栏开关 + `applyInner()`(模板已带,默认关)。浅底尺寸配 §5 覆写深色框。
|
|
74
|
+
- **四角断线框**:模板已带(`.corner` ×4 + 开关,默认关)。
|
|
75
|
+
- 胶带 / 撕痕 / REC 取景框等:按当期气质现写(绝对定位 + `pointer-events:none` + `z-index:5`,加进每个 `.cover`);**装饰件是显式决策**——用或不用都要说理由。
|
|
76
|
+
|
|
77
|
+
## 7. 背景图归位与压缩
|
|
78
|
+
|
|
79
|
+
- **归位按宽高比**:`w/h ≥ 1.55 → 16:9`;`≥ 1.15 → 4:3`;否则 `3:4`。同档有多张时显式选择并告知备选(用户可用左栏「上传当前尺寸的背景图」随时换)。归不上任何档就问,别硬塞。
|
|
80
|
+
- **压缩参数**(JPEG、渐进式):16:9 长边 ≤1280 / q82;4:3 ≤1600 / q78;3:4 ≤1400 / q78。纹理极密的图压不动属正常,别为体积牺牲画质到 q70 以下。
|
|
81
|
+
- **体积红线**:整份 HTML **>1MB 必须回头降参**(浏览器打开明显变慢);>600KB 提示一句即可。
|
|
82
|
+
- **纪律**:从**原路径**读用户图,压缩产物直接 base64 进 HTML;压缩脚本落**系统 temp、用完即删**;不留任何中间图片副本。
|
|
83
|
+
|
|
84
|
+
## 8. 工程注意(踩过的坑)
|
|
85
|
+
|
|
86
|
+
- **缩放占位**:画布用 `transform: scale` 只缩视觉不缩布局,模板已用「`transform-origin: top left` + 负 margin」把占位收缩到缩放后尺寸——**别改回直接设小宽高**(会让外框阴影只包住左上角)。
|
|
87
|
+
- **导出**:html2canvas 对发光 text-shadow 的还原略弱于屏显,用户觉得弱就把发光滑杆 +10~15% 再导;一键导出首次会触发浏览器「允许下载多个文件」授权,交付时提示。
|
|
88
|
+
- **布局状态在内存**:刷新页面回默认坐标——交付时提醒「调好就导出,导出前别刷新」。
|
|
89
|
+
- **字体**:模板经字体服务引入(含手写体),首次打开需联网;断网回退系统字体、不阻塞。
|
|
90
|
+
|
|
91
|
+
## 9. 实例化后合规检查(交付前必过)
|
|
92
|
+
|
|
93
|
+
- [ ] 占位符零残留(全文检索 `__BG_` 无命中);
|
|
94
|
+
- [ ] `T1_KEYS` 长度 = 各 cover 的 char div 数 = `maxlength` = DEFAULTS char 条目数;
|
|
95
|
+
- [ ] T1 初值两处一致(`#t1-text` value 与 `state.t1Text`);
|
|
96
|
+
- [ ] DEFAULTS 三尺寸齐、每尺寸含全部图层条目;
|
|
97
|
+
- [ ] 发光 rgba 在 CSS 与 `applyT1Style()` 两处同色;
|
|
98
|
+
- [ ] 默认坐标避开用户分发平台的安全区(如 B 站横版底部 1/10 进度条灰化区、右上 1/8 角标区);
|
|
99
|
+
- [ ] 能验就在浏览器验一遍:控制台零报错、三尺寸切换正常、图层可拖。
|
|
@@ -1,68 +1,71 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gtrk-long2short
|
|
3
|
-
description: 长剪短闭环——把一条长视频(课程/直播/播客/访谈毛片)通过同合云选段跳剪成多条高光短片工程,一次产出逐 clip 的 gtrk+剪映+PR 三方工程(可选智能分屏)。当用户想「长剪短 / 长视频切高光 / 直播切片 / 课程切短视频 / 播客出短片 / 两小时的课切成几条精华」时使用本 skill。凡涉及把长视频拆成多条可精修的短片工程,优先用本 skill 驱动 gtrk CLI 的 `long2short` 命令,不要手搓 ffmpeg、不要人工挑时间码。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# 长剪短(gtrk-long2short)
|
|
7
|
-
|
|
8
|
-
把用户的一条长视频,用 `gtrk` CLI 跑通「**本地抽音频/720p 代理(毛片永不上传)** → 云端语义选段+跳剪(可选分屏)→ 逐 clip 拉回 gtrk/剪映/PR 三方工程」,再把产物目录回给用户。**CLI 是手、你是脑。**
|
|
9
|
-
|
|
10
|
-
> 与智能剪口播(gtrk-oralcut)同一心智模型;差异是**一次任务出 N 条短片**,各自一份工程组落 `clip{i}/` 子目录。
|
|
11
|
-
|
|
12
|
-
> **⚠️ 先确认用户要工程还是要成片。** 本 skill 是**粗剪**——出的是**可编辑工程**(gtrk + 剪映 + PR),
|
|
13
|
-
> 给人二次精修用,毛片不上传。如果用户只要**能直接发布的成片**、不打算再剪,那该走**精剪**:
|
|
14
|
-
> `gtrk tool video_long2short_pro`(走 `/gtrk-tools`,整片上传、云端渲染、计费约为粗剪两倍)。
|
|
15
|
-
> 判断句:**「剪完还要不要再动?」要动 → 留在这儿;不动 → 转精剪。** 选错一次要白花积分重来。
|
|
16
|
-
|
|
17
|
-
## 前置:CLI 装没装 + 体检
|
|
18
|
-
|
|
19
|
-
先跑 `gtrk doctor`:
|
|
20
|
-
- **`gtrk` 找不到** → 让用户装 `npm i -g @gitruck/cli@latest`(需先有 Node.js),再重试。
|
|
21
|
-
- 报「缺 API Key」→ 让用户先跑一次 `gtrk init`(交互式、需真终端,你别替他跑)。
|
|
22
|
-
- 全绿就往下走。
|
|
23
|
-
|
|
24
|
-
## 一条命令
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
gtrk long2short "D:/毛片/课程.mp4" --language zh-CN --json
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
对谈/多人同框想要分屏:
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
gtrk long2short "D:/毛片/对谈.mp4" --language zh-CN --split-screen --split-orientation tb --json
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## 参数表
|
|
37
|
-
|
|
38
|
-
| 参数 | 说明 |
|
|
39
|
-
|---|---|
|
|
40
|
-
| `--language <code>` | **必填**,源语种(如 zh-CN;取值以服务端支持列表为准,传错服务端会报枚举) |
|
|
41
|
-
| `--split-screen` | 开启智能分屏:本地改传 **720p 代理**(否则只抽音频);云端检测多人同框段并烤 720p 分屏素材 |
|
|
42
|
-
| `--split-orientation <o>` | 分屏方向 `auto|lr|tb`(缺省 auto=按内容可复现随机) |
|
|
43
|
-
| `--main-topic <text>` | 主题引导,影响选段偏好 |
|
|
44
|
-
| `--duration-pref <p>` / `--max-clip-sec <n>` | 成片时长偏好 / 单条上限秒。**成片条数由内容语义决定,不能指定条数** |
|
|
45
|
-
| `--no-jump-cut` | 关闭跳剪(默认开:片内去水词冗余,只删不重排) |
|
|
46
|
-
| `--
|
|
47
|
-
|
|
|
48
|
-
| `--
|
|
49
|
-
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
-
|
|
1
|
+
---
|
|
2
|
+
name: gtrk-long2short
|
|
3
|
+
description: 长剪短闭环——把一条长视频(课程/直播/播客/访谈毛片)通过同合云选段跳剪成多条高光短片工程,一次产出逐 clip 的 gtrk+剪映+PR 三方工程(可选智能分屏)。当用户想「长剪短 / 长视频切高光 / 直播切片 / 课程切短视频 / 播客出短片 / 两小时的课切成几条精华」时使用本 skill。凡涉及把长视频拆成多条可精修的短片工程,优先用本 skill 驱动 gtrk CLI 的 `long2short` 命令,不要手搓 ffmpeg、不要人工挑时间码。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 长剪短(gtrk-long2short)
|
|
7
|
+
|
|
8
|
+
把用户的一条长视频,用 `gtrk` CLI 跑通「**本地抽音频/720p 代理(毛片永不上传)** → 云端语义选段+跳剪(可选分屏)→ 逐 clip 拉回 gtrk/剪映/PR 三方工程」,再把产物目录回给用户。**CLI 是手、你是脑。**
|
|
9
|
+
|
|
10
|
+
> 与智能剪口播(gtrk-oralcut)同一心智模型;差异是**一次任务出 N 条短片**,各自一份工程组落 `clip{i}/` 子目录。
|
|
11
|
+
|
|
12
|
+
> **⚠️ 先确认用户要工程还是要成片。** 本 skill 是**粗剪**——出的是**可编辑工程**(gtrk + 剪映 + PR),
|
|
13
|
+
> 给人二次精修用,毛片不上传。如果用户只要**能直接发布的成片**、不打算再剪,那该走**精剪**:
|
|
14
|
+
> `gtrk tool video_long2short_pro`(走 `/gtrk-tools`,整片上传、云端渲染、计费约为粗剪两倍)。
|
|
15
|
+
> 判断句:**「剪完还要不要再动?」要动 → 留在这儿;不动 → 转精剪。** 选错一次要白花积分重来。
|
|
16
|
+
|
|
17
|
+
## 前置:CLI 装没装 + 体检
|
|
18
|
+
|
|
19
|
+
先跑 `gtrk doctor`:
|
|
20
|
+
- **`gtrk` 找不到** → 让用户装 `npm i -g @gitruck/cli@latest`(需先有 Node.js),再重试。
|
|
21
|
+
- 报「缺 API Key」→ 让用户先跑一次 `gtrk init`(交互式、需真终端,你别替他跑)。
|
|
22
|
+
- 全绿就往下走。
|
|
23
|
+
|
|
24
|
+
## 一条命令
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
gtrk long2short "D:/毛片/课程.mp4" --language zh-CN --json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
对谈/多人同框想要分屏:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
gtrk long2short "D:/毛片/对谈.mp4" --language zh-CN --split-screen --split-orientation tb --json
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## 参数表
|
|
37
|
+
|
|
38
|
+
| 参数 | 说明 |
|
|
39
|
+
|---|---|
|
|
40
|
+
| `--language <code>` | **必填**,源语种(如 zh-CN;取值以服务端支持列表为准,传错服务端会报枚举) |
|
|
41
|
+
| `--split-screen` | 开启智能分屏:本地改传 **720p 代理**(否则只抽音频);云端检测多人同框段并烤 720p 分屏素材 |
|
|
42
|
+
| `--split-orientation <o>` | 分屏方向 `auto|lr|tb`(缺省 auto=按内容可复现随机) |
|
|
43
|
+
| `--main-topic <text>` | 主题引导,影响选段偏好 |
|
|
44
|
+
| `--duration-pref <p>` / `--max-clip-sec <n>` | 成片时长偏好 / 单条上限秒。**成片条数由内容语义决定,不能指定条数** |
|
|
45
|
+
| `--no-jump-cut` | 关闭跳剪(默认开:片内去水词冗余,只删不重排) |
|
|
46
|
+
| `--subtitle-file <path>` | **现成单语字幕**(.srt/.ass)作转写来源,替代云端 ASR(用户手里有片源字幕/人工校对稿时用,省一次识别)。切点精度降为**字幕行边界**;双语/多层 .ass 会被拒;与 stt 类参数互斥 |
|
|
47
|
+
| `--subtitle-out` | 逐 clip 另产**单语 .srt 字幕**(按目标画布档位智能拆行:横屏约 20 字/行、竖屏约 13 字/行),落 `clip{i}/srt/` |
|
|
48
|
+
| `--keep-punctuation` | 字幕保留全部标点。缺省按统一口径去标点:逗号句号→空格、`?!` 等保留 |
|
|
49
|
+
| `--output-size <s>` | 画布 `9:16|16:9|1:1` 或 `WxH`(缺省 9:16 竖版) |
|
|
50
|
+
| `-f, --formats <list>` | 三方格式,缺省 `gtrk,jianying,xml`(云端逐 clip 直产;gtrk 恒有) |
|
|
51
|
+
| `--jianying-draft-dir <dir>` | 剪映草稿根(或 `auto`);各 clip 草稿落 `<草稿根>/<产物根名>_clip{i}` |
|
|
52
|
+
| `-o/--out`、`--no-open`、`--json`、`--reupload`、`--param/--params-json` | 与 oralcut 同口径 |
|
|
53
|
+
|
|
54
|
+
## 计费与跑前须知(每次都转述给用户)
|
|
55
|
+
|
|
56
|
+
- 运行时 CLI 自动查询实时价格并在跑前打印——**把计费提示原样转述**;按**上传物音频时长**计费(≈原片时长),**长片先向用户确认再跑**。
|
|
57
|
+
- 云端处理时长随片长涨(ASR+选段),CLI 轮询墙钟 60 分钟;超时不丢——产物根 `task.json` 里有 `task_id` 可恢复。
|
|
58
|
+
|
|
59
|
+
## 产物(跑完把这些讲给用户)
|
|
60
|
+
|
|
61
|
+
- 产物根 `<毛片名>-long2short/`:`report.json`(选段报告)+ `result.json` + 逐 clip 子目录 `clip0/ clip1/ …`(各含 `gtrk/` 客户端工程、`jianying/` 草稿、`xml/` PR 工程;开了 `--subtitle-out` 另有 `srt/clip{i}.srt` 单语字幕)。
|
|
62
|
+
- **先看 `clips.md`**(产物根,人读总览):一张表列全部切片的标题/时长/评分/一句话简介 —— 用它给用户复述「出了哪几条、各讲什么、建议先精修哪条」,别让用户自己开工程猜。逐条的入选理由、跳剪说明、高光词在 `clip{i}/clip.md`。
|
|
63
|
+
- 开了 `--split-screen` 时:**分屏素材落在毛片旁的 `split_screen/` 子目录**(工程素材路径指向那里,别移动/删除,移动了工程会缺素材)——这点要提前告知用户。
|
|
64
|
+
- 剪映草稿已拷入草稿根(给了 `--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`。
|
|
65
|
+
|
|
66
|
+
## 排错
|
|
67
|
+
|
|
68
|
+
- **部分 clip 失败 / 个别分屏素材 404**:单点失败不连坐,`result.json` 的 `errors` 有明细;把失败项如实告诉用户,其余产物照常可用。
|
|
69
|
+
- **轮询超时/进程中断**:凭产物根 `task.json` 的 `task_id` 查询云端状态;任务在云端照常跑完,稍后可重取。
|
|
70
|
+
- **clips 为空**:说明内容里没有可成片的高光段(纯语义选段),把 `report.json` 摘要给用户看原因。
|
|
71
|
+
- **剪映里看不到草稿**:先看草稿目录里的**文件名**——必须是 `draft_content.json` + `draft_meta_info.json`,缺一件或带前缀剪映都不显示;`result.json` 里该 clip 的 `jianyingDraftPath` 为 `null` 即是此症。
|