Docs / Guides

Use a canvas board

Make a canvas board, add and wire its boxes, check it, and make what the boxes describe.

A canvas board is one file of boxes joined by wires. A box holds a picture, a video, a voice, a note or an uploaded file. A wire feeds one box's result into the next. Your agent edits the file with minicut board commands, and the open 画布 tab in the MiniCut app redraws by itself.

Before you start, sign in and make a project. See Quickstart. Every command here needs a signed-in computer. Run them in the project folder, ~/.minicut/projects/rain-shop here.

Make the board

  1. Make a board for episode 1:
Terminal
minicut board new --project rain-shop --episode ep01 --title "Opening"
Output
Board: ~/.minicut/projects/rain-shop/episodes/ep01/canvas/opening.board.json

The file name comes from the title. Without --project and --episode, the board gets its own folder in your MiniCut home folder.

Add and set the boxes

  1. Find a model for each box that makes something. minicut models --kind image and minicut models --kind video list them. No model is chosen for you. Ask the person which one to use.
  2. Add a picture box for a character. A box id is KIND:ID, so this one is character:lin.
Terminal
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_MODEL
Output
Board add: ok, rev 2, box character:lin.
  1. Add a video box for a shot:
Terminal
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
  1. Set the length of the shot in seconds:
Terminal
minicut board set episodes/ep01/canvas/opening.board.json --box video:s01 --seconds 5
Output
Board set: ok, rev 4.

The box kinds are character, location, prop, voice, note, upload, group, text, image, video, audio, editor, director, model3d and script. The kinds that make something are image, character, location, prop, video, audio and voice. A note or text box holds words.

Wire the boxes

  1. Feed the character into the shot:
Terminal
minicut board connect episodes/ep01/canvas/opening.board.json --from character:lin --to video:s01
Output
Board connect: ok, rev 5.
  1. If a wire is not allowed, the command exits with code 1 and says why. For example, a video box cannot feed a character box (video:s01 -> character:lin).
  2. Optional: to remove a wire, run minicut board disconnect with the same flags.

Check the board

  1. Check the board for problems:
Terminal
minicut board check episodes/ep01/canvas/opening.board.json
Output
Board ok: 2 boxes, 1 wires.

check finds boxes with the same id, wires to missing boxes, wires that are not allowed, and upload files outside the board folder.

It prints one line for each problem and exits with code 1.

Make the boxes

This step uses credits. It shows what it will do and asks before it spends.

  1. Ask to make the character box:
Terminal
minicut board run episodes/ep01/canvas/opening.board.json --box character:lin
  1. The command sends nothing. It exits with code 3 and prints what it will do and the exact line to run after the person says yes. Show it to the person.
  2. After the yes, run the line it printed. Add --wait SECONDS to it to wait and save the result.
  3. If you did not wait, run minicut jobs later. It saves each finished result onto its box.
  4. Run the video box the same way. A box whose wired input is not made yet waits. --box refuses it and names the box to make first. --all makes every box that is empty or failed and leaves the waiting ones for the next run.

A box that is refused keeps its reason on the board, and the other boxes still go. If the board changes after the yes, the command needs a new yes.

Change the board

CommandWhat it does
minicut board move FILE --box BOX --x N --y NMoves a box
minicut board set FILE --box BOX [--label L] [--prompt P] [--text T] [--model M] [--seconds N]Changes a box
minicut board view FILE --view VIEWSets how the board is laid out. VIEW is workflow or storyboard
minicut board retype FILE --box BOX --kind KINDTells a picture box what it is. KIND is character, location or prop
minicut board delete FILE --box BOXRemoves a box and its wires

Every edit prints Board COMMAND: ok, rev N. and raises the board's revision by 1. The flags are on Generate.

Check it worked

minicut board check prints Board ok. Each box you made has the state done and an artifactUrl in the board file.

If a step fails

MessageWhat to do
no box video:nope on the boardCheck the box id. It is KIND:ID
no box kind "nope". Kinds: ...Use a kind from the list in the message
a video box cannot feed a character box (...)Wire the boxes the other way, or add a box between them
box character:lin has no modelId. Ask the user which model to use; ...Set a model with minicut board set FILE --box BOX --model MODEL
not a board file: FILE. A board is <name>.board.json.Give the path of the .board.json file
no board at FILECheck the path
box video:s01 needs the output of character:lin first: ...Make that box, run minicut jobs, then run this one

Next