@gitruck/cli 1.3.1 → 1.3.4

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.
@@ -28,6 +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分钟以内;只传224p/4fps无声代理 | 按请求分组的三秒候选,需 Agent 复核 | 未开放外部收费 | 内部验收候选 |
31
32
  | `video_segment` | 「机械分镜 / 按画面变动切分镜区间 / 场景切分」 | 单条本地视频;可选 `--detector content\|adaptive`、`--threshold` | 分镜区间结构 `result-output.json`(非下载文件) | 运行前实时查询 | 已上线 |
32
33
  | `video_ai_segment` | 「智能分镜 / 语义切镜头 / 按类目景别拆镜头」 | 单条本地视频;可选 `--segment-mode scene\|shot_type\|narrative\|subject` | 语义分镜结构 `result-output.json`(非下载文件) | 运行前实时查询 | 已上线 |
33
34
  | `video_motion_cut` | 「运镜高光 / 提取运镜片段 / 找高光镜头」 | 单条本地视频 | 运镜/高光片段结构 `result-output.json`(非下载文件) | 运行前实时查询 | 已上线 |
@@ -118,11 +119,11 @@ description: gtrk 单点工具与媒体转换能力的调用向导,覆盖 `gtr
118
119
 
119
120
  ## 调用纪律(每次都照做)
120
121
 
121
- > **产物落点纪律(MUST · 全文见随包 `AGENT.md` 同名一节)**:
122
- > 交付物 MUST NOT 先写 agent 自有目录再拷进工程;中转本身即违规,体积不是豁免理由。
122
+ > **产物落点纪律(MUST · 全文见随包 `AGENT.md` 同名一节)**:
123
+ > 交付物 MUST NOT 先写 agent 自有目录再拷进工程;中转本身即违规,体积不是豁免理由。
123
124
  > 一切产物只落 `outDir`(缺省 = 输入同目录)或**用户显式指定的 `--out`**;
124
125
  > **MUST NOT** 把成片、预览或任何大媒体文件复制到 agent 自有工作目录(如用户文档目录下 agent 产品自建的目录、agent 家目录缓存、会话工作区)——需要引用媒体时**用原路径引用**,不做副本;
125
- > 临时文件一律放系统 temp 且**用完即删**。交付物直接写入工程目录或用户显式指定的路径;引用媒体用原路径。
126
+ > 临时文件一律放系统 temp 且**用完即删**。交付物直接写入工程目录或用户显式指定的路径;引用媒体用原路径。
126
127
 
127
128
  1. **先看清单、再对号**:用户的意图对到某个工具名(拿不准就 `gtrk tool list --json` 核对触发语与输入要求)。
128
129
  2. **执行前转述实时计费提示**:先读本次 `gtrk tool list --json` 的 `billingHint`/`pricing`,再把实时结果如实告诉用户;不得引用本文件或记忆中的旧价格。若显示价格暂不可用,就说明最终以服务端结算为准。
@@ -133,7 +134,7 @@ description: gtrk 单点工具与媒体转换能力的调用向导,覆盖 `gtr
133
134
  7. **透传高级参数**:命令没为某个云端参数开 flag 时,用 `--param k=v`(可重复)或 `--params-json '<对象>'` 直接透传(如 `image_move` 想指定输出几何 `--param width=1080 --param height=1920`)。
134
135
  8. **单发单收、批量靠循环**:一次一份输入;用户要批处理就你逐个循环调。例外是多文件图片工具(`image_classic_template` / `image_vertical_stitch`)——它们的一份输入天然是一组图片(一次任务一次计费),传参顺序即拼装顺序,别把它当批处理。
135
136
 
136
- 图片比例转换常用形态:`gtrk tool image_canvas_adapt ./photo.jpg --canvas-width 1080 --canvas-height 1920 --canvas-type rectangle --json`。`--canvas-type` 只接受 `normal`、`rectangle`、`square`;省略画布参数时不替服务端写死默认值。
137
+ 图片比例转换常用形态:`gtrk tool image_canvas_adapt ./photo.jpg --canvas-width 1080 --canvas-height 1920 --canvas-type rectangle --json`。`--canvas-type` 只接受 `normal`、`rectangle`、`square`;省略画布参数时不替服务端写死默认值。
137
138
 
138
139
  图转运镜可指定运镜方式:`gtrk tool image_move ./photo.jpg --motion zoom_in_center --json`。`--motion` 未传时云端自动选择(构图 + 主体识别 + 随机,同图重跑结果会变);显式指定后同图同参重跑结果一致。合法值 26 个、分三组,用户说「往右推 / 拉远 / 从左往右扫」这类自然语言时按语义对号入座,对不上就问清,别瞎猜:
139
140
 
@@ -204,3 +205,17 @@ Agent 在任何去除处理之前 MUST 主动向用户说明两种模式,并
204
205
  **慢速失败、排队或暂不可用时,必须先告知原因及切换快速去除的效果代价,等用户同意后才能另建快速任务;严禁自行手搓本地 ffmpeg 交差。** 长片超出 raft 限制时先说明限制,讨论分段或改模式,不因时长自动降档。交付时写明实际模式与已知效果问题,不把 ffmpeg 结果描述为无痕修复。
205
206
 
206
207
  完整万级区域保存在文件,勿逐条读进模型上下文。保护框优先于去除框,新处理请求会先检查服务支持 review_protocol=2,否则在上传计费前停止。
208
+
209
+ ## 视频高光发现
210
+
211
+ ### 高光发现与失败兜底
212
+
213
+ 该工具只由 `gtrk-vlog-docu` 图纸按需调用,或响应用户明确的单点工具调用;其他成片图纸不自动启用。Vlog 在全批概览之后,需要探索动态看点时执行:
214
+
215
+ ```bash
216
+ gtrk tool video_highlight "<本地视频>" --out "<工程目录>/highlight/<素材名>" --json
217
+ ```
218
+
219
+ 该入口当前仅供内部验收。只上传本地生成的224p/4fps无声代理,结果在 `result-output.json`。`groups` 各自的 `top3` 只代表该请求内的三秒候选;不可跨素材、跨分块混排分数。用 `matrix describe --materials <原片> --source-window <起秒,止秒> --prepare <目录>` 查看候选前后过程,再结合原声判定它能否进入脚本。不要用三秒评分推断整段事件完整性。已有明确脚本时优先语义检索,不自动调用视频高光算法,也不覆盖语义 best 或 VLM highlight。
220
+
221
+ 服务忙、冷却、超时、坏响应、无候选或接口未部署时,记录素材、任务号(若有)、失败原因和后续来源 `agent_semantic_overview`,继续从已观察素材按故事选材。视觉项当前 Agent 确实无法完成才标 `unavailable` 交豆包;两者都不可用则保留缺口,不写成已看过。纯粹请求“高光评分结果”时,原子失败就如实报告未完成。已有任务号优先查询原任务;提交状态未知时用同一素材、模型、输出目录恢复,不换身份盲目建单。
@@ -5,21 +5,49 @@ description: Vlog 纪实类一站式成片图纸——纪实 Vlog 是散文的
5
5
 
6
6
  # gtrk-vlog-docu(Vlog 纪实类 · 组合成片图纸)
7
7
 
8
+ ## 审片与脚本的实际工作顺序
9
+
10
+ 先建立全批素材概览,包含视频、照片和原声,再提出影响主线的关键问题。已有回答直接沿用,不重复问。不要先定故事,再只找支持它的几张画面。
11
+
12
+ 视觉部分沿用 `gtrk-matrix` 的当前 Agent 优先通路:`describe --materials ... --prepare <工程目录/visual-overview>` → 当前 Agent 按时码看图、记录事实与不确定项 → `--review <回执>` 导入。长场景多个观察点;动作、表情、剪辑入出点在相关窗口内加密查看。原声有内容时结合转写/试听;不能把抽帧概览称为完整看过原片。Agent 无视觉能力或单项无法完成时才由豆包补齐,注明回退原因。
13
+
14
+ 概览后组织可审阅的视听脚本:每段表达什么、采用哪条素材的哪个时间区间、保留什么同期声、哪里需要旁白、照片如何进入。交给用户审阅;有异议则多轮修改同一份脚本,认可后继续成片。照片可由既有图片运镜能力进入时间线,但不能虚构照片之外的事件。
15
+
16
+ 明确脚本的取材由语义与实际画面证据主导;泛高光发现只是探索素材的一种工具,其分数不能覆盖脚本意图。下方云端 describe 示例仅在当前 Agent 无法完成时直接使用;有视觉能力时先 prepare/review,交接由 Agent 完成,不让用户填逐帧表格。
17
+
8
18
  把**一批现场素材**变成**一条纪实成片工程**:素材理解 → 选档写稿 → 检查点①一次拍板 → 同期声骨架 + 旁白配音 + B-roll + 字幕层 + BGM 全自动 → 客户端出片。
9
19
 
10
20
  > **定位**:structure 级组合图纸,不新增命令,只编排既有原子零件。零件参数以各自 skill(`gtrk-transcript` / `gtrk-matrix` / `gtrk-splitter` / `gtrk-mg`)与 `--help` 为准,**本图纸引用不复制**;编排次序、检查点、配方参数以本图纸为准。**CLI 是手,你是脑。**
11
21
  >
12
- > **本体定性**:
13
- > **纪实 Vlog 是散文的载体——用有限的素材,把一个故事、或一个几个思想,最终串联起来。**
22
+ > **本体定性**:
23
+ > **纪实 Vlog 是散文的载体——用有限的素材,把一个故事、或一个几个思想,最终串联起来。**
14
24
  >
15
25
  > 三个推论,构成本图纸的全部决策原点:
16
- > - **形散神不散**:素材可以跳跃、场景可以断裂、时间可以不连续,但**必须有一根线**。没有那根线的片子叫「相册」不叫作品。
26
+ > - **形散神不散**:素材可以跳跃、场景可以断裂、时间可以不连续,但**必须有一根线**。没有那根线的片子叫「相册」不叫作品。
17
27
  > - **素材有限是前提不是缺陷**:创作力体现在「用手上这些素材能串出什么」,不是「还差什么素材」。**先看素材里有什么,再决定串什么**——这是散文与说明文的分野。
18
28
  > - **先立神,再选材**:写稿的第一步不是排素材顺序,是找到那根线(§3.2)。顺序反了就会写成流水账。
19
29
  >
20
30
  > **表达形态上的定义性特征**:纪实类是**双声道交替**——现场同期声承载真实感与人格,后期旁白承载知识与升华。**同期声片段是内容本体,不是可替换的配画**。这是它区别于口播链与配音链的根本。
21
31
  >
22
- > ⚠️ **当前实现状态**:链路形态采用 **C 分段拼接** 与默认保留部分毛边,但 `gtrk project compose` 命令**尚未实现**。A/C 档在 compose 落地前不可跑;B 档可走配音链,「立神+选段+旁白稿」创作件可独立交付。用户要做时**MUST**先说明当前状态,细节见 `openspec/.plans/explore-vlog-docu-skill.md` §四之二。
32
+ > **当前实现状态**:本地候选 CLI 已支持 `gtrk project compose`,按清单组装视频、图片和已合成旁白。先用 `gtrk project --help` 核对当前安装版本是否提供 compose;旧版不支持时停在图纸,不手写工程冒充链路。声音仍经检查点确认后生成。
33
+
34
+ ### 高光发现与失败兜底(仅本图纸使用)
35
+
36
+ 在全批概览之后,用户只说“挑高光”或某段值得探索但缺少明确事件线索时,按需执行:
37
+
38
+ ```bash
39
+ gtrk tool video_highlight "<本地视频>" --out "<工程目录>/highlight/<素材名>" --json
40
+ ```
41
+
42
+ 该入口当前仅供内部验收。只上传本地生成的224p/4fps无声代理,结果在 `result-output.json`。`groups` 各自的 `top3` 只代表该请求内的三秒候选;不可跨素材、跨分块混排分数。用 `matrix describe --materials <原片> --source-window <起秒,止秒> --prepare <目录>` 查看候选前后过程,再结合原声判定它能否进入脚本。不要用三秒评分推断整段事件完整性。已有明确脚本时优先语义检索,不自动调用视频高光算法,也不覆盖语义 best 或 VLM highlight。
43
+
44
+ 服务忙、冷却、超时、坏响应、无候选或接口未部署时,记录素材、任务号(若有)、失败原因和后续来源 `agent_semantic_overview`,继续从已观察素材按故事选材。视觉项当前 Agent 确实无法完成才标 `unavailable` 交豆包;两者都不可用则保留缺口,不写成已看过。纯粹请求“高光评分结果”时,原子失败就如实报告未完成。已有任务号优先查询原任务;提交状态未知时用同一素材、输出目录恢复,不换身份盲目建单。
45
+
46
+ ### 脚本验收交付物
47
+
48
+ 在工程目录维护一份可持续修改的视听脚本,按顺序列出:段落目的、源素材、源入出点、预计片长、画面事实、同期声或环境声、旁白、照片运镜、证据覆盖与待核对项。素材时间轴与成片时间轴分列。旁白草稿不当作录音事实,未听清的同期声不编台词,文件名日期不自动当作真实行程日期。
49
+
50
+ 连同全批素材概览、采用/舍弃理由、高光调用与回退记录一起交付。先审这份完整图纸;用户认可后再合成旁白、组装工程和渲染。组装必须走 `project compose`,不能手写 `.gtrk`;图纸确认和成片验收分别记账。
23
51
 
24
52
  ## 一、输入契约与三档识别
25
53
 
@@ -46,7 +74,7 @@ description: Vlog 纪实类一站式成片图纸——纪实 Vlog 是散文的
46
74
 
47
75
  **判别动作**:`gtrk transcript` 抽听 1-2 条代表素材——转写出大量口语碎句、语气词、对话接话 → A 档;几乎无人声或只有环境音 → B 档;有对话但用户明显想表达观点 → C 档。**拿不准问用户一句**:「你是想让现场的声音说话,还是你来讲?」
48
76
 
49
- > **C 档适合需要升华观点的自制片**:以纪实同期声承载事件,中后程切入议论式旁白,把当天经历升华为观点与私人自白,落一句可摘录的态度句。有条件优先推 C。
77
+ > **C 档适合需要升华观点的自制片**:以纪实同期声承载事件,中后程切入议论式旁白,把当天经历升华为观点与私人自白,落一句可摘录的态度句。有条件优先推 C。
50
78
 
51
79
  ## 二、全链总览(快速成片)
52
80
 
@@ -57,7 +85,7 @@ description: Vlog 纪实类一站式成片图纸——纪实 Vlog 是散文的
57
85
  ④ 写稿 只写定调层旁白(§三)→ 稿 + 标题 + HashTag
58
86
  ⑤ 检查点① 【必停】神 · 配比档 · 稿件 · 画幅 · 音色 · BGM · 字幕样式(§四)
59
87
  ⑥ 配音 gtrk tool audio_tts_clone(仅旁白段,★ 分段合成)
60
- ⑦ 拼主轨 gtrk project compose(分段清单 → live 段引用原片区间 + narration 段落位)★ 待实现
88
+ ⑦ 拼主轨 gtrk project compose(分段清单 → live 段引用原片区间 + narration 段落位)
61
89
  ⑧ 拆分派单 gtrk split:live 段=A_ROLL/真人出镜|口播继续;narration 段=FILM_BROLL|MG/旁白主导
62
90
  ⑨ B-roll matrix --local --dirs → describe → lay(只铺 narration 段空档)
63
91
  ⑩ 字幕层 吐槽/观察/进度/梗卡进 MG 派单(§六)→ mg lint → mg --project
@@ -66,7 +94,7 @@ description: Vlog 纪实类一站式成片图纸——纪实 Vlog 是散文的
66
94
  ⑬ 交付 客户端打开工程出片
67
95
  ```
68
96
 
69
- **快速成片的「免打扰」只覆盖 ⑥ 之后的执行环节**:①–⑤ 的立神访谈与检查点①**双模式都必须问**,MUST NOT 因为用户选了快速成片就跳过立神对话自行拍板——那是把创作者的片子做成 agent 的片子。用户要精修按 §七 逐步停。
97
+ **快速成片的「免打扰」只覆盖 ⑥ 之后的执行环节**:①–⑤ 沿用已有创作意图,补问必要信息并保留检查点①,MUST NOT 因为用户选了快速成片就跳过立神对话自行拍板——那是把创作者的片子做成 agent 的片子。用户要精修按 §七 逐步停。
70
98
 
71
99
  ## 三、写稿规约
72
100
 
@@ -87,7 +115,7 @@ description: Vlog 纪实类一站式成片图纸——纪实 Vlog 是散文的
87
115
 
88
116
  纪实 Vlog 是散文的载体——**用有限的素材,把一个故事、或一个几个思想,串联起来**。「神」就是那根线。**没有神的片子是相册,不是作品。**
89
117
 
90
- **★ 立神是多轮访谈,不是单点拍板**:**神的所有权在创作者**——素材分析只能提名候选,真正的神往往在创作者的经历和冲动里。本 skill SHALL 围绕神与创作者做多次沟通和确认,问够为止;快速成片免打扰只覆盖执行环节(⑥以后)。
118
+ **主线由创作者决定**:先利用已有回答和素材概览,只有仍影响主线的缺失信息才提问。用户已经讲清经历、重点和感受,或授权其余内容按素材编排时,直接写出可审阅脚本,不机械增加访谈轮数。多轮修改围绕同一份脚本进行,快速成片也保留脚本确认。
91
119
 
92
120
  **访谈协议(写稿前必做)**:
93
121
 
@@ -125,7 +153,7 @@ description: Vlog 纪实类一站式成片图纸——纪实 Vlog 是散文的
125
153
  - **要求**每一段都能回答「它为神做了什么」——是铺垫、是印证、是转折、还是留白?答不上来的段**砍掉**,哪怕画面好看;
126
154
  - **素材有限是前提不是缺陷**:不要为「素材不够」而注水或强行拉长。手上有什么,就串什么——这正是本类型的创作力所在。
127
155
 
128
- > ⚠️ **主要失败模式**:素材拍得不差却没有串成一条神,记录了一天的见闻,每段都成立,合起来仍像相册。它比文笔差、素材糙更致命。
156
+ > ⚠️ **主要失败模式**:素材拍得不差却没有串成一条神,记录了一天的见闻,每段都成立,合起来仍像相册。它比文笔差、素材糙更致命。
129
157
 
130
158
  ### 3.3 纪实要素层(本类型专属)
131
159
 
@@ -146,9 +174,9 @@ description: Vlog 纪实类一站式成片图纸——纪实 Vlog 是散文的
146
174
  到场定位(口播或旁白一句)→ 背景科普(旁白)→ 现场体验(同期声,让开)→ 攻略数字(旁白/字卡)→ 转场(车程字卡)
147
175
  ```
148
176
 
149
- **攻略信息件标准化(收藏钩)**:凡有地点/消费属性,每站必报**车程 + 价格 + 免费与否 + 避坑**,缺一项就少一分收藏价值。数字进字卡比进旁白更好用。
177
+ **攻略信息件标准化(收藏钩)**:凡有地点/消费属性,每站必报**车程 + 价格 + 免费与否 + 避坑**,缺一项就少一分收藏价值。数字进字卡比进旁白更好用。
150
178
 
151
- **Resonance 素材优先(有则必用、无则不硬造)**:用**坦白脆弱**(落榜、心碎、没钱、亲人离世)与**集体记忆锚点**(城市旧地标、经典电影、老游戏)建立共鸣。写稿前问用户一句:这趟有没有什么真话想说?有就放进升华段,**没有就老实做知识与快乐,不要编情绪**。
179
+ **Resonance 素材优先(有则必用、无则不硬造)**:用**坦白脆弱**(落榜、心碎、没钱、亲人离世)与**集体记忆锚点**(城市旧地标、经典电影、老游戏)建立共鸣。写稿前问用户一句:这趟有没有什么真话想说?有就放进升华段,**没有就老实做知识与快乐,不要编情绪**。
152
180
 
153
181
  **态度金句是收尾硬指标**:升华段必须落一句**可摘录**的话(能被观众截图、能当评论区引用)。写完自问:这句话单独拎出来,有人愿意转发吗?
154
182
 
@@ -195,9 +223,13 @@ HKRR 四维(缺哪补哪):
195
223
 
196
224
  ## 五、快速成片编排
197
225
 
198
- > **链路形态:C 分段拼接**——全片切 N 段,每段声明 `live`(同期声段,引用原片区间,**内容本体**)或 `narration`(旁白段,TTS + B-roll 空档),由 `gtrk project compose` 按序拼主轨。设计草案见探索工件 §四之二。
226
+ > **链路形态:C 分段拼接**——全片切 N 段,每段声明 `live`(同期声段,引用原片区间,**内容本体**)或 `narration`(旁白段,TTS + B-roll 空档),由 `gtrk project compose` 按序拼主轨。设计草案见探索工件 §四之二。
199
227
  >
200
- > ⚠️ **`gtrk project compose` 尚未实现**。当前可跑的降级通道:**B 档(旁白主导)走配音链**(`project init`,同期声片段当带声 B-roll)。**A/C 档在 compose 落地前 MUST NOT 假装能跑**;可先交付「立神+选段+旁白稿」创作件。
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 通过不等于预览可见,交付前还应检查客户端播放环境内的入场与驻留。
201
233
 
202
234
  ```bash
203
235
  # ① 理解与定档(抽听 1-2 条代表素材;live 段的 in/out 时码后面全从这份转写里读)
@@ -212,15 +244,18 @@ gtrk tool audio_tts_clone --text-file <旁白段1.txt> --speaker <voice_id> --js
212
244
  gtrk tool audio_tts_clone --text-file <旁白段2.txt> --speaker <voice_id> --json
213
245
  # ↑ 每段单独合成,compose 按段落位;同参重合成走缓存不重复扣费
214
246
 
215
- # ⑦ 拼主轨(★ 待实现:add-project-compose-command 落地后启用)
216
- # gtrk project compose --list <分段清单.json> --canvas 1920x1080 --json
217
- # 分段清单:agent 写语义(live: source+in/out+keep_rough / narration: tts_task),
218
- # 时间线时码全归 CLI(沿用 split 的「时码归 CLI」纪律);
219
- # live 段引用原片区间零切片零上传;narration 段留空档给 B-roll;
220
- # 产物含合并 transcript.json(live 句级时码按落位偏移 + TTS segments),下游零改造
221
- #
222
- # ★ 毛边口径(拍板默认):live 段 keep_rough=true——只剪长静默/明显重来/跑题闲聊,
223
- # 语气词与自然停顿保留(「嗯…那个…」是真实感的组成部分,MUST NOT 照口播链剪干净)
247
+ # ⑦ 拼主轨(新目录;不覆盖既有精修工程)
248
+ gtrk project compose --list <分段清单.json> --out <新工程目录> --canvas 1920x1080 --json
249
+ # 清单:{"version":1,"segments":[
250
+ # {"kind":"live","source":"原片.mp4","in":3,"out":11},
251
+ # {"kind":"narration","source":"旁白.wav","transcript":"旁白-transcript.json"},
252
+ # {"kind":"image","source":"合影.jpg","duration":4}
253
+ # ]}
254
+ # live 默认保留原声;keep_audio:false 才关闭。旁白段留画面空档给 B-roll。
255
+ # 原片不上传;路径相对清单;in/out 单位秒。transcript 为源时基 st/ed/text 句表。
256
+ # 毛边由选段保留;compose 不做静默删除或自动精剪。
257
+ # 多源文稿逐句绑定素材,split/subtitle 根据当刻工程重投影。
258
+ # 没提供 transcript 的素材不生成猜测字幕,跨切点整句会省略并报告。
224
259
 
225
260
  # ⑧ 拆分派单(★ 本类型的车道映射,词表无需扩展)
226
261
  gtrk split --project "<工程目录>" --json # 投影拿句表
@@ -259,7 +294,7 @@ gtrk subtitle lay --project "<工程目录>" --style default --color 雅黑 --js
259
294
 
260
295
  ## 六、字幕层规约(本类型的第二解说轨)
261
296
 
262
- **字幕层不是被动烧字幕,而是承载人格与信息的第二条解说轨。** 无语音段可由它承接信息。四类字卡进 MG 派单:
297
+ **字幕层不是被动烧字幕,而是承载人格与信息的第二条解说轨。** 无语音段可由它承接信息。四类字卡进 MG 派单:
263
298
 
264
299
  | 类 | 用途 | 样本形态 | 挂点 |
265
300
  |---|---|---|---|
@@ -310,9 +345,9 @@ gtrk subtitle lay --project "<工程目录>" --style default --color 雅黑 --js
310
345
 
311
346
  ## 十、已知边界与排障
312
347
 
313
- - **`gtrk project compose` 的当前状态见顶部实现状态块**:A/C 档当前不可跑,B 档走配音链,「立神+选段+旁白稿」创作件可独立交付;
348
+ - **`gtrk project compose` 的当前状态见顶部实现状态块**:核对本地版本,组装与图纸分别验收;未完成声音、字幕、运镜时不得称为完整成片;
314
349
  - **毛边口径已定(默认保留部分毛边)**:只剪长静默/明显重来/跑题闲聊,语气词与自然停顿保留——MUST NOT 照口播链标准剪干净;
315
- - **旁白盖住现场声**:铺完先在客户端听一遍交界处;
350
+ - **旁白盖住现场声**:铺完先在客户端听一遍交界处;
316
351
  - **三源混音**(同期声/旁白/BGM)的响度平衡当前靠客户端手调,无自动 ducking;
317
352
  - 闪帧 / 拆分注释客户端不显示 / describe 的 `text_overlay` 撞原片字幕区 / `matrix lay` 拒铺(`tracks_edited`)/ BGM 曲长不足:同旅拍图纸口径。
318
353
 
@@ -327,4 +362,4 @@ gtrk patch move --project <dir> --clip <clip_id> --to 5.0
327
362
  gtrk patch trim --project <dir> --clip <clip_id> --out -1s
328
363
  ```
329
364
 
330
- **MUST NOT 直接编辑 `.gtrk` 的 JSON**:片段时码两套并存(`clip_st`+`clip_ed` 与 `clip_st`+`duration`),改一份不改另一份会造成客户端与后端读取不同出点。`gtrk patch` 替你做恒等式同步 + 帧对齐 + 写前全档校验。
365
+ **MUST NOT 直接编辑 `.gtrk` 的 JSON**:片段时码两套并存(`clip_st`+`clip_ed` 与 `clip_st`+`duration`),改一份不改另一份会造成客户端与后端读取不同出点。`gtrk patch` 替你做恒等式同步 + 帧对齐 + 写前全档校验。