ComfyUI Integration
What ComfyUI is, local vs Comfy Cloud, how OA runs and monitors workflows, and how outputs are routed to galleries.
ComfyUI is the AI generation backend that Ordinary Animator uses to produce images and video. You don't need to use ComfyUI directly -- Ordinary Animator submits jobs, monitors progress, and routes results to the right gallery automatically.
Two modes: Local and Comfy Cloud
| Mode | How it works | Requirements |
|---|---|---|
| Local ComfyUI | Runs on your machine at localhost:8188. The browser can't talk to localhost directly, so the Chrome extension proxies requests. |
Local ComfyUI install + Chrome extension installed and active |
| Comfy Cloud | Managed GPU infrastructure. Jobs run in the cloud. No local install needed. | Comfy Cloud subscription + API key configured in Settings |
You enable each mode -- and set the Comfy Cloud API key -- on the ComfyUI Settings page. Each time you run a workflow you can then choose whether that job runs locally or in the cloud -- it may default one way, but you can always override it.
Workflow JSON
Every ComfyUI job is driven by a workflow JSON file. The workflow describes the node graph: which models to load, what prompts to use, which nodes to connect. Workflows always run as they stand -- there is no half-finished workflow waiting to be completed.
Your project keeps its own collection of workflows, and that collection is what your recipes draw on. You fill it by copying workflows in from a library -- the platform catalog, your local ComfyUI, or Comfy Cloud. A workflow may exist in versions tuned for where it runs (one for Comfy Cloud, one for your own machine using a smaller build of a model); Ordinary Animator picks the appropriate one when you run it.
Workflows can expose App Inputs -- named settings that Ordinary Animator fills in when submitting a job (prompts, images, dimensions, and so on). Recipe steps map their configured Step Inputs onto them. App inputs and outputs covers what to expose, what to call it, and which inputs are filled in for you.
Adding your own workflow
You can bring your own ComfyUI workflow -- one you built, or one you found and adapted. Four things decide whether it slots into the rest of the product or sits on its own.
Two of them are about what the workflow declares about itself, and each has its own page:
- OA Workflow Metadata -- the note that gives the workflow its name, says what it produces, and declares the category that decides which menu it joins.
- App inputs and outputs -- which of its settings the platform is allowed to fill in, and what to call each one.
The other two are about the nodes themselves, and are below.
Load media with the standard loader nodes
When a step feeds your workflow an image, a video or an audio clip, Ordinary Animator uploads that file into ComfyUI's own input folder and hands the workflow just the file name. The standard loader nodes -- Load Image, Load Video (Upload), Load Audio -- are built to take exactly that, which is why nearly every workflow in the platform catalog uses them.
The path-style loaders are the trap. Nodes whose name ends in Path (Load Image (Path), Load Video (Path)) expect a full location on disk instead. Given a plain file name they stop with a complaint that it is not a valid path, and the failure looks like a broken file rather than a wrong node. Those nodes are also missing from Comfy Cloud, so a workflow built on one cannot run there at all.
If a workflow you imported fails on its very first node with a path complaint, this is almost always why. Swap the loader for the standard one in ComfyUI, point the App Input at the loader's own file field, and keep the input's name so any recipe already using it stays wired.
Check the nodes exist where you will run it
Comfy Cloud offers a fixed set of nodes. A workflow that uses a custom node pack you installed locally will run on your machine and fail in the cloud -- and the two are not interchangeable just because the workflow is in your project. If a workflow works locally but not in the cloud, an unavailable node is the first thing to suspect. See Cloud vs Local for how to decide where a workflow should run.
The Workflows view tells you what a workflow declares and which of its models your project has turned on, so you can catch most of this before you spend a run on it.
A workflow can also name a model file that neither your machine nor the platform can supply. That is not a broken workflow -- it just means you have to get the file yourself. The Files needed list in the ComfyUI section of Settings shows which file, where it goes, and which ones you already have; see AI Models.
Fill in every node setting
A node with a setting left empty, or set to something that node does not offer, fails the moment the job is submitted -- before anything renders. It is easy to miss, because ComfyUI itself will happily fill in a default when you press Queue in the editor, and the platform does not: it sends exactly what the workflow says.
So before importing a workflow, go through the nodes you added or replaced and make sure every setting has a value, and that any setting with a dropdown is set to one of the entries in that dropdown. A dropdown showing a value in red, or blank, is the usual sign -- it normally means a model file that is no longer where it was when the workflow was made. Fix it in ComfyUI, save, and import the workflow again.
How OA runs and monitors workflows
When a ComfyUI workflow step is run from a recipe, OA injects an OA Workflow Metadata node into the workflow before submission. This node contains YAML metadata that identifies the target media gallery -- which project, episode, scene, shot, character, location, or prop the output belongs to -- along with the output label.
OA then monitors for completion in one of two ways depending on how the workflow was run:
Queued jobs -- the workflow is submitted to the ComfyUI queue (local or cloud). OA watches the queue continuously. When a job completes and its workflow contains an OA Workflow Metadata node, OA parses the YAML, fetches the output files, and saves them to the correct gallery. The generating workflow is stored alongside each file as provenance.
Interactive jobs -- you copy the workflow JSON and paste it into ComfyUI directly, where you can adjust settings before running. OA polls the ComfyUI queue in the background. When it detects a completed job whose workflow contains an OA Workflow Metadata node, it applies the same routing -- the output lands in the right gallery automatically, even though it was run manually.
This automatic routing means outputs always appear in the right place without any manual file management.
Input files
When a recipe step takes an image as input (e.g. a character reference image), OA downloads the file from cloud storage and uploads it to ComfyUI's input directory before submitting the job. This happens automatically.
The ComfyUI Queue page
The ComfyUI Queue page shows all active and recent jobs with their status, workflow name, runtime, and GPU seconds consumed. Click any row for a detail modal.
All file operations use the ComfyUI API and cloud storage -- nothing reads or watches files on your disk.