Why We Built FlixML: Agent-Driven ComfyUI
Updated

ComfyUI is the most capable open-source generation engine there is. It’s also a wall of nodes. Every new model — a video sampler, a lip-sync pipeline, a multi-angle trick — arrives as a graph you have to wire by hand, node by node, before you can render a single frame. That’s fine when you’re one person tinkering. It falls apart the moment you want a repeatable pipeline that a machine can drive.
FlixML is the layer that fixes that. It’s not a ComfyUI clone and it’s not a tutorial hub — ComfyUI stays under the hood. What we add on top is the piece that’s missing: an agent-native API. You (or your AI agent) make one HTTP call with a prompt and a character, and FlixML builds the ComfyUI graph, routes it to a GPU node that can run it, queues the job, and hands back a job ID.
The core idea: describe, don’t wire
The unit of work in FlixML is a request, not a graph:
POST /api/image/generate{ "character": "mycharacter", "prompt": "walking through a rainy street at night"}→ prompt_id: a3f9c1d2Behind that call, FlixML selects the workflow, injects your character’s LoRA and trigger word, picks the right node, and submits. The graph still exists — you just never had to touch it. That’s the whole bet: the workflow is our problem, the intent is yours.
Why “agent-native” is the point
A REST API isn’t novel. What matters is that the entire surface is shaped for something non-human to drive it end to end:
- One skill file, no SDK. An agent reads a single
SKILL.mdto learn how the API works, then discovers the rest live —GET /api/workflowsfor what this install can run,GET /api/workflows/{id}for one workflow’s params in full. No client library to version, no bindings to generate. - Stable job semantics. Every generation returns a
prompt_idyou poll. An agent can fire a batch, walk away, and reconcile results later — the same way it would treat any other async job. - Composable steps. Train a character, generate an image, animate it, assemble a scene — each is its own endpoint. An agent chains them without a human in the loop.
The difference in practice: a person clicking through a node editor produces one result and a lot of tacit knowledge that dies with the session. An agent calling an API produces a result and a repeatable recipe. Repeatable beats lucky.
Self-hosted, open source, no cloud middleman
FlixML runs on your hardware against your own ComfyUI nodes. Your models, your data, nothing leaving the machine, no rate limits. It’s AGPL-3.0 licensed — audit it, fork it, extend it; run a modified copy as a service and your changes go back to everyone. When a stranger clones it and points it at their own GPU, the same API works; nothing hard-codes our setup.
That’s the shape of the whole project: take the open generation stack, wrap it so a machine can drive it reliably, and publish it so anyone can run it. The engine was always ComfyUI. The missing piece was making it scriptable by an agent — and that’s FlixML.