使用画布面板
建一个画布面板,添加节点并连线,检查它,再做出节点所描述的内容。
画布面板就是一个文件,里面有用连线连起来的节点。一个节点里放着图片、视频、配音、备注或上传的文件。一条连线把一个节点的结果送进下一个节点。你的 Agent 用 minicut board 命令编辑这个文件,MiniCut 应用里打开的 画布 标签页会自己重新绘制。
开始之前,先登录并建一个项目,见快速开始。这里的每条命令都要求这台电脑已经登录。在项目文件夹里运行命令,这里是 ~/.minicut/projects/rain-shop。
建画布面板
- 为第 1 集建一个画布面板:
minicut board new --project rain-shop --episode ep01 --title "Opening"Board: ~/.minicut/projects/rain-shop/episodes/ep01/canvas/opening.board.json文件名由标题生成。不加 --project 和 --episode 时,画布面板在你的 MiniCut 主文件夹里有自己的文件夹。
添加并设置节点
- 为每个要做东西的节点找一个模型。
minicut models --kind image和minicut models --kind video会列出它们。系统不会替你选模型,要问那个人想用哪一个。 - 为一个角色添加图片节点。节点 id 是
KIND:ID,所以这个节点是character:lin。
minicut board add episodes/ep01/canvas/opening.board.json --kind character --id lin --label Lin --prompt "Lin Xia, shop owner, front view, plain background" --model IMAGE_MODELBoard add: ok, rev 2, box character:lin.- 为一个镜头添加视频节点:
minicut board add episodes/ep01/canvas/opening.board.json --kind video --id s01 --label "Shot 1" --prompt "She walks into the rain." --model VIDEO_MODEL- 以秒为单位设置镜头的长度:
minicut board set episodes/ep01/canvas/opening.board.json --box video:s01 --seconds 5Board set: ok, rev 4.节点的类型有 character、location、prop、voice、note、upload、group、text、image、video、audio、editor、director、model3d 和 script。会做出东西的类型是 image、character、location、prop、video、audio 和 voice。note 或 text 节点里放的是文字。
给节点连线
- 把角色送进镜头:
minicut board connect episodes/ep01/canvas/opening.board.json --from character:lin --to video:s01Board connect: ok, rev 5.- 如果这条连线不允许,命令以退出码 1 结束并说明原因。例如
a video box cannot feed a character box (video:s01 -> character:lin)。 - 可选:想去掉一条连线,用同样的选项运行
minicut board disconnect。
检查画布面板
- 检查画布面板有没有问题:
minicut board check episodes/ep01/canvas/opening.board.jsonBoard ok: 2 boxes, 1 wires.check 会找出 id 重复的节点、连到不存在节点的连线、不允许的连线,以及在画布面板文件夹之外的上传文件。
每个问题它打印一行,以退出码 1 结束。
做出节点
这一步会用掉积分。它先显示要做什么,花之前先问你。
- 请求做出角色节点:
minicut board run episodes/ep01/canvas/opening.board.json --box character:lin- 命令什么都不会发出。它以退出码 3 结束,打印它要做什么,以及那个人说好之后要运行的那一行。把它给那个人看。
- 说好之后,运行它打印的那一行。在后面加
--wait SECONDS来等待并保存结果。 - 如果你没有等,之后运行
minicut jobs。它会把每个做好的结果存到它的节点上。 - 用同样的方式运行视频节点。接进来的输入还没做出来的节点要等。
--box会拒绝它,并说出要先做哪个节点。--all会做出每个空的或失败的节点,把要等的留到下一次运行。
被拒绝的节点会把原因留在画布面板上,其他节点照样进行。如果画布面板在说好之后又改了,命令需要重新说好。
修改画布面板
| 命令 | 作用 |
|---|---|
minicut board move FILE --box BOX --x N --y N | 移动一个节点 |
minicut board set FILE --box BOX [--label L] [--prompt P] [--text T] [--model M] [--seconds N] | 修改一个节点 |
minicut board view FILE --view VIEW | 设置画布面板怎么排布。VIEW 是 workflow 或 storyboard |
minicut board retype FILE --box BOX --kind KIND | 告诉图片节点它是什么。KIND 是 character、location 或 prop |
minicut board delete FILE --box BOX | 移除一个节点和它的连线 |
每次编辑都会打印 Board COMMAND: ok, rev N.,并把画布面板的修订号加 1。选项在生成里。
检查是否成功
minicut board check 打印 Board ok。你做出的每个节点状态都是 done,并且在画布面板文件里有一个 artifactUrl。
某一步失败时
| 信息 | 怎么做 |
|---|---|
no box video:nope on the board | 检查节点 id。它是 KIND:ID |
no box kind "nope". Kinds: ... | 用信息里列出的类型之一 |
a video box cannot feed a character box (...) | 把连线反过来接,或者在它们中间加一个节点 |
box character:lin has no modelId. Ask the user which model to use; ... | 用 minicut board set FILE --box BOX --model MODEL 设一个模型 |
not a board file: FILE. A board is <name>.board.json. | 给出 .board.json 文件的路径 |
no board at FILE | 检查路径 |
box video:s01 needs the output of character:lin first: ... | 先做出那个节点,运行 minicut jobs,再运行这个节点 |