检查和环节
按标准检查每个文件和每个版本的命令,以及运行 5 个环节来做出、检查和修好一集的命令。
本页的每条命令都需要这台电脑已登录。没登录时,每条命令都会打印 You are not signed in. Ask your agent to run minicut login.,并以退出码 10 结束。每条命令都接受的选项和所有退出码,见全局选项。
检查在你自己的电脑上运行。每个检查把所有没通过的地方连同修法一起打印出来,你的 Agent 修好之后再运行一次检查。环节分轮运行这些检查,见概览。
minicut check STEP
按标准检查某一步的文件,并把结果写在它旁边。
Usage
minicut check STEP FILE [OPTIONS] [--ignore CHECKS]替换下面的内容:
STEP:步骤编号,来自下表。FILE:这一步检查的文件或文件夹。OPTIONS:这一步的选项,来自下表。CHECKS:要忽略的未通过检查的名字,用逗号隔开。
说明
一集的每一步都有自己的检查。你的 Agent 写完这一步的文件后运行它,并修好没通过的地方。
| 步骤 | 环节 | 检查什么 | FILE | 选项 |
|---|---|---|---|---|
| 1 | 剧本 | 研究出来的创意 | 创意文档,.md | 无 |
| 2 | 剧本 | 故事和世界观文档 | 故事文档,.md | --format {one-off|series-episode|series} |
| 3 | 剧本 | 这一集的剧本 | script.md | --soft-only |
| 4 | 分镜表 | 分镜表 | shots.md | --model MODEL |
| 5 | 分镜表 | 资产清单和分镜表提示词 | assets.md | --sheet shots.md、--version VERSION、--model MODEL |
| 6 | 分镜表 | 镜头提示词 | prompts.md | --assets assets.md、--sheet shots.md、--model MODEL、--root FOLDER、--strict |
| 10 | 预览片和剪辑 | 剪辑器时间线 | 这一集的文件夹 | --target SECONDS、--tol SECONDS |
第 4、5、6 步需要用 --model 给出你选的视频模型,因为每个视频模型都有自己最短和最长的镜头。没有默认模型。minicut models --kind video 列出所有视频模型。
--ignore 让你有意保留一个没通过的检查。只有你点名的检查不再计入,忽略会连同日期写进这一步的检查文件。视频版本需要的分镜表或图片缺失,永远不能忽略。
选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--model | 名称 | 无 | 视频模型。第 4、5、6 步必须给 |
--sheet | 文件 | 无 | 第 5、6 步:分镜表 |
--assets | 文件 | 无 | 第 6 步:资产清单 |
--format | 格式 | 无 | 第 2 步:单集作品、系列中的一集,或整部全剧 |
--soft-only | 开关 | 关 | 第 3 步:只显示软检查 |
--strict | 开关 | 关 | 第 6 步:提示词里点名的图片文件如果还不在磁盘上,算 FAIL,不只是一条提示。真正花钱的运行之前用它 |
--target | 秒 | 无 | 第 10 步:这一集的目标长度 |
--tol | 秒 | 无 | 第 10 步:长度和目标最多可以差多少 |
--ignore | 检查名 | 无 | 有意保留这些没通过的检查 |
示例
检查分镜表
minicut check 4 shots.md --model MODEL把 MODEL 换成你选的视频模型。
输出
每个没通过的检查一行,带着修法,然后是一行结果和检查文件的路径:
| 结果行 | 含义 | 退出码 |
|---|---|---|
RESULT: PASS | 所有硬检查都通过了。软警告的数量算在同一行 | 0 |
RESULT: FAIL | 有硬检查没通过。这一行给出数量 | 1 |
RESULT: NOT RUN | 检查没法运行。原因写在它上面 | 2 |
RESULT: REFUSED | --ignore 点名了一个永远不能忽略的检查 | 5 |
错误
| 信息 | 怎么做 |
|---|---|
not a step: <step>. | 用表里的步骤编号,或者下面有名字的某个检查 |
file not found: <file> | 检查路径 |
no Python 3 found. Run: minicut setup | 运行 minicut setup |
另见
minicut loop run、minicut script
minicut check take
检查一个镜头的一个视频版本,并把每个没通过的地方连同修法打印出来。
Usage
minicut check take CLIP_FOLDER [--take TAKE] [--json]替换下面的内容:
CLIP_FOLDER:镜头的文件夹,例如episodes/ep01/clips/c03。TAKE:版本 id,例如t02。
说明
不加 --take 时,命令检查最新的版本。它把结果存在版本旁边。没有版本的镜头不通过,修法里会写出用来做一个版本的 minicut gen video 命令。
选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--take | 版本 id | 最新的版本 | 要检查的版本 |
--json | 开关 | 关 | 把结果打印成一个 JSON 对象 |
示例
检查 3 号镜头的最新版本
minicut check take episodes/ep01/clips/c03输出
先是镜头、版本、它的类型和长度,然后每个失败一行 FAIL,下面带一行 fix:,最后是 RESULT: PASS 或 RESULT: FAIL。加上 --json,结果是一个对象,带 result 和一个 failures 列表,列表里每项有 check、message 和 fix。退出码:通过是 0,不通过是 1,文件夹不是镜头文件夹是 2。
另见
minicut gen video、minicut check zoom
minicut check mock
检查一集的整个预览片:每个镜头的图片、每句台词的配音,以及音乐。
Usage
minicut check mock EPISODE_FOLDER [--json]替换下面的内容:
EPISODE_FOLDER:这一集的文件夹,例如episodes/ep01。
说明
预览片是把整集用静帧图片、配音、音乐和字幕拼出来的样子。检查会把它的长度和目标比较,并把结果存进这一集的文件夹。它还会请一个人看每个镜头的一帧,并回答它的问题。
选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--json | 开关 | 关 | 把结果打印成一个 JSON 对象 |
示例
检查第 1 集的预览片
minicut check mock episodes/ep01输出
这一集的长度和目标的对比、没通过的地方和修法,然后是 RESULT: PASS 或 RESULT: FAIL。退出码:通过是 0,不通过是 1,文件夹不是集文件夹是 2。
另见
minicut loop run、minicut check captions
minicut check render
检查一集已经做好的视频文件。
Usage
minicut check render EPISODE_FOLDER RENDER_FILE [--json]替换下面的内容:
EPISODE_FOLDER:这一集的文件夹,例如episodes/ep01。RENDER_FILE:做好的视频文件,例如renders/ep01.mp4。
说明
检查把结果存在视频文件旁边,文件名相同,末尾加上 .verdict.json。
选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--json | 开关 | 关 | 把结果打印成一个 JSON 对象 |
示例
检查做好的这一集
minicut check render episodes/ep01 episodes/ep01/renders/ep01.mp4输出
没通过的地方和修法,然后是 RESULT: PASS 或 RESULT: FAIL。退出码:通过是 0,不通过是 1,路径不对是 2。
另见
minicut check captions
检查每条字幕的位置、断行、时间和易读程度是否符合标准。
Usage
minicut check captions EPISODE_FOLDER [--json]替换下面的内容:
EPISODE_FOLDER:这一集的文件夹,例如episodes/ep01。
说明
预览片环节和剪辑环节都会运行这个检查。标准是字幕在画面底部居中,最多 2 行,每条都和它对应的台词对上时间。
选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--json | 开关 | 关 | 把结果打印成 JSON,并存进这一集的文件夹 |
示例
检查第 1 集的字幕
minicut check captions episodes/ep01另见
minicut check mock、minicut check labels
minicut check labels
检查预览片的每个镜头是否都有一份带标签的副本,方便人审看。
Usage
minicut check labels EPISODE_FOLDER [--json]替换下面的内容:
EPISODE_FOLDER:这一集的文件夹,例如episodes/ep01。
说明
预览片环节会运行这个检查。在每一份带标签的副本里,这个镜头的每个资产都带一个写着它的 @名字 的标签。标签都在画面里,彼此分开,也不压在脸上。图片原来干净的那份保持不动。
选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--json | 开关 | 关 | 把结果打印成一个 JSON 对象 |
示例
检查第 1 集的标签
minicut check labels episodes/ep01另见
minicut check lengths
检查时间线上每个镜头和它的版本长度是否对得上,以及音乐和这一集是否对得上。
Usage
minicut check lengths EPISODE_FOLDER [--json]替换下面的内容:
EPISODE_FOLDER:有时间线的集文件夹,例如episodes/ep01。
说明
比镜头短的版本,会让最后一帧停在画面上。检查会找出每一处这样的地方,并检查音乐是否和这一集配得上。
选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--json | 开关 | 关 | 把结果打印成一个 JSON 对象 |
示例
检查第 1 集的长度
minicut check lengths episodes/ep01输出
检查了多少个镜头,然后每个问题一行 FAIL,带着修法。退出码 2 表示文件夹里没有时间线。
另见
minicut check zoom
把一个版本的每个部分做成全尺寸图片,让人或 Agent 可以看清细节。
Usage
minicut check zoom TAKE_FILE [--prev PREVIOUS_TAKE] [--box NAME=X,Y,W,H@FRAME ...] [--out FOLDER] [--json]替换下面的内容:
TAKE_FILE:版本的视频文件,例如t02.mp4。PREVIOUS_TAKE:前一个镜头的版本,用来检查两个镜头之间的切换。NAME=X,Y,W,H@FRAME:一块要细看的区域:名字、它的位置和大小(像素),以及帧号。FOLDER:存图片的文件夹。
说明
图片展示画面的每个部分、每只手和每张脸,以及有东西发生变化的地方。加上 --prev,还会展示和前一个镜头之间的切换。
选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--prev | 文件 | 无 | 前一个镜头的版本 |
--box | 区域 | 无 | 一块要细看的区域。重复写可以加更多 |
--out | 文件夹 | 无 | 图片存在哪里 |
--json | 开关 | 关 | 把结果打印成一个 JSON 对象 |
示例
细看一个版本和它前面的切换
minicut check zoom episodes/ep01/clips/c03/t02.mp4 --prev episodes/ep01/clips/c02/t01.mp4另见
minicut loop
显示每个环节的轮、它的上限和上一次的结果,以及下一条要运行的命令。
Usage
minicut loop [status] [--episode EPISODE] [--json]替换下面的内容:
EPISODE:集的 id,例如ep01。
说明
环节在项目文件夹里运行,或者在它下面的任意文件夹里运行。一共有 5 个环节,CLI 里的名字是 script、sheet、mock、videos 和 edit:
| 环节 | CLI 里的名字 | 做出什么 |
|---|---|---|
| 剧本 | script | 故事和这一集的剧本 |
| 分镜表 | sheet | 这一集的每个镜头,以及镜头里角色和场景的图片 |
| 预览片 | mock | 把整集用静帧图片、配音、音乐和字幕拼出来 |
| 视频 | videos | 每个镜头的一个视频版本 |
| 剪辑 | edit | 做好的成片,一个视频文件 |
每个环节做出自己的那一部分,检查它,修好没通过的,再检查一遍。一个环节默认在 3 轮之后停下,把还没通过的地方给你看,由你决定。这个顺序只是建议:乱序运行一个环节,会打印一条警告,然后照样运行。
要改一个项目的上限,在它的 series.json 里加上 "loops",例如 "loops": {"mock": 4, "takes": 5}。视频环节的键是 takes。
选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--episode | 集 id | 你所在的集 | 要显示的集 |
--json | 开关 | 关 | 打印一个 JSON 对象 |
示例
显示每个环节进行到哪里
minicut loop输出
项目标题和集,然后每个环节一行,写着它包含的步骤、上限、轮数和状态。最后两行是 next:(要运行的那一条命令)和 why:。
错误
| 信息 | 怎么做 |
|---|---|
minicut loop runs inside a project folder | 在项目文件夹里运行,也就是有 series.json 的那个文件夹,或者它下面的文件夹 |
另见
minicut loop next
打印下一条要运行的命令,以及为什么。
Usage
minicut loop next [--json]说明
你的 Agent 用它来知道下一步做什么。它从来不用去猜步骤的顺序。
选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--json | 开关 | 关 | 打印一个 JSON 对象 |
示例
问下一步做什么
minicut loop next输出
第一行是命令,然后是写着原因的 why: 和写着要先读的文件的 read:。
另见
minicut loop run
把一个环节的检查运行一次,并记下这一轮。
Usage
minicut loop run {script|sheet|mock|videos|edit} [--max ROUNDS] [--json]替换下面的内容:
ROUNDS:这个环节最多可以用几轮。
说明
用掉一轮之前,命令先检查这个环节的文件是否存在。对预览片环节,每个镜头要有它的预览图片,每句台词要有配音,音乐要有它的文件。还要有人先看过预览片的图片表。对剧本和分镜表环节,每一步的文件都必须写好。有东西缺的时候,命令列出缺什么,以退出码 3 结束,也不占用一轮。
选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--max | 数字 | 3,或者 series.json 里的上限 | 这个环节最多几轮 |
--json | 开关 | 关 | 打印一个 JSON 对象 |
示例
运行分镜表环节的检查
minicut loop run sheet另见
minicut check STEP、minicut loop approve
minicut loop approve
记下你对一个环节给你看的东西说了好。
Usage
minicut loop approve {script|sheet|mock|videos|edit}说明
看过一个环节做出的东西后,再通过它。如果这个环节上一轮没有通过,命令照样记下你的同意,并打印一条提示。然后它打印下一条命令。
示例
通过预览片
minicut loop approve mock另见
minicut loop done
因为你决定结束,而结束一个环节,不管它有没有通过。
Usage
minicut loop done {script|sheet|mock|videos|edit} --reason REASON替换下面的内容:
REASON:你结束这个环节的原因,用你自己的话,放在引号里。
说明
一个环节到了上限就停下,而你认为结果已经够好时,用它。你写的原因会和这个环节一起保存。
示例
结束视频环节
minicut loop done videos --reason "Good enough, ship it"另见
minicut loop pause
让所有环节安静下来,直到 minicut loop resume 把它们叫回来。
Usage
minicut loop pause [--reason REASON]
minicut loop resume替换下面的内容:
REASON:你暂停的原因,放在引号里。
说明
环节暂停期间,你的 Agent 可以停下工作,也没有东西会叫它继续。
示例
暂停一天
minicut loop pause --reason "Back tomorrow"另见
minicut loop stop-at
让各环节只运行到某一个环节,例如预览片。
Usage
minicut loop stop-at {script|sheet|mock|videos|edit|none} --reason REASON替换下面的内容:
REASON:你停在那里的原因,用你自己的话,放在引号里。用none时不需要。
说明
停下之后,minicut loop next 不会再点名它后面的任何环节或步骤。none 清除这个停止点,所有环节重新开放。
示例
只运行到预览片
minicut loop stop-at mock --reason "Show me the mock first"另见
minicut loop guard
在环节或任务还没结束时,让你的编程 Agent 回去继续工作。
Usage
minicut loop guard [--hook | --pre-tool]说明
这条命令是给你的编程 Agent 的钩子用的。下面三种情况,它以退出码 2 结束,让 Agent 回去继续工作:
- 有环节正在一轮中间
- 真正的视频版本在等视频环节
- 项目还有任务在运行
在项目之外,或者环节暂停时,它以退出码 0 结束。
选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--hook | 开关 | 关 | 作为 Agent 的停止钩子运行,读取 Agent 应用发来的内容 |
--pre-tool | 开关 | 关 | 在 Agent 写文件之前运行。它拒绝直接写这一集的时间线,并写明该用的 minicut timeline 命令 |