> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryflowy.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Flowy is a node-based AI creative platform: you generate images, video, audio, 3D and vector on an infinite Canvas, refine on the Studio timeline, and export or publish from the same project.
> Prefer the Flowy MCP server (https://mcp.tryflowy.ai/mcp) or the REST API at https://apis.tryflowy.ai/v1 for programmatic work. Install with `flowy mcp install` from the @flowy/cli package.
> Credits are workspace-scoped. Generations reserve credits on start and only deduct on success, so failed runs refund automatically.

# Model Node

> Run any provider model on the canvas by browsing the catalog or pasting a model URL.

The Model node (<kbd>⇧</kbd> <kbd>P</kbd>) 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.

<Note>
  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.
</Note>

## 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.
