flowGen runs connected nodes in dependency order: each node waits for the outputs it consumes, so a frame → image → video chain produces upstream results before the downstream node fires.
Where: canvas → a wired chain of nodes — Run an upstream node, then run its consumer once it finishes
Key ideas
- Dependency order: Running a node pulls its inputs back through the edges that feed it; data propagation mirrors each upstream result (image/video/text/HTML/design-system) onto the consuming node's input fields before it generates.
- Wait-for-output: A consumer should only run after its sources finish. The AI assistant orchestrator enforces this automatically by polling each node's isProcessing flag and only starting the next wave once dependencies are done.
- Topological waves: When several nodes are run together (e.g. inside a batch), they are Kahn-topo-sorted over the interior edges and executed in dependency waves; a detected cycle falls back to original order rather than stalling.
Steps
- Wire your chain, e.g. a Text/Reference source → a Generate Image node → a Generate Video node.
- Run the most upstream node first (Play on its card) and wait for its result to appear.
- Run the next node — data propagation has already mirrored the upstream result onto its input handle, so it generates against the finished output.
- For a hands-off run, use the AI chat assistant or a Batch frame, which run the chain in dependency order for you instead of you triggering each node manually.
FAQ
Does running a node automatically run everything downstream?
Running a single node from its card generates only that node; its result then propagates onto downstream input handles. To run a whole chain in order automatically, use the AI chat assistant (which orders runs by their connect dependencies) or wrap the chain in a Batch frame (which topo-sorts and runs the interior).
How does a downstream node get the upstream result without a delay?
Two ways: data propagation mirrors a finished output onto the consumer's input fields, and inside a batch run the just-produced output is threaded directly into the next node's override so it doesn't have to wait on a React state tick.