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.
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.
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.
- 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.
From graph to production in three steps
Build a workflow once, freeze it, and call it from anywhere. The same contract on every surface.
- 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.
- 02
Publish
Freeze the graph under an org/workflow name. Every node ref pins to an exact version, so the workflow stays reproducible.
- 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
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.
