The workflow layer for production AI media.

Compose typed AI pipelines in a visual editor or spin them up from an agent, then call them from your app through the API, MCP, or CLI. Reproducible every run.

Visual node editor

Wire typed nodes into a graph. Models, operators, inputs, and outputs snap together with ports that only connect when the types line up.

input
prompt
flux-schnell
model
output
image

Run from anywhere

Trigger the same workflow through the REST API, the TypeScript SDK, the MCP server, or the CLI. One graph, every surface, identical results.

CLIMCPAPI
POST /v1/runs
{ "node": "acme/generate-image" }
200 OKimage.png · 1.2s

Reproducible by default

Every node is an immutable version. Published workflows pin the exact versions they ran against, so a run today matches a run last quarter.

Pinned versionslocked
  • flux-schnellv2.1.0
  • recraft-v3v1.0.0
  • constv1.2.0

Publish & reuse

Freeze a workflow under an org/workflow name and drop it into other graphs as a single node. Share pipelines like packages.

acme/hero-image
Published workflow
v1.3.0
Drop into any graph

From graph to production in three steps

Build a workflow once, freeze it, and call it from anywhere. The same contract on every surface.

  1. 01

    Design

    Compose typed nodes into a graph in the visual editor, or generate one from an agent. Ports connect only when the types line up.

  2. 02

    Publish

    Freeze the graph under an org/workflow name. Every node ref pins to an exact version, so the workflow stays reproducible.

  3. 03

    Run

    Call it from the API, SDK, MCP, or CLI. One contract, identical inputs and outputs on every surface.

A library of typed nodes

Image and language models, media utilities, and operators, each hand-curated into a node with typed ports, defaults, and a pinned version.

Image models

  • flux-schnell
  • flux-dev
  • nano-banana-2
  • ideogram-v3-turbo
  • recraft-v3
  • gpt-image-2

Language models

  • claude-sonnet-4-6
  • gpt-5-4
  • gemini-3-flash

Media utilities

  • extract-frame
  • image-resize
  • video-to-gif
  • background-remover
  • whisper

Operators & I/O

  • input
  • const
  • output
Browse the full node library →

Build one pipeline. Ship it everywhere.

Build it in the studio or from an agent, publish under a name your team can reuse, and call it from your app, your agents, or your terminal.