Guide · Free Canvas
Free Canvas: Video Generation & Reference Video
Start from a new Free Canvas and build a minimal working video chain on a blank node graph: text-to-video, image-to-video, and wiring a local reference video into the model. Ideal for your first video run on canvas, without shots or the episode pipeline.
1. Preparation
- Models: Settings → Models → add and enable a provider (Volcengine Ark, Kling, MiniMax, OpenRouter, …) → tick the models you want on the Video tab and set the default video model.
- Object storage (required for reference video): Settings → Object Storage → add and enable one of Volcengine TOS / Alibaba Cloud OSS / Tencent Cloud COS. A local reference video is first uploaded to a publicly reachable URL (a signed URL for private buckets) so the model can fetch it.
-
Make sure the provider account has credit — submission fails immediately when the balance is low
(e.g. MiniMax
1008).
2. Create a free canvas
- With the project open, create a new Free Canvas from the workbench toolbar or the asset library.
- If a “Free Canvas” already exists, new ones are named “Free Canvas 2”, “Free Canvas 3”… The name only distinguishes them in the asset library; you can rename the asset there.
- Double-click the Free Canvas asset to enter the blank node graph (host inner graph).
3. Build a minimal video chain
Right-click on empty space in the Free Canvas graph (or press Space for the menu) and add / connect nodes in this order:
- Add a Video Generation node. Pick the video model on the node or in the Inspector, then write the generation prompt.
- (Optional) Add a Text / Note node, or an upstream Prompt Optimizer, and connect its text output to the Video Generation Text input.
- (Optional) Add Select Video, or drag a video asset from the asset library as a host / reference node, and connect its video output to the Video Generation Video input (reference video).
- (Optional) Connect an image node or asset to the Image / First frame / Last frame port (depends on the model and frame mode — see the next section).
- Add a Video Output node and wire the generation output into it for preview and export.
Sketch (text-to-video + reference video):
[Text / Prompt] ─────► [Video Generation] ─────► [Video Output]
▲
[Select Video / Video Asset] ──────────┘ (Video port = reference video)
4. How to connect a reference video
The Video Generation node's Video input is for a reference video: the model can borrow motion, camera work, character actions or scene pacing (actual capability varies by provider and model).
- Source: videos imported into the asset library, a Select Video node, upstream generated videos, or another host's video output.
- Upload: at run time, if the reference is still a local path / data URL, the app uploads it through the currently enabled object storage and passes the URL to the model API.
- Cleanup: temporary uploaded references are usually deleted once the task finishes, so test files don't pile up in the bucket.
- Multiple references: where the Video port accepts several links, you can attach multiple reference clips (subject to actual model support).
https:// prefix is
fine). The app handles the protocol correctly; if you ever hit an
ENOTFOUND …https error, upgrade to a build containing the TOS presign fix and retry.
5. First/last frames and prompts
-
Pick the frame mode in the Video Generation node params:
- None: no forced first/last frame (pure text-to-video, or reference video / image only).
- First frame: exposes a first-frame image port — good for image-to-video and frozen openings.
- First + last frame: constrains both the opening and closing shot (requires model support, e.g. some Hailuo / Kling capabilities).
-
Use
@in the prompt to reference connected upstream media (same as image generation) and describe motion, camera and pacing. - Duration, resolution and audio options depend on the current model capability catalog; unsupported options are ignored or disabled.
- Frame Pulling: connect an upstream video to the Frame Pulling node and double-click to open the pull station — browse frame by frame on the filmstrip, grab key frames and annotate them; the grabbed frames can be wired into downstream generation nodes as references.
-
Segment Reshoot: connect the source video to the Segment Reshoot node and
double-click to open the reshoot station — mark the start / end time to change and describe the
change (e.g. “make the umbrella transparent”); running it reshoots only that range (Seedance 2.5
timestamp-level editing) and leaves the rest untouched. The prompt box supports
@references to port media, and you can pick the video model on the right.
6. Run and inspect results
- Select the Video Generation or Video Output node → click Execute in the toolbar, or hold C to open the execution ring.
- You can also Add to Tasks on the output node and watch background progress in the task list; upstream nodes shared by several chains are cooked only once.
- On success, play it back in the node preview area: Back to start on the left, the progress bar in the middle, and Play / Pause on the right.
- To assemble a final cut, wire the result into the script asset's Final Timeline, or export the media file.
7. FAQ
| Symptom | Fix |
|---|---|
| Object storage not configured | Enable one of TOS / OSS / COS under Settings → Object Storage and fill in the keys and bucket. |
insufficient balance (1008) |
The provider account is out of credit — top it up in the matching console (not an API Key mistake). |
ENOTFOUND …https |
Usually a malformed TOS presigned hostname; retry on a newer client build. |
| Renaming a node also renamed the asset | Newer builds no longer rename the asset — update the client. Use the asset browser to rename library entries. |
| Reference video has no effect | Confirm it's connected to the Video port, that the model supports video reference, and check the upload summary in the run log. |
For the full interface reference see the Manual; model and object storage details are in chapter 4 of the manual.