@gitruck/cli 1.3.4 → 1.3.6
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 +25 -0
- package/CHANGELOG.md +27 -0
- package/README.en.md +50 -50
- package/README.md +50 -50
- package/assets/composite-kit/kit.css +57 -0
- package/assets/composite-kit/kit.js +246 -0
- package/assets/composite-kit/stage.html +282 -0
- package/assets/readme/wordmark.svg +6 -6
- package/contracts/README.md +16 -16
- package/contracts/gsap-emit-v1.md +163 -163
- package/contracts/handoff-contracts.json +10 -10
- package/dist/index.js +440 -286
- package/docs/development.en.md +47 -47
- package/docs/development.md +47 -47
- package/docs/reference.en.md +59 -15
- package/docs/reference.md +59 -15
- package/docs/workflow.en.md +72 -72
- package/docs/workflow.md +72 -72
- package/package.json +2 -2
- package/skills/gtrk-ai-drama/SKILL.md +10 -10
- package/skills/gtrk-ai-drama/references/sparse-key-scenes.md +38 -38
- package/skills/gtrk-ai-drama/scripts/validate-storyboard.mjs +119 -119
- package/skills/gtrk-composite/SKILL.md +194 -0
- package/skills/gtrk-cover/SKILL.md +3 -3
- package/skills/gtrk-cover/references/layout-recipes.md +337 -337
- package/skills/gtrk-cover/references/prompt-templates.md +119 -119
- package/skills/gtrk-food-recap/SKILL.md +9 -9
- package/skills/gtrk-live-slicing/SKILL.md +2 -1
- package/skills/gtrk-long2short/SKILL.md +2 -1
- package/skills/gtrk-matrix/SKILL.md +20 -10
- package/skills/gtrk-mg/SKILL.md +391 -391
- package/skills/gtrk-music-visualizer/SKILL.md +3 -3
- package/skills/gtrk-narration/SKILL.md +23 -23
- package/skills/gtrk-oralcut/SKILL.md +5 -4
- package/skills/gtrk-splitter/SKILL.md +298 -298
- package/skills/gtrk-splitter/references/example-visual-split.json +645 -645
- package/skills/gtrk-splitter/references/example-visual-split.md +439 -439
- package/skills/gtrk-splitter/references/field-schema.md +171 -171
- package/skills/gtrk-style-maker/SKILL.md +1 -1
- 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-talking-head/SKILL.md +15 -7
- package/skills/gtrk-tools/SKILL.md +3 -2
- package/skills/gtrk-transcript/SKILL.md +4 -4
- package/skills/gtrk-transcript/agents/openai.yaml +4 -4
- package/skills/gtrk-travel-recap/SKILL.md +52 -52
- package/skills/gtrk-vlog-docu/SKILL.md +6 -6
- package/skills/gtrk-voiceover/SKILL.md +2 -2
|
@@ -5,7 +5,7 @@ description: 通用口播视频创作图纸(口播链)——把一条或一
|
|
|
5
5
|
|
|
6
6
|
# gtrk-talking-head(通用口播 · 组合成片图纸)
|
|
7
7
|
|
|
8
|
-
把**真人出镜的口播毛片**(一条或一组)变成**完整包装的可出片工程**:双轨换声 → 拼段 → 粗剪 → 检查点① → 拆分 → B-roll → 字卡 → BGM → 字幕 → 客户端出片。
|
|
8
|
+
把**真人出镜的口播毛片**(一条或一组)变成**完整包装的可出片工程**:双轨换声 → 拼段 → 粗剪 → 检查点① → 拆分 → B-roll → 字卡 → BGM → 字幕 →(可选)合成 → 客户端出片。
|
|
9
9
|
|
|
10
10
|
> **定位**:第四张 **structure 级组合图纸**。本图纸自身不新增命令,只编排零件(audio align / oralcut / split / matrix / mg / audio lay / subtitle lay——其中对轨零件 `gtrk audio align` 与本图纸同批交付)。零件参数细节以各自 skill(`/gtrk-oralcut`、`/gtrk-splitter`、`/gtrk-matrix`、`/gtrk-mg`)与 `--help` 为准,**本图纸引用不复制**;编排次序、检查点、双轨与多段规约以本图纸为准。**CLI 是手,你是脑。**
|
|
11
11
|
|
|
@@ -29,11 +29,11 @@ description: 通用口播视频创作图纸(口播链)——把一条或一
|
|
|
29
29
|
| ② | 有无独立外录音轨? | 看目录配对(每条视频旁的音频文件)+ ffprobe 时长比对 | 走不走双轨换声(§二) |
|
|
30
30
|
| ③ | 有没有文稿? | 问用户。**⚠️ 即兴内容禁传事后整理稿**——oralcut 会把「终稿外内容」当废话剪掉,即兴场景必须走无稿智能重建 | `--script` 传不传 |
|
|
31
31
|
| ④ | 毛片几何 | ffprobe | 画幅随片(**非拍板项**,与旅拍不同——那边是无中生有须拍板画幅);非标帧率会被吸附到标准值,属预期 |
|
|
32
|
-
| ⑤ | **B-roll 素材来源** | **问用户,MUST NOT 硬塞**:有没有本地素材文件夹(要路径)?要不要用云端素材填充? | §五 matrix 走法三选一:本地(`--local --dirs`)/ 云端 / **都不要 = 不铺 B-roll**(纯 A_ROLL + MG 字卡也是完整成片形态) |
|
|
32
|
+
| ⑤ | **B-roll 素材来源** | **问用户,MUST NOT 硬塞**:有没有本地素材文件夹(要路径)?要不要用云端素材填充? | §五 matrix 走法三选一:本地(`--local --dirs`)/ 云端 / **都不要 = 不铺 B-roll**(纯 A_ROLL + MG 字卡也是完整成片形态) |
|
|
33
33
|
|
|
34
34
|
| ⑥ | **有没有与人像同步录制的屏录 / 第二机位?** | **问用户,MUST NOT 代猜**(看目录里有没有同时段的屏录 / 另一机位文件只是提示,不是答案)。有则追问三样:画中画形状(圆 / 圆角方 / 爱心 / 菱形 / 星形,缺省圆)、位置(缺省右下)、大小(缺省约 28% 画幅高) | 走不走 §二′ 双源画中画(`gtrk pip lay`);屏录题材 **⑤ 默认答「不铺 B-roll」**(屏幕本身即画面) |
|
|
35
35
|
|
|
36
|
-
> **推荐面(公约 §三‴)**:问答收口时可问一句「要不要看看第三方 skill?」;题材命中场景触发词才定向推荐,读取 `gtrk skills recommend --scene <id> --json`;用户拒绝后不执行推荐动作。
|
|
36
|
+
> **推荐面(公约 §三‴)**:问答收口时可问一句「要不要看看第三方 skill?」;题材命中场景触发词才定向推荐,读取 `gtrk skills recommend --scene <id> --json`;用户拒绝后不执行推荐动作。
|
|
37
37
|
|
|
38
38
|
## 二、双轨收音:对轨 → 换轨(本图纸最大的新东西)
|
|
39
39
|
|
|
@@ -47,7 +47,7 @@ description: 通用口播视频创作图纸(口播链)——把一条或一
|
|
|
47
47
|
gtrk audio align "<毛片>" "<外录>"
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
已对齐、未对齐**都直接跑自动分支**——已对齐素材会测出接近 0 的偏移与高置信。**测出 0 比假设 0 更稳**:万一素材其实没对齐,假设 0 会静默错轨。
|
|
50
|
+
已对齐、未对齐**都直接跑自动分支**——已对齐素材会测出接近 0 的偏移与高置信。**测出 0 比假设 0 更稳**:万一素材其实没对齐,假设 0 会静默错轨。
|
|
51
51
|
`--offset 0` 只在你确知偏移时用(跳过检测省几秒)。
|
|
52
52
|
|
|
53
53
|
命令自动互相关测偏移并给**置信度**,按置信度分流:
|
|
@@ -151,17 +151,25 @@ gtrk oralcut "<inputs/…_full.mp4>" --lang zh-CN [--script 稿.txt] [--preset c
|
|
|
151
151
|
```
|
|
152
152
|
gtrk split(投影 → 你写拆分稿 → 落地)→ gtrk matrix(按⑤走或跳过)
|
|
153
153
|
→ 全局抽帧检查构图 → gtrk mg(字卡,§六风格)→ gtrk audio lay(BGM,-20dB 口径)
|
|
154
|
-
→ gtrk subtitle lay
|
|
154
|
+
→ gtrk subtitle lay(检查点①拍板样式)→(可选)合成 → 客户端打开出片
|
|
155
155
|
```
|
|
156
156
|
|
|
157
157
|
拆分稿写完自查两条:
|
|
158
158
|
- **lane 里出现 AI_DRAMA 即改派**(机检 grep 即可);
|
|
159
159
|
- **字卡要产颗粒的,aux 必须用 `type:"overlay"` + handoff(含 duration_hint)**——`quote-card` 等
|
|
160
|
-
前七类 aux 只是语义标注、**不产派单**;需要颗粒的字卡必须用 `type:"overlay"` + handoff。
|
|
160
|
+
前七类 aux 只是语义标注、**不产派单**;需要颗粒的字卡必须用 `type:"overlay"` + handoff。
|
|
161
|
+
|
|
162
|
+
### 五′、合成(可选,字幕之后)
|
|
163
|
+
|
|
164
|
+
字幕上完、出片之前,可以把一些时间窗做成**合成**(一段时间内的整个画面由一颗代码颗粒接管:逐句换画面、对照并排、并列卡片、字幕排版,讲者与 B-roll 作为槽位画进去)。既有步骤的顺序不变,这一步只加在最后:
|
|
165
|
+
|
|
166
|
+
- **快速成片缺省不做**;开工问询也不为它加问题。用户提到「包装 / 合成 / 画中画拼贴 / 逐句换画面」时,问一次要不要做。
|
|
167
|
+
- 要做就**交棒 `/gtrk-composite`**,由它管入口(整片铺满 / AI 判定 / 指定区间)与两个检查点;本图纸不复述它的规则。
|
|
168
|
+
- ⚠️ 合成颗粒出片靠本机烘焙(`/gtrk-composite` 的「出片:烘焙」一节):首次要装烘焙浏览器(约 110 MB,征得同意再装);某颗烘焙失败时导出该段按粗剪出画——用户要交付成片时先说清。
|
|
161
169
|
|
|
162
170
|
## 六、MG 风格:内容驱动的临场泛化(成片型图纸通用条款)
|
|
163
171
|
|
|
164
|
-
> 横切原则正本见仓内《成片型图纸公约》§三(`docs/成片型图纸公约.md`);本节是口播链的执行文本,旅拍图纸 §六「因势象形」是它的旅拍实例。
|
|
172
|
+
> 横切原则正本见仓内《成片型图纸公约》§三(`docs/成片型图纸公约.md`);本节是口播链的执行文本,旅拍图纸 §六「因势象形」是它的旅拍实例。
|
|
165
173
|
|
|
166
174
|
- **有栏目风格 skill** → 走栏目(经栏目配置注入),本节不适用。
|
|
167
175
|
- **没有栏目风格 skill** → **按当下这片的内容,现场泛化一套自洽风格直接用**:
|
|
@@ -28,7 +28,7 @@ description: gtrk 单点工具与媒体转换能力的调用向导,覆盖 `gtr
|
|
|
28
28
|
| `video_purify` | 「清理我有权处理的视频水印 / 去字幕 / 只净化指定区域 / 只抹我圈的这块 / 只抹片头几秒的角标」 | 单条本地视频(仅处理你有权处理的素材);可选范围、方式、归一化 ROI 和带时间段的区域框 | 一条净化视频 | 运行前实时查询 | 已上线 |
|
|
29
29
|
| `video_upscale` | 「视频超分 / 低清视频放大 / 动漫视频变清晰」 | 单条本地视频(≤1 分钟);倍数 `2` / `3` / `4`,类型 `Reality` / `Anime` | 一条超分视频 | 运行前实时查询 | 已上线 |
|
|
30
30
|
| `video_interpolate` | 「视频补帧 / 提高帧率 / 让画面更流畅」 | 单条本地视频;倍数 `2` / `3` / `4`,不附加 1 分钟限制 | 一条插帧视频 | 运行前实时查询 | 已上线 |
|
|
31
|
-
| `video_highlight` | 泛高光发现(视频高光算法);明确脚本优先语义检索 | 本地视频,3秒以上、30
|
|
31
|
+
| `video_highlight` | 泛高光发现(视频高光算法);明确脚本优先语义检索 | 本地视频,3秒以上、30分钟以内;上传448p/4fps分析代理(缺省附单声道低码率原声,可 `--no-audio`) | 按请求分组的三秒候选,需 Agent 复核 | 未开放外部收费 | 内部验收候选 |
|
|
32
32
|
| `video_segment` | 「机械分镜 / 按画面变动切分镜区间 / 场景切分」 | 单条本地视频;可选 `--detector content\|adaptive`、`--threshold` | 分镜区间结构 `result-output.json`(非下载文件) | 运行前实时查询 | 已上线 |
|
|
33
33
|
| `video_ai_segment` | 「智能分镜 / 语义切镜头 / 按类目景别拆镜头」 | 单条本地视频;可选 `--segment-mode scene\|shot_type\|narrative\|subject` | 语义分镜结构 `result-output.json`(非下载文件) | 运行前实时查询 | 已上线 |
|
|
34
34
|
| `video_motion_cut` | 「运镜高光 / 提取运镜片段 / 找高光镜头」 | 单条本地视频 | 运镜/高光片段结构 `result-output.json`(非下载文件) | 运行前实时查询 | 已上线 |
|
|
@@ -67,6 +67,7 @@ description: gtrk 单点工具与媒体转换能力的调用向导,覆盖 `gtr
|
|
|
67
67
|
- **工程文件怎么打开**:CLI 提交时自动带上原片与产物目录的本机路径,各格式工程里的素材都指向本机的原片与产物目录里的 `dub.wav` / `bgm.wav` / `base.mp4`,打开即用。要剪映草稿加 `--project-formats gtrk,jianying`:草稿自动放进剪映草稿目录,打开剪映就在列表里;CLI 提示「没找到剪映草稿目录」或「草稿缺 draft_meta_info.json」时,让用户给出剪映草稿目录再用 `--jianying-draft-dir` 重跑,或先用客户端工程。CapCut 草稿留在产物目录 `capcut/`,需要时手动放进 CapCut 草稿目录。
|
|
68
68
|
- **附带产物偶尔缺项不算失败**:字幕、逐句对齐记录、工程文件某一项没生成时,成片与配音轨照出、`ok=true`,终端打一行「部分附带产物未生成」,原因在 `result-output.json` 的 `errors`。照实告诉用户少了哪样。
|
|
69
69
|
- 常用形态:`gtrk tool video_translate_dub ./talk.mp4 --language zh-CN --translate-language en-US --speaker clone --json`;用自己另录的干净人声做参考加 `--ref ./me.m4a`;要剪映草稿加 `--project-formats gtrk,jianying`,要 PR 工程加 `--project-formats gtrk,xml`。
|
|
70
|
+
打开 PR 工程时的重链提醒照 `gtrk-oralcut`「回给用户(三端打开方式)」PR/FCP 条,引用不复制。
|
|
70
71
|
|
|
71
72
|
### mad(一键剪 MAD)的特殊之处
|
|
72
73
|
|
|
@@ -216,6 +217,6 @@ Agent 在任何去除处理之前 MUST 主动向用户说明两种模式,并
|
|
|
216
217
|
gtrk tool video_highlight "<本地视频>" --out "<工程目录>/highlight/<素材名>" --json
|
|
217
218
|
```
|
|
218
219
|
|
|
219
|
-
该入口当前仅供内部验收。只上传本地生成的
|
|
220
|
+
该入口当前仅供内部验收。只上传本地生成的448p/4fps分析代理,缺省附单声道低码率原声,原片不上传;用户在意对话隐私时加 `--no-audio`,只少一项声音信号,候选照常产出。若报错要求短边224或无音频,说明云端尚未升级到新版代理,如实告知用户,不要重试或自行改参数。结果在 `result-output.json`。`groups` 各自的 `top3` 只代表该请求内的三秒候选;不可跨素材、跨分块混排分数。用 `matrix describe --materials <原片> --source-window <起秒,止秒> --prepare <目录>` 查看候选前后过程,再结合原声判定它能否进入脚本。不要用三秒评分推断整段事件完整性。已有明确脚本时优先语义检索,不自动调用视频高光算法,也不覆盖语义 best 或 VLM highlight。
|
|
220
221
|
|
|
221
222
|
服务忙、冷却、超时、坏响应、无候选或接口未部署时,记录素材、任务号(若有)、失败原因和后续来源 `agent_semantic_overview`,继续从已观察素材按故事选材。视觉项当前 Agent 确实无法完成才标 `unavailable` 交豆包;两者都不可用则保留缺口,不写成已看过。纯粹请求“高光评分结果”时,原子失败就如实报告未完成。已有任务号优先查询原任务;提交状态未知时用同一素材、模型、输出目录恢复,不换身份盲目建单。
|
|
@@ -17,8 +17,8 @@ description: 将用户本地视频或音频(自备配音)转成一个飞书
|
|
|
17
17
|
|
|
18
18
|
## 硬边界
|
|
19
19
|
|
|
20
|
-
> **产物落点纪律(MUST · 全文见随包 `AGENT.md` 同名一节)**:唯一 Markdown 产物写入 CLI 返回的 `output` 路径(缺省=源文件同目录)或用户指定的 `--out`;引用媒体用原路径,不复制到 agent 工作目录;临时文件放系统 temp,用完即删。
|
|
21
|
-
> 交付物 MUST NOT 先写 agent 自有目录再拷进工程;中转本身即违规,体积不是豁免理由。
|
|
20
|
+
> **产物落点纪律(MUST · 全文见随包 `AGENT.md` 同名一节)**:唯一 Markdown 产物写入 CLI 返回的 `output` 路径(缺省=源文件同目录)或用户指定的 `--out`;引用媒体用原路径,不复制到 agent 工作目录;临时文件放系统 temp,用完即删。
|
|
21
|
+
> 交付物 MUST NOT 先写 agent 自有目录再拷进工程;中转本身即违规,体积不是豁免理由。
|
|
22
22
|
|
|
23
23
|
- 只接收用户电脑上已存在的视频/音频文件;遇到 URL、平台视频 ID 或“帮我下载后转写”时,要求用户先提供本地文件,不代为抓取。
|
|
24
24
|
- CLI 在本地抽取/转码 16 kHz 单声道音频,只上传音频衍生物;原视频/原音频文件不得上传。
|
|
@@ -32,7 +32,7 @@ description: 将用户本地视频或音频(自备配音)转成一个飞书
|
|
|
32
32
|
|
|
33
33
|
2. **先判用途,再决定带不带 `--json`。这一步 MUST NOT 跳过,也 MUST NOT 无脑恒带。**
|
|
34
34
|
|
|
35
|
-
`--json` 不是单纯的输出格式开关,**它决定服务端用哪个引擎**:
|
|
35
|
+
`--json` 不是单纯的输出格式开关,**它决定服务端用哪个引擎**:
|
|
36
36
|
|
|
37
37
|
| 用途 | 命令 | 落腿 |
|
|
38
38
|
|---|---|---|
|
|
@@ -49,7 +49,7 @@ description: 将用户本地视频或音频(自备配音)转成一个飞书
|
|
|
49
49
|
|
|
50
50
|
可选参数:`--out <file>`、`--lang zh-CN`、`--ffmpeg-path <dir>`、`--reupload`。
|
|
51
51
|
|
|
52
|
-
> 🔴 **恒带 `--json` 会把只想要文字稿的请求也送进厂商字级腿**,且 Markdown 不消费 `words[]`。**拿不准就不带**:真需要字级时,消费方(`split` / `subtitle`)
|
|
52
|
+
> 🔴 **恒带 `--json` 会把只想要文字稿的请求也送进厂商字级腿**,且 Markdown 不消费 `words[]`。**拿不准就不带**:真需要字级时,消费方(`split` / `subtitle`)
|
|
53
53
|
> 会明确报错要 `words[]`,那时补跑一次即可;反过来多付的钱收不回来。
|
|
54
54
|
> 用户明确说「要建工程 / 要拆分 / 要字幕」才算「喂工程」;只说「转个文字稿」不算。
|
|
55
55
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
interface:
|
|
2
|
-
display_name: "视频转文字稿"
|
|
3
|
-
short_description: "将本地视频整理为带总结与时间戳的单一 Markdown"
|
|
4
|
-
default_prompt: "Use $gtrk-transcript to turn my local video into one Markdown transcript with an Agent-written summary."
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "视频转文字稿"
|
|
3
|
+
short_description: "将本地视频整理为带总结与时间戳的单一 Markdown"
|
|
4
|
+
default_prompt: "Use $gtrk-transcript to turn my local video into one Markdown transcript with an Agent-written summary."
|
|
@@ -9,9 +9,9 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
9
9
|
|
|
10
10
|
> **定位**:本 skill 是第一张 **structure 级组合图纸**——它不新增任何命令,只编排既有原子零件(transcript / matrix / project init / split / mg / audio lay / subtitle lay / TTS 工具)。零件的参数细节以各自 skill(`gtrk-matrix` / `gtrk-splitter` / `gtrk-mg` / `gtrk-transcript`)与 `--help` 为准,**本图纸引用不复制**;但**编排次序、检查点、配方级参数**以本图纸为准。**CLI 是手,你是脑**:写稿、切 beat、挑候选信号、产字卡颗粒、管检查点,都是你的活。
|
|
11
11
|
>
|
|
12
|
-
> **家族归位**:本图纸是**解说链**(`gtrk-narration` 正本)的旅拍垂类实例。时序铺排、引用段、出处对齐等链级条款以 `gtrk-narration` 为正本;本图纸只补充旅拍要素层(贵大奇多钩子、攻略 tips、升华笔法)。素材无自带时序的题材(科普/情感/带货)走 `gtrk-voiceover`。
|
|
12
|
+
> **家族归位**:本图纸是**解说链**(`gtrk-narration` 正本)的旅拍垂类实例。时序铺排、引用段、出处对齐等链级条款以 `gtrk-narration` 为正本;本图纸只补充旅拍要素层(贵大奇多钩子、攻略 tips、升华笔法)。素材无自带时序的题材(科普/情感/带货)走 `gtrk-voiceover`。
|
|
13
13
|
>
|
|
14
|
-
> **本 skill 已含跑通全链需要的编排信息**。
|
|
14
|
+
> **本 skill 已含跑通全链需要的编排信息**。
|
|
15
15
|
|
|
16
16
|
## 一、输入契约与双场景识别
|
|
17
17
|
|
|
@@ -23,11 +23,11 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
23
23
|
| BGM 音频文件 | 可选 | 没有就走素材矩阵搜索(见检查点①) |
|
|
24
24
|
| 介绍类文本(txt/md) | 可选 | 有则作写稿补充素材 |
|
|
25
25
|
|
|
26
|
-
**一夹多片时检索域按场景分流**:二创场景一个夹里常躺着好几条互不相干的片,
|
|
26
|
+
**一夹多片时检索域按场景分流**:二创场景一个夹里常躺着好几条互不相干的片,
|
|
27
27
|
**B-roll 检索域 MUST 收窄到正在做的那一部片本身**——`--dirs` 既吃文件夹也吃**单个素材文件**,传文件即把域收窄到该素材(见 §五 ⑦ 的★铁则)。
|
|
28
28
|
原创(自拍素材集)那一档整夹就是这一片的素材域,**传夹正确**。
|
|
29
29
|
|
|
30
|
-
**MUST NOT 下载二创源片 / 主体素材**:网络视频二创场景下,用户提供的文件夹就是输入,下载动作归用户。平台授权素材(素材矩阵的 BGM / 空镜)可按其签名直链落地;这条例外不适用于源片与主体画面素材。
|
|
30
|
+
**MUST NOT 下载二创源片 / 主体素材**:网络视频二创场景下,用户提供的文件夹就是输入,下载动作归用户。平台授权素材(素材矩阵的 BGM / 空镜)可按其签名直链落地;这条例外不适用于源片与主体画面素材。
|
|
31
31
|
|
|
32
32
|
**双场景识别**(决定理解编排走法):
|
|
33
33
|
- **二创**:文件夹里是网络旅行长视频(通常含博主解说语音)→ 原片文案是写稿主料;
|
|
@@ -35,19 +35,19 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
35
35
|
- 拿不准就 ffprobe 看时长与条数:单条 10 分钟以上大概率二创;几十条短素材大概率原创。仍拿不准,问用户一句。
|
|
36
36
|
- 原创场景的素材集常常**通篇没有对白**——那就不跑转写,下表的语种一问以「无对白 / 不转写」闭合,MUST NOT 因缺这个答案阻塞开工。
|
|
37
37
|
|
|
38
|
-
**开工三问:稿源 · 声音基座 · 源片语种**。三问开工时与双场景识别**一并问清、一张表一次问完、MUST NOT 代猜**:
|
|
38
|
+
**开工三问:稿源 · 声音基座 · 源片语种**。三问开工时与双场景识别**一并问清、一张表一次问完、MUST NOT 代猜**:
|
|
39
39
|
|
|
40
40
|
| 问 | 选项与走法 |
|
|
41
41
|
|---|---|
|
|
42
42
|
| 稿从哪来 | **AI 代写**(缺省,§三 规约写)/ **用户自备稿**——跳过写稿,稿直接进检查点①过目(文风铁律不强加于用户手稿,只提示明显硬伤) |
|
|
43
43
|
| 声音怎么来 | **TTS 配音**(缺省,检查点①挑音色)/ **用户自己念**——拿念稿毛片先走 `gtrk oralcut` 粗剪(带稿最准;外录收音先 `gtrk audio align` 对轨),产出的粗剪工程即时间基座,§五 的「配音④→建工程⑤」两步跳过,从拆分⑥接入,后续铺排/字卡/BGM/字幕照旧 |
|
|
44
|
-
| **源片语种 / 方言** | 取证=**听一段 / 看片内有无内嵌字幕 / 看素材出处**;答案定 §五 ① 的 `gtrk transcript --lang`(`zh-CN` 普通话 / **`zh-HK` 粤语** / `en-US` / `ja-JP`…)。**MUST 问用户、MUST NOT 代猜、MUST NOT 以缺省 `zh-CN` 静默开跑转写**——转写是计费动作且早于检查点①,非中文素材传错语种会让检查点①拿到错误稿件并产生重复 ASR 成本。粤语建议如实填 `zh-HK`;当前 `--json` 路径按字级转写。素材无对白:答「无对白 / 不转写」即闭合 |
|
|
44
|
+
| **源片语种 / 方言** | 取证=**听一段 / 看片内有无内嵌字幕 / 看素材出处**;答案定 §五 ① 的 `gtrk transcript --lang`(`zh-CN` 普通话 / **`zh-HK` 粤语** / `en-US` / `ja-JP`…)。**MUST 问用户、MUST NOT 代猜、MUST NOT 以缺省 `zh-CN` 静默开跑转写**——转写是计费动作且早于检查点①,非中文素材传错语种会让检查点①拿到错误稿件并产生重复 ASR 成本。粤语建议如实填 `zh-HK`;当前 `--json` 路径按字级转写。素材无对白:答「无对白 / 不转写」即闭合 |
|
|
45
45
|
|
|
46
|
-
> **推荐面(公约 §三‴)**:问答收口时可问一句「要不要看看第三方 skill?」;题材命中场景触发词才定向推荐,读取 `gtrk skills recommend --scene <id> --json`;用户拒绝后不执行推荐动作。
|
|
46
|
+
> **推荐面(公约 §三‴)**:问答收口时可问一句「要不要看看第三方 skill?」;题材命中场景触发词才定向推荐,读取 `gtrk skills recommend --scene <id> --json`;用户拒绝后不执行推荐动作。
|
|
47
47
|
|
|
48
|
-
## 一′、素材适配闸(写稿前必过)
|
|
48
|
+
## 一′、素材适配闸(写稿前必过)
|
|
49
49
|
|
|
50
|
-
> 本闸判的是题材,与「有无自带时序」正交。剧情短片、摆拍表演和单一室内场景不能直接套用旅拍要素层。
|
|
50
|
+
> 本闸判的是题材,与「有无自带时序」正交。剧情短片、摆拍表演和单一室内场景不能直接套用旅拍要素层。
|
|
51
51
|
|
|
52
52
|
**取证零新增计费**(读的都是编排里本来就要产的东西,MUST NOT 为这道闸新加一次 describe 或转写):
|
|
53
53
|
|
|
@@ -59,10 +59,10 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
59
59
|
- 主判据——这一条**能不能回答「这是在哪、看到了什么」**(可辨认的地点 + 所见之物)。能答的占比过低 ⇒ 不适配;
|
|
60
60
|
- 反向命中任一即不适配:文本呈现**剧情对白**(人物一来一往推进情节)/ **摆拍表演**(演出来的而非记录下来的)/ **单一室内场景**(全片不出一个可辨认的地点)。
|
|
61
61
|
|
|
62
|
-
**命中即硬停:MUST NOT 进入写稿**(形制照 `gtrk-vlog-docu` 的立神闸)。
|
|
62
|
+
**命中即硬停:MUST NOT 进入写稿**(形制照 `gtrk-vlog-docu` 的立神闸)。
|
|
63
63
|
硬停位置是**写稿之前 = TTS 计费之前**——它与 §四 检查点①「未经确认 MUST NOT 发起计费动作」是同一条防线的**前置一层**:
|
|
64
64
|
检查点①拦的是「稿子对不对」,本闸拦的是「**这活该不该接**」。停下时 MUST 如实列出**哪几条不适配 + 依据原文**
|
|
65
|
-
(引 `desc` / `tags` / 转写里的原句,别只下结论),并给三条出路:
|
|
65
|
+
(引 `desc` / `tags` / 转写里的原句,别只下结论),并给三条出路:
|
|
66
66
|
|
|
67
67
|
| 出路 | 怎么走 |
|
|
68
68
|
|---|---|
|
|
@@ -71,7 +71,7 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
71
71
|
| ③ **照跑** | 用户坚持就照办,但 **MUST 在交付说明里如实登记**「素材与旅拍垂类不匹配、要素层(贵大奇多钩子 / 攻略 tips)多半落空」(降档路径如实登记,口径同《成片型图纸公约》) |
|
|
72
72
|
|
|
73
73
|
**两条边界写死**:agent **MUST NOT 自行判死**(决定权在用户,本闸只提名不宣判)、**MUST NOT 静默照跑**——
|
|
74
|
-
静默照跑会让整条链在错误题材上完成并产生不必要的计费,因此必须在此停下。
|
|
74
|
+
静默照跑会让整条链在错误题材上完成并产生不必要的计费,因此必须在此停下。
|
|
75
75
|
|
|
76
76
|
## 二、全链总览(快速成片)
|
|
77
77
|
|
|
@@ -91,7 +91,7 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
91
91
|
⑫ 交付 客户端打开工程出片(gtrk render 仅主轨快照预览,见 §八)
|
|
92
92
|
```
|
|
93
93
|
|
|
94
|
-
检查点①之后一路跑完不再打扰用户——**垂类示例的承诺面就是快速成片一杆到底**。
|
|
94
|
+
检查点①之后一路跑完不再打扰用户——**垂类示例的承诺面就是快速成片一杆到底**。
|
|
95
95
|
⚠️ 这条承诺**以 ①′ 适配闸通过为前提**:闸命中时的那次停顿不算「打扰用户」,它是在把钱花出去之前问一句「这活该不该接」。交付后对个别环节不满意走 §七 增量重跑,对垂类玩法本身不满意走 §七 个性化出路。
|
|
96
96
|
|
|
97
97
|
## 三、三段式写稿规约
|
|
@@ -100,16 +100,16 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
100
100
|
|
|
101
101
|
**结构三段式**:第一部分「钩子」抓眼球保留存 → 第二部分「干货」给内容价值 → 第三部分「升华」给情绪价值。爆款四属性贯穿:快乐+知识+共鸣+节奏。
|
|
102
102
|
|
|
103
|
-
**背景检索建议**:写稿信息源除了画面与音频(字幕不一定有),
|
|
103
|
+
**背景检索建议**:写稿信息源除了画面与音频(字幕不一定有),
|
|
104
104
|
**建议**执行 agent 对素材主题的关键词做一轮背景/上下文检索(地名典故、店家来历、片名与
|
|
105
|
-
公开报道等),检索所得须与素材内可见事实互证后才可入稿,并标注来源。
|
|
105
|
+
公开报道等),检索所得须与素材内可见事实互证后才可入稿,并标注来源。
|
|
106
106
|
有检索能力就做、没有不强求(能力缺席按纯素材信息写,不算违约);检索到的**外部数字与
|
|
107
107
|
争议性说法宁缺勿滥**。
|
|
108
108
|
|
|
109
109
|
**文风铁律**:
|
|
110
110
|
- 禁模板连接词:让我们/首先/然后/最后/此外 等一律不用;
|
|
111
111
|
- 拒翻译腔:全部短句中文语感,无欧化从句;
|
|
112
|
-
- **禁「否定—转折」对举句式(最高优先级)**:禁的是整个家族,不只字面:
|
|
112
|
+
- **禁「否定—转折」对举句式(最高优先级)**:禁的是整个家族,不只字面:
|
|
113
113
|
- 「这不是 X,而是 Y」/「与其说是 X,不如说是 Y」
|
|
114
114
|
- 「X 不仅仅是 Y,更是 Z」/「X 不只是 Y,它还是 Z」
|
|
115
115
|
- 「重要的不是 X,而是 Y」/「真正的 X 从来不是 Y」
|
|
@@ -124,8 +124,8 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
124
124
|
- 内容支撑:有多少真东西说多少话,素材再多也不注水;
|
|
125
125
|
- 素材支撑:按「30% 图片×8 秒 + 70% 视频素材时长」估算上限,稿子在写稿阶段就按上限收敛(不要等铺轨时开天窗);把这个秒数换算成字数用下一条的折算口径(**公式本身不动**);
|
|
126
126
|
- **折算口径 = 挂钟语速**(wall-clock:稿件字数 ÷ 合成音频总时长,**含**句间停顿),**按检查点①选定的那条音色取值:读 catalog 该音色的 `speech_rate_cpm`(字/分钟),并把 `speech_rate_basis` 一并报给用户(`measured` = 实测 / `derived` = 由声学参数推算)**;catalog 没给该字段(非中文音色)或拉不到 catalog 时才用**缺省 ≈330 字/分钟**,并明说这是缺省估值、**不是该音色的实测值**。3 分钟成片 ≈ **1000 字**。
|
|
127
|
-
缺省 330 的依据与标定方法见 `references/speech-rate.md`,本图纸只引用该单一真值源。
|
|
128
|
-
- ⚠️ **MUST NOT 拿计费折算常量(240 字/分钟)推稿子字数**:计费口径与写稿口径分开,计费常量只用于估算费用。
|
|
127
|
+
缺省 330 的依据与标定方法见 `references/speech-rate.md`,本图纸只引用该单一真值源。
|
|
128
|
+
- ⚠️ **MUST NOT 拿计费折算常量(240 字/分钟)推稿子字数**:计费口径与写稿口径分开,计费常量只用于估算费用。
|
|
129
129
|
|
|
130
130
|
**写后自校验清单**(逐项过,不过重写):
|
|
131
131
|
- [ ] 三段结构完整、时长在 min 公式内
|
|
@@ -143,7 +143,7 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
143
143
|
- **升华笔法**(第三部分):思考/感悟/启发/感动,正能量收束;第一人称历数、物象隐喻收尾都是成熟笔法;
|
|
144
144
|
- 有文化衍生空间(历史典故/风俗人文)可适当发挥,但以原素材内容为锚。
|
|
145
145
|
|
|
146
|
-
## 三′、L1 看点 rubric · 画面投影版(供 `--highlight-weight` 使用)
|
|
146
|
+
## 三′、L1 看点 rubric · 画面投影版(供 `--highlight-weight` 使用)
|
|
147
147
|
|
|
148
148
|
`highlight` 是**镜头看点分**——服务端 VLM 对着一帧画面打 0–100。旅拍这一档的准则
|
|
149
149
|
(`highlight_rubric`):
|
|
@@ -164,7 +164,7 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
164
164
|
> 分工是:**画面 rubric 管「这一帧值不值得看」,写稿管「这件事值不值得讲」。**
|
|
165
165
|
> 平淡的过渡帧判低分不等于不可用——降权不排除,候选稀疏时照样上(留空更难看)。
|
|
166
166
|
|
|
167
|
-
**传入方式**:把上面代码块**原样**存成工程目录下的
|
|
167
|
+
**传入方式**:把上面代码块**原样**存成工程目录下的
|
|
168
168
|
`highlight-rubric.txt`,理解那一步带上它——
|
|
169
169
|
|
|
170
170
|
```bash
|
|
@@ -179,36 +179,36 @@ gtrk matrix describe --plan <工程>/split/broll-plan.json --highlight-rubric @<
|
|
|
179
179
|
|
|
180
180
|
写完稿**必须停下**,把以下六项一次给用户拍板。**未经确认 MUST NOT 发起 TTS 与 B-roll 云端编排计费动作**。
|
|
181
181
|
|
|
182
|
-
> 本地素材的编排缺省走云端并按编排量计费。`matrix lay` 跑前必须报告预估用量,取得同意后才能带 `--yes`;无 TTY 且未确认时整轮中止,工程不改动,plan 可重跑。
|
|
182
|
+
> 本地素材的编排缺省走云端并按编排量计费。`matrix lay` 跑前必须报告预估用量,取得同意后才能带 `--yes`;无 TTY 且未确认时整轮中止,工程不改动,plan 可重跑。
|
|
183
183
|
|
|
184
|
-
> **语种不在这六项里**:它在 §一 开工三问就已定,检查点①对它最多做**过目复核**。
|
|
184
|
+
> **语种不在这六项里**:它在 §一 开工三问就已定,检查点①对它最多做**过目复核**。
|
|
185
185
|
> MUST NOT 把语种拖到这一步才问——此时 ① 的 `gtrk transcript` 已经跑完并已计费,稿子也已按错语种写出来了。
|
|
186
186
|
|
|
187
187
|
1. **解说稿 + 标题**:正文全文贴给用户(不是给路径),标题候选列出;
|
|
188
|
-
2. **画幅**:问目标平台——横屏 B 站/西瓜=1920x1080,竖屏抖音=1080x1920。**素材几何与画幅不一致时明确提示**(横素材→竖画布会裁切或留边);
|
|
188
|
+
2. **画幅**:问目标平台——横屏 B 站/西瓜=1920x1080,竖屏抖音=1080x1920。**素材几何与画幅不一致时明确提示**(横素材→竖画布会裁切或留边);
|
|
189
189
|
3. **TTS 音色**:拉 catalog(`GET {apiBase}/task/tts/voices`,免鉴权)按内容调性挑 2-4 个候选,**每个附试听链接**(catalog 的 audition_url 字段,api.ai-mcn.tv:9000 静态直链)——用户在对话框里直接点开听。internal 标注的音色注明「仅内部成员」。也可按用户描述语义挑(「要个温柔女声」)。
|
|
190
|
-
**每个候选还 SHALL 附上该音色的挂钟语速与据此推的稿件字数区间**(取同一份 catalog 载荷里的 `speech_rate_cpm` + `speech_rate_basis`,零额外往返;该字段缺席就明说「用缺省 330 估」;标定方法见 `references/speech-rate.md`)——挑音色的同时也是在挑稿子长度,别让用户回头才发现稿子长了三成。这条是**加项**,MUST NOT 削弱既有的「无试听链接 = 未完成推荐」义务;
|
|
190
|
+
**每个候选还 SHALL 附上该音色的挂钟语速与据此推的稿件字数区间**(取同一份 catalog 载荷里的 `speech_rate_cpm` + `speech_rate_basis`,零额外往返;该字段缺席就明说「用缺省 330 估」;标定方法见 `references/speech-rate.md`)——挑音色的同时也是在挑稿子长度,别让用户回头才发现稿子长了三成。这条是**加项**,MUST NOT 削弱既有的「无试听链接 = 未完成推荐」义务;
|
|
191
191
|
4. **BGM 处置(双来源)**:
|
|
192
192
|
- 用户有本地音乐 → 询问是否 `gtrk tool audio_separation` 伴奏分离后取伴奏(缺省建议分离——TTS 配音不与歌曲人声打架);
|
|
193
193
|
- 用户未提供 → **搜同和素材矩阵**:`gtrk matrix material "<按稿件情绪+地理文化写的检索词>" --scope audio --top-k 5 --diversity --json`
|
|
194
194
|
(检索词口径见公约 §三′:**内容驱动、禁通用词、至少含一个只有这一片才成立的词**;候选
|
|
195
|
-
MUST 给用户挑不许默认 top1;跨片避让由 `audio lay` 记账 + 检索缺省 `--exclude-recent` 自动完成(按成片时长可加 `--min-duration <秒>`)。身份路由与计费口径由零件持有;**版权状态要如实转述**——`is_copyright=true` = 可商用、`false` = 不可商用。矩阵成员档缺省搜全库并逐条给 `copyright_label`;用户**特意说明**只要可商用或商用发布时才加 `--commercial-only` 收紧。`upsell` 是独立顶层字段,不是候选。
|
|
195
|
+
MUST 给用户挑不许默认 top1;跨片避让由 `audio lay` 记账 + 检索缺省 `--exclude-recent` 自动完成(按成片时长可加 `--min-duration <秒>`)。身份路由与计费口径由零件持有;**版权状态要如实转述**——`is_copyright=true` = 可商用、`false` = 不可商用。矩阵成员档缺省搜全库并逐条给 `copyright_label`;用户**特意说明**只要可商用或商用发布时才加 `--commercial-only` 收紧。`upsell` 是独立顶层字段,不是候选。
|
|
196
196
|
推荐 3-5 首、**每首附试听链接**(结果的 `download_url`);`audio_type:"pure"` 纯音乐直接用,`"song"` 直接取 `accompaniment_url` 现成伴奏(零处理成本,两档都有);注意曲长 vs 成片时长(`duration` 字段):`audio lay` **缺省循环叠满至工程末尾、尾段裁齐**(多 clip 首尾相接,命令会打 INFO 报段数),短曲只是**接缝多一些**、不会铺一半就静音(想少几道接缝,挑曲时加 `--min-duration <秒>`);要单次铺请显式传 `--no-loop`;
|
|
197
197
|
- **试听链接义务(MUST)**:音色与 BGM 的推荐没有试听链接=未完成推荐。
|
|
198
|
-
- **BGM 落地一步(MUST)**:检索出参只给签名 URL,而 `gtrk audio lay --file` 只收本地路径。拍板后先把选中曲落成本地文件:`audio_type:"song"` 取 `accompaniment_url` 伴奏版,`"pure"` 取 `download_url`。文件名按 `bgm-<曲名>[-伴奏].<扩展名>`,供跨片避让记账使用。
|
|
198
|
+
- **BGM 落地一步(MUST)**:检索出参只给签名 URL,而 `gtrk audio lay --file` 只收本地路径。拍板后先把选中曲落成本地文件:`audio_type:"song"` 取 `accompaniment_url` 伴奏版,`"pure"` 取 `download_url`。文件名按 `bgm-<曲名>[-伴奏].<扩展名>`,供跨片避让记账使用。
|
|
199
199
|
5. **字幕样式**:7 种样式(default/outline/cinema_yellow/immersive_box/wide_spacing/deep_shadow/boxed)× 11 色(雅黑/淡绿/森林绿/湖蓝/道奇蓝/钢蓝/浅粉红/深橙/珊瑚橙/橙红/土豪金)挑选;**用户没选就用 default+雅黑**(不追问不阻塞)。拍板值在 ⑪ `gtrk subtitle lay` 落地,客户端里仍可整轨换样式(悔棋通道)。
|
|
200
|
-
6. **B-roll 编排量预估(本地素材路必报)**:本地素材产的 plan 走 `matrix lay` 时缺省即云端编排并按编排量计费(`--arrange local` 不受理)。先拿数再拍板:
|
|
200
|
+
6. **B-roll 编排量预估(本地素材路必报)**:本地素材产的 plan 走 `matrix lay` 时缺省即云端编排并按编排量计费(`--arrange local` 不受理)。先拿数再拍板:
|
|
201
201
|
|
|
202
202
|
```bash
|
|
203
203
|
gtrk matrix lay --project "<工程目录>" --arrange-estimate-only --json # 停在计价确认之前:零云端调用、工程文件零改动
|
|
204
204
|
```
|
|
205
205
|
|
|
206
|
-
把它与 TTS / describe 的预估**同屏**报给用户,一次拿到同意——§五 ⑦ 的 lay 才允许带 `--yes`。**报不出这笔就不许开跑**。
|
|
206
|
+
把它与 TTS / describe 的预估**同屏**报给用户,一次拿到同意——§五 ⑦ 的 lay 才允许带 `--yes`。**报不出这笔就不许开跑**。
|
|
207
207
|
|
|
208
208
|
## 五、快速成片编排(打样验证过的真实命令)
|
|
209
209
|
|
|
210
|
-
> **产物落点纪律(MUST · 全文见随包 `AGENT.md` 同名一节)**:文本产物写入 CLI 返回路径或用户显式指定的 `-o, --out`;交付物直接写入工程目录;引用媒体用原路径,不复制到 agent 工作目录;临时文件放系统 temp,用完即删。
|
|
211
|
-
> 交付物 MUST NOT 先写 agent 自有目录再拷进工程;中转本身即违规,体积不是豁免理由。
|
|
210
|
+
> **产物落点纪律(MUST · 全文见随包 `AGENT.md` 同名一节)**:文本产物写入 CLI 返回路径或用户显式指定的 `-o, --out`;交付物直接写入工程目录;引用媒体用原路径,不复制到 agent 工作目录;临时文件放系统 temp,用完即删。
|
|
211
|
+
> 交付物 MUST NOT 先写 agent 自有目录再拷进工程;中转本身即违规,体积不是豁免理由。
|
|
212
212
|
|
|
213
213
|
```bash
|
|
214
214
|
# ① 理解(二创:转写原片,--json 顺产 transcript.json 备用)
|
|
@@ -240,10 +240,10 @@ gtrk matrix material "<情绪+地理文化检索词>" --scope audio --top-k 5 --
|
|
|
240
240
|
# ④ 配音(音色 code 用 catalog 的 voice_id;稿子存 txt 传 --text-file)
|
|
241
241
|
gtrk tool audio_tts_clone --text-file <稿.txt> --speaker <voice_id> --json
|
|
242
242
|
|
|
243
|
-
# ④′ 语速回校(零成本自我标定;快速成片照跑不停顿,只汇报)
|
|
243
|
+
# ④′ 语速回校(零成本自我标定;快速成片照跑不停顿,只汇报)
|
|
244
244
|
# 实测挂钟语速 = 稿件字数 ÷ 音频实际时长(时长取 ffprobe duration;字数口径同服务端:Unicode 码点、含标点与英文数字)
|
|
245
245
|
# 与写稿时所用的估值比对:**偏差 >15% MUST 在交付汇报里点名**(报「估 X / 实测 Y / 偏 Z%」),
|
|
246
|
-
# 并按 references/speech-rate.md 的五项格式追加本片标定记录,供后续估值复核。
|
|
246
|
+
# 并按 references/speech-rate.md 的五项格式追加本片标定记录,供后续估值复核。
|
|
247
247
|
# MUST NOT 自动改稿、MUST NOT 自动重跑 TTS:改稿得从 ④ 重跑(TTS 变=全链时码变,⑤起全部重建)、要重付 TTS 费用,返工与否是用户的决定。
|
|
248
248
|
|
|
249
249
|
# ⑤ 建工程(画幅按检查点①拍板;产物目录含 gtrk/transcript/audio)
|
|
@@ -264,24 +264,24 @@ gtrk split --project "<工程目录>" --json # 投影:拿 utterance i
|
|
|
264
264
|
# beat 必填字段全表以 gtrk-splitter 的 references/field-schema.md 为准,MUST 照该表写全
|
|
265
265
|
gtrk split "<拆分稿>" --project "<工程目录>" --json
|
|
266
266
|
# ↑ 落地后走一遍 §六 末的**字卡自检清单**:数 type:"overlay" 的 aux 条数、核对 --json 回执里
|
|
267
|
-
# queues.mg 的条数是否落在「每片 2-4 颗」
|
|
267
|
+
# queues.mg 的条数是否落在「每片 2-4 颗」
|
|
268
268
|
|
|
269
269
|
# ⑦ B-roll 三连(describe 给字卡抽帧检查与 mark 加权供料;internal 用户 describe 免费)
|
|
270
|
-
# ★ 铁则(口径同 gtrk-narration 与 gtrk-matrix,不许长出第二种说法):解说链**一稿对一片**——
|
|
271
|
-
# 二创场景 --dirs MUST 钉到**这一部片的绝对路径**,**不许传素材夹**。传文件就是把检索域收窄到该素材;同夹多片时一次实测 187 条候选中有 86 条来自邻片(46.0%),不能把邻片结果当作次优解。
|
|
270
|
+
# ★ 铁则(口径同 gtrk-narration 与 gtrk-matrix,不许长出第二种说法):解说链**一稿对一片**——
|
|
271
|
+
# 二创场景 --dirs MUST 钉到**这一部片的绝对路径**,**不许传素材夹**。传文件就是把检索域收窄到该素材;同夹多片时一次实测 187 条候选中有 86 条来自邻片(46.0%),不能把邻片结果当作次优解。
|
|
272
272
|
gtrk matrix index --dirs "<这一部片的绝对路径>" --json
|
|
273
273
|
# ↑ 二创也要先建索引(原来 index 只挂在原创分支下,于是只能顺手对整夹建、正好把三条片灌进同一个 index.db);
|
|
274
|
-
# 如果整夹已有索引,**不必重建**,检索侧传单片即可收窄(判据是路径前缀,传的就是那一条素材本身)
|
|
274
|
+
# 如果整夹已有索引,**不必重建**,检索侧传单片即可收窄(判据是路径前缀,传的就是那一条素材本身)
|
|
275
275
|
gtrk matrix --project "<工程目录>" --local --dirs "<这一部片的绝对路径>" --lay 0 --json
|
|
276
276
|
gtrk matrix describe --plan "<工程目录>/split/broll-plan.json" --yes --json
|
|
277
277
|
# ↑ describe 结果里的 usable_flags 由你裁定(text_overlay 命中=撞原片字幕区,考虑换段或保留交客户端悔棋)
|
|
278
278
|
# ↑ 同时读 describe 输出的**剔除风险**清单:候选数 ≤1 的 beat 一删就掏空
|
|
279
279
|
# (音频驱动 ⇒ 整段黑屏或跨 beat 借片;口播 ⇒ 露 A-roll)。先补素材再剔,MUST NOT 见 flag 就删。
|
|
280
|
-
# 候选稀疏时先补素材再剔除,按 flag 直接删除可能掏空整段
|
|
280
|
+
# 候选稀疏时先补素材再剔除,按 flag 直接删除可能掏空整段
|
|
281
281
|
gtrk matrix lay --project "<工程目录>" --mark-weight 0.3 --highlight-weight 0.2 --gap-fill fast --yes --json
|
|
282
|
-
# ↑ --yes 的前提是**编排量预估已在检查点①(§四.6)报过并拿到同意**;MUST NOT 未经同意就带 `--yes`。
|
|
282
|
+
# ↑ --yes 的前提是**编排量预估已在检查点①(§四.6)报过并拿到同意**;MUST NOT 未经同意就带 `--yes`。
|
|
283
283
|
# 不带 --yes 且无 TTY 时本步**整轮铺轨中止**、工程零改动(plan 照常可用、可重跑)——
|
|
284
|
-
# 未报预估或未取得同意时不要继续执行
|
|
284
|
+
# 未报预估或未取得同意时不要继续执行
|
|
285
285
|
|
|
286
286
|
# ⑧⑨ 字卡(§六 规约产颗粒 → lint → 铺)
|
|
287
287
|
gtrk mg lint "<工程目录>/mg/<composition_id>.html" --dispatch "<工程目录>/split/dispatch.json"
|
|
@@ -289,7 +289,7 @@ gtrk mg --project "<工程目录>" --json
|
|
|
289
289
|
|
|
290
290
|
# ⑩ BGM(音量口径见下;<bgm> 是**本地文件**,检查点①拍板后先落地——URL 传给 --file 必炸)
|
|
291
291
|
# BGM 是带人声歌曲(audio_type:"song")→ MUST 下载 accompaniment_url 伴奏版上轨,
|
|
292
|
-
# 不得用 download_url 原曲(人声与配音会打架);"pure" 取 download_url。
|
|
292
|
+
# 不得用 download_url 原曲(人声与配音会打架);"pure" 取 download_url。
|
|
293
293
|
# 文件名 bgm-<曲名>[-伴奏].<扩展名>:跨片避让按**标题归一化键**记账(剥 bgm- 前缀与伴奏/instrumental/off-vocal 后缀),乱命名=下一轮 --exclude-recent 失准
|
|
294
294
|
# --beat-align 的高潮点取自 split.beats 的 narrative / container_stage(升华段 → 容器转折 → 回扣段);
|
|
295
295
|
# 拆分稿没带这两个字段 ⇒ 落 0.75×全片兜底档,**CLI 会明示那是猜的**。不接受就用 --climax <轨秒> 指定。
|
|
@@ -302,26 +302,26 @@ gtrk subtitle lay --project "<工程目录>" --style default --color 雅黑 --js
|
|
|
302
302
|
|
|
303
303
|
> **停顿太长时**:自训音色加 `--fragment-interval 0.2`(合成时就对);云引擎音色**不支持**该参数(传了会报错,不会静默忽略),改在合成后跑 `gtrk audio tighten --project <工程>` 收紧句间停顿(纯本地零计费;只压跨句界的停顿,句内换气与原声引用段不动)。
|
|
304
304
|
|
|
305
|
-
**配方级参数口径**:
|
|
305
|
+
**配方级参数口径**:
|
|
306
306
|
- `--mark-weight 0.3`:美观度加权起步值(mark 缺失素材中性不受罚);
|
|
307
|
-
- `--highlight-weight 0.2`:看点加权,配 §三′ 的 rubric——
|
|
307
|
+
- `--highlight-weight 0.2`:看点加权,配 §三′ 的 rubric——
|
|
308
308
|
**须在 describe 那一步带 `--highlight-rubric @<工程>/highlight-rubric.txt`**,
|
|
309
309
|
不带就是按服务端缺省准则打分,旅拍这一档的奇观地貌/极端天候/规模感全不算数。与 mark 正交——
|
|
310
310
|
mark 判「好不好看」、highlight 判「有没有看点」。两权之和 0.5,语义仍占一半,
|
|
311
311
|
**MUST NOT 加到语义压不住**(那会变成「专挑好看的,不管说的是什么」)。
|
|
312
312
|
⚠️ 两个权重与 blurry 降权**都依赖 `matrix describe --plan` 跑过**(编排 ⑦ 那一步);
|
|
313
313
|
没跑就是全部候选中性、排序与不开权重逐字节一致——lay 会就此打告警,看到就说明漏了;
|
|
314
|
-
- `--gap-fill fast`:主轨空洞按**五级**依次填——放宽地板取剩余候选 → 段界内延长相邻颗粒 → **跨 beat 借未消费候选** → **次地板补真画面** → 仍不够才落黑片。借来的画面与本段稿子相关性可能较弱,次地板槽可能很短;两者都会在日志里指名报出。CLI 缺省是 solid,本配方须**显式传 fast**;
|
|
315
|
-
- 句界吸附(`--cut-align`)默认 0.7,约七成字幕句起点贴近镜头切点,其余有意错开;
|
|
316
|
-
- **BGM 音量口径 = -20dB(线性 0.10)**:BGM 作为垫底,`volume` 字段只写线性增益;客户端需要更响时再调整。
|
|
314
|
+
- `--gap-fill fast`:主轨空洞按**五级**依次填——放宽地板取剩余候选 → 段界内延长相邻颗粒 → **跨 beat 借未消费候选** → **次地板补真画面** → 仍不够才落黑片。借来的画面与本段稿子相关性可能较弱,次地板槽可能很短;两者都会在日志里指名报出。CLI 缺省是 solid,本配方须**显式传 fast**;
|
|
315
|
+
- 句界吸附(`--cut-align`)默认 0.7,约七成字幕句起点贴近镜头切点,其余有意错开;
|
|
316
|
+
- **BGM 音量口径 = -20dB(线性 0.10)**:BGM 作为垫底,`volume` 字段只写线性增益;客户端需要更响时再调整。
|
|
317
317
|
- 时间窗(`--source-window`):二创场景解说序≈素材序时按 beat 对应的原片区间约束检索(可选增强,全库检索在几百场景规模下命中率已够);
|
|
318
|
-
-
|
|
318
|
+
- 素材不二用、候选片段自带纯黑底与空档补黑、层序(common<concept<local,契约=大号在上;旧工程的黑底垫轨在最低号)均由 lay 内建,MUST NOT 绕过。
|
|
319
319
|
|
|
320
320
|
## 六、MG 轻量字卡规约(旅拍向最小集,不建栏目 skill)
|
|
321
321
|
|
|
322
|
-
> 本节采用「因势象形、不建栏目 skill」原则:风格锚定本片内容,不强行套用预设模板。原则正本见《成片型图纸公约》§三。
|
|
322
|
+
> 本节采用「因势象形、不建栏目 skill」原则:风格锚定本片内容,不强行套用预设模板。原则正本见《成片型图纸公约》§三。
|
|
323
323
|
|
|
324
|
-
快速成片**禁留白**——字卡按下述规约直接产好叠上,用户不满意在客户端删,别等确认。
|
|
324
|
+
快速成片**禁留白**——字卡按下述规约直接产好叠上,用户不满意在客户端删,别等确认。
|
|
325
325
|
|
|
326
326
|
- **内容**:地名字卡为主(地标名中文+英文/头衔副标),可加里程/价格数字卡;每片 2-4 颗、挂在地标出场句(拆分稿 aux_layers overlay);
|
|
327
327
|
- **形态**:左下安全区地名条——竖色条装饰+半透明深色衬底圆角条+主标题(60px 级粗体白字)+副标题(28px 级 75% 白);透明叠加不挡画面主体;
|
|
@@ -330,13 +330,13 @@ gtrk subtitle lay --project "<工程目录>" --style default --color 雅黑 --js
|
|
|
330
330
|
- **产前抽帧**(overlay 必做):对挂点用本地 ffmpeg 抽 1 帧看底轨明暗与主体位置(临时文件落系统 temp 用完即删);
|
|
331
331
|
- 产物存 `<工程目录>/mg/<composition_id>.html`,逐颗 lint 过了再铺。
|
|
332
332
|
|
|
333
|
-
**字卡自检清单**(形制同 §三「写后自校验清单」):
|
|
333
|
+
**字卡自检清单**(形制同 §三「写后自校验清单」):
|
|
334
334
|
|
|
335
335
|
- [ ] 拆分稿写完,**数一遍** `aux_layers` 里 `type:"overlay"` 的条数,是否落在**每片 2-4 颗**;
|
|
336
336
|
- [ ] 落地后核对 `gtrk split --json` 的 `queues.mg` 条数,与上一条对得上、且仍在 2-4;
|
|
337
337
|
- [ ] 不足按地标出场句补挂;超出按「稀缺才有力」裁掉。
|
|
338
338
|
|
|
339
|
-
> 这是图纸层的审美自检,不是 CLI 通用硬闸:`split` 与 `mg` 负责报告实际条数,是否在 2–4 颗由本垂类图纸裁定。
|
|
339
|
+
> 这是图纸层的审美自检,不是 CLI 通用硬闸:`split` 与 `mg` 负责报告实际条数,是否在 2–4 颗由本垂类图纸裁定。
|
|
340
340
|
> 补在缺口上最省,**零代码变更**。⚠️ 反方也如实记:颗数是 `dispatch.mg.length` 一行就能算的机器可判量,
|
|
341
341
|
> 若这类漂移反复发生,改上「通用可选入参 + 由图纸传值 + 非致命告警」是正当的。
|
|
342
342
|
|
|
@@ -378,7 +378,7 @@ gtrk subtitle lay --project "<工程目录>" --style default --color 雅黑 --js
|
|
|
378
378
|
| BGM 矩阵搜索(`gtrk matrix material`) | 公开口 1 积分/次;矩阵成员口 0 积分 | 档位由零件自动路由,命令输出如实报口径与计费 |
|
|
379
379
|
| image_move 图片运镜 | 2 积分/张 | 素材夹含图片且被选中上轨时 |
|
|
380
380
|
|
|
381
|
-
> ★ **脚注(划界)**:表里那个 **240 字/分钟是计费折算常量**,
|
|
381
|
+
> ★ **脚注(划界)**:表里那个 **240 字/分钟是计费折算常量**,
|
|
382
382
|
> **MUST NOT 用于写稿篇幅估算** —— 写稿口径在 §三(挂钟语速,按音色取、缺省 ≈330),两者保守方向相反。
|
|
383
383
|
> 本脚注**只划界,不动**该行的积分档位与计量单位(单位口径归 infra `refactor-billing-measure-kchar` 的 CLI 联动件)。
|
|
384
384
|
|
|
@@ -392,7 +392,7 @@ gtrk subtitle lay --project "<工程目录>" --style default --color 雅黑 --js
|
|
|
392
392
|
- **字幕**:⑪ `gtrk subtitle lay` 已直接上好(7 样式 × 11 色,客户端可整轨换样式、逐条可编辑);改稿重跑 TTS 后须重跑 subtitle lay(时码变了);
|
|
393
393
|
- describe 的 `text_overlay` 信号命中多为撞上原片烧录字幕区(片头片尾高发)——裁定换段或保留交客户端;
|
|
394
394
|
- `matrix lay` 拒铺(`tracks_edited`)不是失败:用户在客户端动过候选轨,plan 照产(`planReusable:true`),提示用户后按其意愿 `--replace-all` 或保留;
|
|
395
|
-
- BGM 曲长 < 成片:缺省**循环叠满至工程末尾、尾段裁齐**(多 clip 首尾相接,命令打 INFO 报段数);要单次铺才传 `--no-loop`。
|
|
395
|
+
- BGM 曲长 < 成片:缺省**循环叠满至工程末尾、尾段裁齐**(多 clip 首尾相接,命令打 INFO 报段数);要单次铺才传 `--no-loop`。
|
|
396
396
|
|
|
397
397
|
---
|
|
398
398
|
|
|
@@ -39,7 +39,7 @@ description: Vlog 纪实类一站式成片图纸——纪实 Vlog 是散文的
|
|
|
39
39
|
gtrk tool video_highlight "<本地视频>" --out "<工程目录>/highlight/<素材名>" --json
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
该入口当前仅供内部验收。只上传本地生成的
|
|
42
|
+
该入口当前仅供内部验收。只上传本地生成的448p/4fps分析代理,缺省附单声道低码率原声,原片不上传;用户在意对话隐私时加 `--no-audio`,只少一项声音信号,候选照常产出。若报错要求短边224或无音频,说明云端尚未升级到新版代理,如实告知用户,不要重试或自行改参数。结果在 `result-output.json`。`groups` 各自的 `top3` 只代表该请求内的三秒候选;不可跨素材、跨分块混排分数。用 `matrix describe --materials <原片> --source-window <起秒,止秒> --prepare <目录>` 查看候选前后过程,再结合原声判定它能否进入脚本。不要用三秒评分推断整段事件完整性。已有明确脚本时优先语义检索,不自动调用视频高光算法,也不覆盖语义 best 或 VLM highlight。
|
|
43
43
|
|
|
44
44
|
服务忙、冷却、超时、坏响应、无候选或接口未部署时,记录素材、任务号(若有)、失败原因和后续来源 `agent_semantic_overview`,继续从已观察素材按故事选材。视觉项当前 Agent 确实无法完成才标 `unavailable` 交豆包;两者都不可用则保留缺口,不写成已看过。纯粹请求“高光评分结果”时,原子失败就如实报告未完成。已有任务号优先查询原任务;提交状态未知时用同一素材、输出目录恢复,不换身份盲目建单。
|
|
45
45
|
|
|
@@ -225,11 +225,11 @@ HKRR 四维(缺哪补哪):
|
|
|
225
225
|
|
|
226
226
|
> **链路形态:C 分段拼接**——全片切 N 段,每段声明 `live`(同期声段,引用原片区间,**内容本体**)或 `narration`(旁白段,TTS + B-roll 空档),由 `gtrk project compose` 按序拼主轨。设计草案见探索工件 §四之二。
|
|
227
227
|
>
|
|
228
|
-
> compose 只引用本地文件:TTS 先合成落地,再以 narration 的 source 引用;需要旁白叠在已确认画面上时,用既有 `audio lay --offset` 另铺音轨。图片要运动,先用 image_move 产视频再入 live;image 段本身只显示静帧。
|
|
229
|
-
|
|
230
|
-
分段旁白铺完后,使用 `gtrk patch set --clip <旁白片段ID> --audio-track <首条旁白轨的track_index> --project <工程目录>` 将同一讲述者的各段收进同一条旁白轨,保持原时间位置;同期声与 BGM 各自独立。重铺旁白后也要归轨,不能把“一段一轨”的阶梯布局作为交付。目标时间段已有片段时先检查重叠,不强行合并。
|
|
231
|
-
|
|
232
|
-
大场景或活动转换处用简短 MG 交代叙事关系(如从游览转到参与体验),不按每个镜头机械加字卡,不杜撰日期/地点。手写 GSAP 颗粒须在 template 内先声明 gsap.min.js,再创建并注册 paused 时间线;静态 lint 通过不等于预览可见,交付前还应检查客户端播放环境内的入场与驻留。
|
|
228
|
+
> compose 只引用本地文件:TTS 先合成落地,再以 narration 的 source 引用;需要旁白叠在已确认画面上时,用既有 `audio lay --offset` 另铺音轨。图片要运动,先用 image_move 产视频再入 live;image 段本身只显示静帧。
|
|
229
|
+
|
|
230
|
+
分段旁白铺完后,使用 `gtrk patch set --clip <旁白片段ID> --audio-track <首条旁白轨的track_index> --project <工程目录>` 将同一讲述者的各段收进同一条旁白轨,保持原时间位置;同期声与 BGM 各自独立。重铺旁白后也要归轨,不能把“一段一轨”的阶梯布局作为交付。目标时间段已有片段时先检查重叠,不强行合并。
|
|
231
|
+
|
|
232
|
+
大场景或活动转换处用简短 MG 交代叙事关系(如从游览转到参与体验),不按每个镜头机械加字卡,不杜撰日期/地点。手写 GSAP 颗粒须在 template 内先声明 gsap.min.js,再创建并注册 paused 时间线;静态 lint 通过不等于预览可见,交付前还应检查客户端播放环境内的入场与驻留。
|
|
233
233
|
|
|
234
234
|
```bash
|
|
235
235
|
# ① 理解与定档(抽听 1-2 条代表素材;live 段的 in/out 时码后面全从这份转写里读)
|
|
@@ -28,7 +28,7 @@ description: 通用配音视频创作图纸(配音链快速成片预设)—
|
|
|
28
28
|
|
|
29
29
|
一张表一次问完;**未经检查点①确认 MUST NOT 发起 TTS 计费动作**。
|
|
30
30
|
|
|
31
|
-
> **推荐面(公约 §三‴)**:问答收口时可问一句「要不要看看第三方 skill?」;题材命中场景触发词才定向推荐,读取 `gtrk skills recommend --scene <id> --json`;用户拒绝后不执行推荐动作。
|
|
31
|
+
> **推荐面(公约 §三‴)**:问答收口时可问一句「要不要看看第三方 skill?」;题材命中场景触发词才定向推荐,读取 `gtrk skills recommend --scene <id> --json`;用户拒绝后不执行推荐动作。
|
|
32
32
|
|
|
33
33
|
## 二、快速成片编排
|
|
34
34
|
|
|
@@ -36,7 +36,7 @@ description: 通用配音视频创作图纸(配音链快速成片预设)—
|
|
|
36
36
|
# ①② 写稿(三段式通用框架层 + 文风铁律自校验)→ 产前六秒方案(公约 §三⁗:基于稿件首段改写钩子文案三候选 + 画面层建议 + 字卡节奏,只改开口不改事实)→ 检查点①拍板
|
|
37
37
|
gtrk matrix material "<情绪 调性 检索词>" --scope audio --top-k 5 --json # BGM 候选附试听
|
|
38
38
|
# ⚠️ is_copyright:1/true=可商用、0/false=**不可商用**(反直觉,MUST NOT 读成「无版权、可随便用」)。
|
|
39
|
-
# 矩阵成员档**缺省搜全库**,MUST NOT 默认加 --commercial-only、也 MUST NOT 擅自剔掉
|
|
39
|
+
# 矩阵成员档**缺省搜全库**,MUST NOT 默认加 --commercial-only、也 MUST NOT 擅自剔掉
|
|
40
40
|
# false 的候选;对价是推荐时 MUST 逐条带上派生位 copyright_label 的中文标签(不追问不阻塞)。
|
|
41
41
|
# 用户**特意说明**只要可商用 / 要商用发布 / 客户商单时,才加 --commercial-only 收紧。
|
|
42
42
|
|