项目
新建项目、把图片和版本存进项目,以及显示它的镜头和剧本的命令。
本页的每条命令都需要这台电脑已登录。没登录时,每条命令都会打印 You are not signed in. Ask your agent to run minicut login.,并以退出码 10 结束。每条命令都接受的选项和所有退出码,见全局选项。
minicut new
新建一个项目文件夹,给项目加一集,或者给某一集写入一条空的时间线。
Usage
minicut new ID [--title TITLE] [--dir PARENT] [--episodes COUNT]
minicut new ID --add-episode [--dir PARENT] [--json]
minicut new ID --timeline EPISODE [--dir PARENT] [--json]替换下面的内容:
ID:项目 id。小写字母、数字和-,最多 24 个字符,以字母或数字开头。TITLE:人看的标题。任何语言都行。PARENT:项目所在的文件夹。COUNT:你计划做几集,1 到 9999 的整数。EPISODE:集的 id,例如ep01。
说明
一个项目就是一部全剧。minicut new 建好项目文件夹,里面有第一集 ep01。这一集一开始有一条空的时间线,剪辑器原样打开它。不加 --dir 时,项目放在 MiniCut 主文件夹的 projects 文件夹里。
--add-episode 加上下一个空闲的集(ep02、ep03,依此类推),并把它列进 series.json。--timeline 给没有时间线的集文件夹写入一条空时间线。
角色、场景、道具和风格不放在项目文件夹里。它们用 minicut save 存进你的素材库,项目按 id 列出它们。
选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--title | 文字 | id | 人看的标题,存在 series.json 里 |
--dir | 文件夹 | projects 文件夹 | 项目所在的文件夹 |
--episodes | 数字 | 无 | 你计划做几集。超过 99 时,集 id 用三位数,例如 ep001 |
--add-episode | 开关 | 关 | 给已有的项目加下一集 |
--timeline | 集 id | 无 | 给这一集写入空时间线 |
--json | 开关 | 关 | 打印一个 JSON 对象。配合 --add-episode 和 --timeline 使用 |
示例
新建一个带标题的项目
minicut new rain-shop --title "Rain shop"加下一集
minicut new rain-shop --add-episode输出
minicut new 打印项目文件夹和它建出来的文件。加上 --json,--add-episode 和 --timeline 打印:
{"ok": true, "project": "rain-shop", "episode": "ep02", "dir": "~/.minicut/projects/rain-shop/episodes/ep02", "created": "episode"}created 是 episode 或 timeline。
| 退出码 | 含义 |
|---|---|
| 0 | 文件夹建好了 |
| 2 | id、集或数量不对,或者文件夹已经存在 |
| 5 | --dir 在你的工作文件夹之外 |
文件
rain-shop/
series.json title, id, screen shape, episodes and library ids
source/
sources.json the sources the story comes from, empty at first
episodes/
ep01/
clips/ one folder per shot, with its takes
music/ the episode's music
index.html the episode timeline, empty until the first cut
minicut.json the editor settings for this episode错误
| 信息 | 怎么做 |
|---|---|
"<id>" cannot be a project id. | 用小写字母、数字和 -,最多 24 个,真正的标题写在 --title 里 |
already exists: <folder> | 换一个 id,或者在已有的那个项目里做 |
--episodes is the planned episode count, a number. | 给一个整数,例如 --episodes 12 |
no project at <folder> (no readable series.json) | 检查 id,或者加上 --dir 指向项目所在的文件夹 |
--timeline needs an episode id such as ep01. | 在 --timeline 后面给集 id |
<episode> already has a timeline | 不用做什么:这一集已经有时间线 |
另见
minicut save
把一张图片存进你的素材库,或者把生成的文件存成某个镜头的一个版本。
Usage
minicut save KIND FILE --id ID [--name NAME] [--as STEM] [--project PROJECT]
minicut save take FILE --project PROJECT --episode EPISODE --clip CLIP [--kind {model|code|placeholder}] [--model MODEL] [--seconds SECONDS]替换下面的内容:
KIND:character、location、prop或style。FILE:要存的文件。图片是.png、.jpg、.jpeg或.webp。版本是.mp4、.mov、.webm、.wav、.mp3或.m4a。ID:这一项的 id。小写字母、数字和-,最多 32 个字符,例如lin-xia。NAME:人看的这一项的名字。STEM:图片存成的文件名,不带扩展名,例如face-01。PROJECT:项目 id,或者项目文件夹的路径。EPISODE:集的 id,例如ep01。CLIP:镜头 id,例如c01。MODEL:做出这个版本的模型的名字。SECONDS:占位图片变成的片段的长度。
说明
你的素材库里放着角色、场景、道具和风格,每个项目都能用。minicut save KIND 把图片复制到素材库里这一项的文件夹。加上 --project,它还会把这一项的 id 列进那个项目的 series.json。它从不覆盖素材库里已有的文件。
minicut save take 把一个文件存成这个镜头的下一个版本:t01、t02,依此类推。文件放进素材库,镜头文件夹里得到同一个文件,磁盘允许时用硬链接。旁边会放一条版本记录。一个镜头的第一个版本会成为它选中的版本。
加上 --kind placeholder,一张 .png 或 .jpg 图片会变成一段和镜头一样长的片段。长度是 --seconds,没给就用分镜表上这个镜头的时长。
选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--id | id | 无 | 这一项的 id。素材库里的图片必须给 |
--name | 文字 | id | 人看的这一项的名字 |
--as | 名称 | 角色是 sheet-NN,其他是 image-NN | 图片存成的文件名 |
--project | id 或文件夹 | 无 | 要把这一项列进去的项目。版本必须给 |
--episode | 集 id | 无 | 镜头所在的集。版本必须给 |
--clip | 镜头 id | 无 | 这个版本属于的镜头。版本必须给 |
--kind | model、code 或 placeholder | model | 版本是怎么做出来的:模型做的、代码做的,还是用一张静帧图片做的 |
--model | 名称 | 无 | 做出这个版本的模型 |
--seconds | 数字 | 镜头的时长 | --kind placeholder 时的片段长度 |
示例
存一张角色图片并列进项目
minicut save character lin-xia.png --id lin-xia --name "Lin Xia" --project rain-shop把一个视频存成 3 号镜头的版本
minicut save take take.mp4 --project rain-shop --episode ep01 --clip c03输出
minicut save 打印 Saved 和存好的文件的路径,然后是它改动的每个项目文件。
| 退出码 | 含义 |
|---|---|
| 0 | 文件存好了 |
| 2 | 某个选项或文件不对,或者文件已经在素材库里 |
| 5 | 文件在你的工作文件夹之外 |
错误
| 信息 | 怎么做 |
|---|---|
no such file: <file> | 检查文件路径 |
--id must be a short ASCII id | 用小写字母、数字和 -,最多 32 个 |
already in the library, not overwritten: <file> | 用另一个 --as 存,或者用已有的那个文件 |
--episode is ep01 (or ep001) and --clip is c01 (or c001). | 两个 id 都按这个格式给 |
no episode folder <folder>. | 用 series.json 里列出的集 |
no length for <clip>: add --seconds S | 加上 --seconds,或者在分镜表上给这个镜头一个时长 |
另见
minicut asset
在项目里添加、重命名、设置封面或移除一项,并选定某个镜头的版本。
Usage
minicut asset add PROJECT {characters|locations|props} NAME [--note NOTE] [PICTURE ...]
minicut asset rename PROJECT KIND ITEM NEW_NAME
minicut asset cover PROJECT KIND ITEM PICTURE_NAME
minicut asset remove PROJECT KIND ITEM
minicut asset pick PROJECT EPISODE CLIP TAKE替换下面的内容:
PROJECT:项目 id,.表示你所在的项目,或者项目文件夹的路径。NAME:新一项的名字。NOTE:这一项的简短描述。PICTURE:这一项的图片文件。给多个就加多张。KIND:characters、locations或props。ITEM:要改的那一项。NEW_NAME:这一项的新名字。PICTURE_NAME:这一项的某张图片的文件名。EPISODE、CLIP、TAKE:集、镜头和版本,例如ep01 c03 t02。
说明
这些动作和 MiniCut 应用里的 资产 标签页做的一样,规则也一样。已被占用的名字会被拒绝。rename 会改掉项目里这一项的每一处 @名字 提及。remove 把这一项的文件夹移进系统废纸篓。pick 设定镜头用的版本。
选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--note | 文字 | 无 | 这一项的简短描述。配合 add 使用 |
示例
添加一个带一张图片的角色
minicut asset add rain-shop characters "Lin Xia" --note "shop owner" lin-xia.png3 号镜头用第 2 版
minicut asset pick rain-shop ep01 c03 t02输出
minicut asset 打印一行 JSON:动作的结果,或者一个 error。
| 退出码 | 含义 |
|---|---|
| 0 | 动作运行了 |
| 1 | 动作被拒绝 |
| 2 | asset 后面的词不对 |
| 5 | 某张图片在你的工作文件夹之外 |
另见
minicut shots
列出一集的每个镜头和它的状态,状态和应用里分镜表显示的一样。
Usage
minicut shots [--episode EPISODE] [--project PROJECT] [--json]替换下面的内容:
EPISODE:集的 id,例如ep01。PROJECT:项目 id,或者项目文件夹的路径。
说明
项目是 --project,没给就是你运行命令时所在的项目文件夹。集是 --episode,没给就是项目里唯一的一集。命令读取这一集的文件,什么都不改。
选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--episode | 集 id | 唯一的一集 | 要列出的集 |
--project | id 或文件夹 | 你所在的文件夹 | 要读取的项目 |
--json | 开关 | 关 | 打印一个 JSON 列表 |
示例
列出第 1 集的镜头
minicut shots --episode ep01输出
每一行是一个镜头:它的 id、它的状态,有的话再加上它的版本、任务 id 和原因。状态用中文打印,和应用里一样。
加上 --json,命令打印一个列表,每个镜头一个对象:
[{"clip": "c01", "state": "done", "take": "t01", "job_id": null, "reason": null}]| 状态 | 含义 |
|---|---|
sheet | 在分镜表上,还没有提示词 |
writing | Agent 正在写提示词 |
promptFail | 提示词没有通过检查 |
ready | 可以生成了 |
queued | 任务在等待开始 |
running | 任务正在运行 |
saving | 结果正在保存 |
failed | 任务失败了 |
stopped | 任务被停止了 |
unchecked | 版本还没检查 |
fail | 版本没有通过检查 |
done | 版本已做好 |
退出码:列出了镜头是 0,找不到项目或集是 5。
错误
| 信息 | 怎么做 |
|---|---|
No project here: run this inside a series folder, or add --project <id or folder>. | 在项目文件夹里运行,或者加上 --project |
Which episode? Add --episode epNN | 加上 --episode,用它列出的某一集 |
另见
minicut now
告诉应用里的分镜表,你的 Agent 正在写哪个镜头。应用会显示 120 秒。
Usage
minicut now STEP CLIP [--episode EPISODE] [--project PROJECT] [--json]替换下面的内容:
STEP:你的 Agent 正在做的步骤的编号,从 1 开始的整数。CLIP:镜头 id,例如c03,或者镜头文件夹的路径。EPISODE:集的 id,例如ep01。PROJECT:项目 id,或者项目文件夹的路径。
说明
命令在这一集的文件夹里写一个很小的文件。应用读它,显示 Agent 正在做哪个镜头。120 秒后,这条提示自己消失。找项目和集的方式和 minicut shots 一样,给出镜头文件夹的路径就同时给出了两者。
选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--episode | 集 id | 镜头文件夹所在的集,否则是唯一的一集 | 镜头所在的集 |
--project | id 或文件夹 | 你所在的文件夹 | 项目 |
--json | 开关 | 关 | 打印一个 JSON 对象 |
示例
显示 Agent 正在写 3 号镜头
minicut now 6 c03 --episode ep01输出
命令打印步骤、镜头编号和集,并说明它会显示接下来的 120 秒。加上 --json 时它打印:
{"type": "mh.now", "step": 6, "clip": "c03", "at": "2026-10-29T10:00:00.000Z"}退出码:写好了提示是 0,STEP 或 CLIP 不对是 2,找不到项目或集是 5。
另见
minicut script
在你自己的电脑上,打开某一集的剧本和分镜表编辑器。
Usage
minicut script PROJECT [--episode EPISODE] [--port PORT] [--no-open]替换下面的内容:
PROJECT:项目 id,或者项目文件夹的路径。EPISODE:集的 id,例如ep01。PORT:编辑器页面在你电脑上用的端口号。
说明
编辑器是你浏览器里的一个页面,直接读写这一集自己的文件。它编辑 script.md 和 shots.md,并显示 assets.md 和 prompts.md。每次保存,都会用 minicut check 检查那个文件。什么都不上传,也不同步:这一集文件夹里的文件是唯一的一份。你的 Agent 改了文件,页面会重新读取它。
选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--episode | 集 id | ep01 | 要打开的集 |
--port | 数字 | 一个空闲端口 | 编辑器页面用的端口 |
--no-open | 开关 | 关 | 打印地址,不打开浏览器 |
示例
打开第 1 集的编辑器
minicut script rain-shop --episode ep01输出
命令打印这一集的文件夹、四个文件各自是否已经写好,然后是 URL: 和编辑器的地址。它一直运行,直到你按 Ctrl+C 停止。
文件
ep01/
script.md the episode script
shots.md the shot sheet
assets.md the characters, places and props the shots use
prompts.md the prompt for each shot