Skip to content

What is FlixML

FlixML is a media generation workbench. It runs image and video generation through ComfyUI workflows, trains character LoRAs, and exposes everything through a clean REST API with a React UI for browsing, organizing, and queuing work.

Jobs are tracked from queue to completion, routed across GPU providers, and organized into projects, scenes, and shots with persistent characters.

  • API-first — generate images and video, manage projects, and train LoRAs through a REST API. AI agents call the same endpoints humans do.
  • Studio UI — browse generations, organize projects into scenes and shots, manage characters, and queue jobs without touching code.
  • Self-hosted. Your hardware, your models, your data. No cloud dependency, no rate limits, nothing leaving your machine.
  • Agent-native. The whole product is a REST API. Point an agent at it and it can generate, organize, and render autonomously.
  • ComfyUI under the hood. Bring any workflow. FlixML fills in variables at request time and routes the job to the right GPU.
  • Open source. AGPL-3.0 licensed. Audit it, fork it, extend it. Run a modified copy as a service and you publish your changes under the same terms.

Pick a workflow by ID, send a prompt and a few parameters, and FlixML queues the job on the right GPU.

Organize work like a film:

  • Project — a film, campaign, or collection
  • Scene — a sequence within the project
  • Shot — a single image or video clip with version history

Generate inside the structure, or generate standalone.

FlixML is built on ComfyUI workflows. Add a workflow JSON file, reference it by ID when generating, and FlixML fills in variables at request time. Built-ins are included.

Any GPU that runs ComfyUI — local nodes, remote servers, or serverless. The API stays the same; the GPU location is just configuration.

Register persistent characters with LoRA associations, trigger words, and reference images. Reference them by name in any generation and FlixML resolves the LoRA that character has for that workflow and injects its trigger word with it.

Ready to run it? Head to Getting Started.