Skip to main content
The Model node ( P) connects a specific provider model to your canvas, not just the curated model each fundamental node type ships with, but effectively any model the underlying providers expose.

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.
Either path resolves to the same SpecBundle, so a model you found by browsing and one you pasted by URL configure identically.

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 under lib/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.
Last modified on August 29, 2026