文档 / CLI 参考

检查和环节

按标准检查每个文件和每个版本的命令,以及运行 5 个环节来做出、检查和修好一集的命令。

本页的每条命令都需要这台电脑已登录。没登录时,每条命令都会打印 You are not signed in. Ask your agent to run minicut login.,并以退出码 10 结束。每条命令都接受的选项和所有退出码,见全局选项。

检查在你自己的电脑上运行。每个检查把所有没通过的地方连同修法一起打印出来,你的 Agent 修好之后再运行一次检查。环节分轮运行这些检查,见概览。

minicut check STEP

按标准检查某一步的文件,并把结果写在它旁边。

Usage

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检查名无有意保留这些没通过的检查

示例

检查分镜表

Terminal
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

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 号镜头的最新版本

Terminal
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

Usage
minicut check mock EPISODE_FOLDER [--json]

替换下面的内容:

  • EPISODE_FOLDER:这一集的文件夹,例如 episodes/ep01。

说明

预览片是把整集用静帧图片、配音、音乐和字幕拼出来的样子。检查会把它的长度和目标比较,并把结果存进这一集的文件夹。它还会请一个人看每个镜头的一帧,并回答它的问题。

选项

选项类型默认值说明
--json开关关把结果打印成一个 JSON 对象

示例

检查第 1 集的预览片

Terminal
minicut check mock episodes/ep01

输出

这一集的长度和目标的对比、没通过的地方和修法,然后是 RESULT: PASS 或 RESULT: FAIL。退出码:通过是 0,不通过是 1,文件夹不是集文件夹是 2。

另见

minicut loop run、minicut check captions

minicut check render

检查一集已经做好的视频文件。

Usage

Usage
minicut check render EPISODE_FOLDER RENDER_FILE [--json]

替换下面的内容:

  • EPISODE_FOLDER:这一集的文件夹,例如 episodes/ep01。
  • RENDER_FILE:做好的视频文件,例如 renders/ep01.mp4。

说明

检查把结果存在视频文件旁边,文件名相同,末尾加上 .verdict.json。

选项

选项类型默认值说明
--json开关关把结果打印成一个 JSON 对象

示例

检查做好的这一集

Terminal
minicut check render episodes/ep01 episodes/ep01/renders/ep01.mp4

输出

没通过的地方和修法,然后是 RESULT: PASS 或 RESULT: FAIL。退出码:通过是 0,不通过是 1,路径不对是 2。

另见

minicut check captions

检查每条字幕的位置、断行、时间和易读程度是否符合标准。

Usage

Usage
minicut check captions EPISODE_FOLDER [--json]

替换下面的内容:

  • EPISODE_FOLDER:这一集的文件夹,例如 episodes/ep01。

说明

预览片环节和剪辑环节都会运行这个检查。标准是字幕在画面底部居中,最多 2 行,每条都和它对应的台词对上时间。

选项

选项类型默认值说明
--json开关关把结果打印成 JSON,并存进这一集的文件夹

示例

检查第 1 集的字幕

Terminal
minicut check captions episodes/ep01

另见

minicut check mock、minicut check labels

minicut check labels

检查预览片的每个镜头是否都有一份带标签的副本,方便人审看。

Usage

Usage
minicut check labels EPISODE_FOLDER [--json]

替换下面的内容:

  • EPISODE_FOLDER:这一集的文件夹,例如 episodes/ep01。

说明

预览片环节会运行这个检查。在每一份带标签的副本里,这个镜头的每个资产都带一个写着它的 @名字 的标签。标签都在画面里,彼此分开,也不压在脸上。图片原来干净的那份保持不动。

选项

选项类型默认值说明
--json开关关把结果打印成一个 JSON 对象

示例

检查第 1 集的标签

Terminal
minicut check labels episodes/ep01

另见

minicut check lengths

检查时间线上每个镜头和它的版本长度是否对得上,以及音乐和这一集是否对得上。

Usage

Usage
minicut check lengths EPISODE_FOLDER [--json]

替换下面的内容:

  • EPISODE_FOLDER:有时间线的集文件夹,例如 episodes/ep01。

说明

比镜头短的版本,会让最后一帧停在画面上。检查会找出每一处这样的地方,并检查音乐是否和这一集配得上。

选项

选项类型默认值说明
--json开关关把结果打印成一个 JSON 对象

示例

检查第 1 集的长度

Terminal
minicut check lengths episodes/ep01

输出

检查了多少个镜头,然后每个问题一行 FAIL,带着修法。退出码 2 表示文件夹里没有时间线。

另见

minicut check zoom

把一个版本的每个部分做成全尺寸图片,让人或 Agent 可以看清细节。

Usage

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 对象

示例

细看一个版本和它前面的切换

Terminal
minicut check zoom episodes/ep01/clips/c03/t02.mp4 --prev episodes/ep01/clips/c02/t01.mp4

另见

minicut loop

显示每个环节的轮、它的上限和上一次的结果,以及下一条要运行的命令。

Usage

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 对象

示例

显示每个环节进行到哪里

Terminal
minicut loop

输出

项目标题和集,然后每个环节一行,写着它包含的步骤、上限、轮数和状态。最后两行是 next:(要运行的那一条命令)和 why:。

错误

信息怎么做
minicut loop runs inside a project folder在项目文件夹里运行,也就是有 series.json 的那个文件夹,或者它下面的文件夹

另见

minicut loop next、概览

minicut loop next

打印下一条要运行的命令,以及为什么。

Usage

Usage
minicut loop next [--json]

说明

你的 Agent 用它来知道下一步做什么。它从来不用去猜步骤的顺序。

选项

选项类型默认值说明
--json开关关打印一个 JSON 对象

示例

问下一步做什么

Terminal
minicut loop next

输出

第一行是命令,然后是写着原因的 why: 和写着要先读的文件的 read:。

另见

minicut loop run

把一个环节的检查运行一次,并记下这一轮。

Usage

Usage
minicut loop run {script|sheet|mock|videos|edit} [--max ROUNDS] [--json]

替换下面的内容:

  • ROUNDS:这个环节最多可以用几轮。

说明

用掉一轮之前,命令先检查这个环节的文件是否存在。对预览片环节,每个镜头要有它的预览图片,每句台词要有配音,音乐要有它的文件。还要有人先看过预览片的图片表。对剧本和分镜表环节,每一步的文件都必须写好。有东西缺的时候,命令列出缺什么,以退出码 3 结束,也不占用一轮。

选项

选项类型默认值说明
--max数字3,或者 series.json 里的上限这个环节最多几轮
--json开关关打印一个 JSON 对象

示例

运行分镜表环节的检查

Terminal
minicut loop run sheet

另见

minicut check STEP、minicut loop approve

minicut loop approve

记下你对一个环节给你看的东西说了好。

Usage

Usage
minicut loop approve {script|sheet|mock|videos|edit}

说明

看过一个环节做出的东西后,再通过它。如果这个环节上一轮没有通过,命令照样记下你的同意,并打印一条提示。然后它打印下一条命令。

示例

通过预览片

Terminal
minicut loop approve mock

另见

minicut loop done

因为你决定结束,而结束一个环节,不管它有没有通过。

Usage

Usage
minicut loop done {script|sheet|mock|videos|edit} --reason REASON

替换下面的内容:

  • REASON:你结束这个环节的原因,用你自己的话,放在引号里。

说明

一个环节到了上限就停下,而你认为结果已经够好时,用它。你写的原因会和这个环节一起保存。

示例

结束视频环节

Terminal
minicut loop done videos --reason "Good enough, ship it"

另见

minicut loop pause

让所有环节安静下来,直到 minicut loop resume 把它们叫回来。

Usage

Usage
minicut loop pause [--reason REASON]
minicut loop resume

替换下面的内容:

  • REASON:你暂停的原因,放在引号里。

说明

环节暂停期间,你的 Agent 可以停下工作,也没有东西会叫它继续。

示例

暂停一天

Terminal
minicut loop pause --reason "Back tomorrow"

另见

minicut loop stop-at

让各环节只运行到某一个环节,例如预览片。

Usage

Usage
minicut loop stop-at {script|sheet|mock|videos|edit|none} --reason REASON

替换下面的内容:

  • REASON:你停在那里的原因,用你自己的话,放在引号里。用 none 时不需要。

说明

停下之后,minicut loop next 不会再点名它后面的任何环节或步骤。none 清除这个停止点,所有环节重新开放。

示例

只运行到预览片

Terminal
minicut loop stop-at mock --reason "Show me the mock first"

另见

minicut loop guard

在环节或任务还没结束时,让你的编程 Agent 回去继续工作。

Usage

Usage
minicut loop guard [--hook | --pre-tool]

说明

这条命令是给你的编程 Agent 的钩子用的。下面三种情况,它以退出码 2 结束,让 Agent 回去继续工作:

  • 有环节正在一轮中间
  • 真正的视频版本在等视频环节
  • 项目还有任务在运行

在项目之外,或者环节暂停时,它以退出码 0 结束。

选项

选项类型默认值说明
--hook开关关作为 Agent 的停止钩子运行,读取 Agent 应用发来的内容
--pre-tool开关关在 Agent 写文件之前运行。它拒绝直接写这一集的时间线,并写明该用的 minicut timeline 命令

另见