Why it’s different
Every other generation node (Image, Video, Audio, 3D, Flam) is curated: its inputs, outputs, and controls are hand-built into Flowy ahead of time. The Model node is spec-driven instead: its entire input/output surface and its control panel are derived at runtime from the chosen model’s own schema (a “SpecBundle,” resolved via genstudio-svc’s model catalog). Pick a model, and the node’s fields, media inputs, and generation options are built to match that model specifically, not a generic template. That means when a new model becomes available, you can run it from the canvas without waiting for a dedicated node type to ship.Pick a model
Two ways to configure a Model node:- Browse the catalog: search the list of available provider models and select one.
- Paste a model URL: drop in a link from a supported provider (fal or Replicate) and Flowy resolves it to the right model automatically.
Cost preview
As you fill in the model’s inputs, the node shows a live credit-cost estimate near Generate. This is a preview only. The authoritative charge happens server-side when you run the generation, so an unavailable preview never lets a run slip through uncharged.Because the Model node’s surface comes entirely from the resolved model spec, its accepted connections and outputs vary by model: the canvas validates connections against the live spec rather than a fixed list.
Implementation
The spec-driven system lives underlib/canvas/spec/ in the app: model catalog search, URL resolution, the SpecBundle type system, and the form renderer that turns a bundle into the node’s actual controls.