Recipes & the Cookbook
How recipes guide users through proven ComfyUI and built-in operation sequences, and how the Cookbook stores and shares them.
A recipe is a guide — an ordered sequence of steps that has proven useful for achieving a goal, such as generating a character reference sheet or compositing a shot background. Recipes capture what works so you can repeat and refine it.
A recipe is not an automated pipeline. The user performs each step, inspects the output, and decides when to proceed. AI generation steps may need several runs before the result is satisfying — a recipe makes that iteration structured rather than freeform.
What a recipe contains
- A name — what this recipe achieves (e.g. "Character reference sheet")
- One or more steps — each step is either a ComfyUI App workflow or a built-in operation
Steps
A recipe step is one unit of work. Steps are performed in order, but the user controls the pace — each step can be run as many times as needed before moving on.
A step can be:
- A ComfyUI App workflow — a workflow JSON from your project library or the platform library.
- A built-in operation — a platform-provided tool such as image crop, resize, or audio merge that doesn't require ComfyUI.
Two levels of inputs
There are two distinct levels of inputs in OA, and understanding the difference matters.
Operation Inputs is the general term for what a step exposes. The specific vocabulary depends on the step type:
- For ComfyUI workflow steps, the underlying inputs are called App Inputs — named parameters declared using the ComfyUI App builder. Names like "Input Image 1", "Positive Prompt", "Output Width" are App Input names.
- For built-in operation steps, the inputs are the operation's own structured fields.
At the recipe level, both are referred to uniformly as Operation Inputs. Operation Input names are always Title Case.
Step Inputs are the recipe-level abstraction over Operation Inputs. They exist so that recipes can:
- Give inputs friendlier display names (e.g. "Character" instead of "Input Image 1")
- Group related Operation Inputs into one user-facing slot (a single "Prompt" step input covers the two App Inputs "Positive Prompt" and "Negative Prompt")
- Hide system-managed inputs that users should never touch (e.g. "Filename Prefix")
- Link an input to the output of a previous step
One Step Input maps to one or two Operation Inputs. This mapping is called the binding.
Binding types
| Binding | Operation Inputs covered | When to use |
|---|---|---|
| Direct | One Operation Input (image, audio, video, text, or number) | Most inputs — a 1:1 connection |
| Size | "Something Width" + "Something Height" | Paired dimension App Inputs; the step shows a single "Output Size" control |
| Prompt | "Positive Prompt" + optional "Negative Prompt" | ComfyUI text generation — one field split by === into the two App Inputs |
The split marker for prompts is a line containing only ===. Text above is the positive prompt; text below is the negative. If the workflow has no negative prompt App Input, the negative text is discarded.
What is hidden at the recipe level
Some Operation Inputs exist in the underlying workflow or operation but are never exposed as Step Inputs:
- Filename Prefix — system-managed; filled automatically from your project context. Users never set it directly.
Step input display names
Each Step Input has a display name — the label shown to the user. This is purely cosmetic: nothing in the system searches, links, or matches by display name. It can be set to something more descriptive than the underlying Operation Input name (e.g. "Character" instead of "Input Image 1").
Linking step inputs to previous step outputs
Each step input can be linked to the output of a previous step. Click on an input's name to open the settings dialog and choose which step output to link to.
The dialog only shows previous steps whose output type is compatible with the input being configured. A Prompt input shows only steps that produce text outputs; an image input shows only steps that produce image outputs. Steps whose output type is unknown are always shown.
When an input is linked and you select an output thumbnail for the earlier step, the value is automatically populated:
- Media inputs (images, audio, video): the linked output file is used as the input file directly.
- Text inputs (including Prompt bindings): the linked output file's text content is read and used as the input value. For
.prompt.jsonfiles produced by the built-in prompt generator, the positive and negative prompt strings are extracted and placed into the appropriate fields automatically.
For a Prompt binding linked to a .prompt.json file, the positive prompt text is placed above the === separator and the negative prompt below it, matching the format described in the Prompt binding section above.
Because linking operates at the step input level (not the workflow parameter level), a single linked text file can populate both the positive and negative prompt fields in the underlying workflow.
Linking is a convenience, not a constraint. You can still override the value manually before running the step.
Step outputs and output labels
When a ComfyUI step completes, output files are automatically routed to the correct media gallery. Each output node in the workflow has an output label — by default oa. A workflow can have multiple named outputs by declaring multiple Filename Prefix Operation Inputs with labels (e.g. "Filename Prefix #img1", "Filename Prefix #mask"), which produces distinctly-labelled outputs that subsequent steps can target independently.
See ComfyUI Integration for how output routing works.
Finding operations
When you add a step by clicking +, the operation picker shows all available workflows and built-in operations grouped by category (Image to Video, Text to Image, Audio, etc.). A recently used row at the top surfaces the operations you reach for most often.
My Models
My Models is a per-project filter that keeps the operation picker focused on what you can actually run.
Open it from the Actions tab menu (three-dot button in the header). You will see every generation model in the platform, all checked by default. Uncheck a model to mark it as unavailable on your machine.
Any workflow whose models are all unchecked is hidden from the picker. Operations that do not depend on a specific model — image crop, resize, audio merge, and similar built-in tools — always appear regardless of your selection. Leave all models checked to show every workflow.
This setting is per-project and has no effect on workflow execution — it only controls what is offered in the picker.
Running a recipe
Steps in a recipe can be expanded and collapsed individually. Expanding a step shows its inputs, controls, and — after running — its outputs at the bottom.
Built-in operations (crop, resize, audio merge, etc.) present their controls inline. The user performs the operation and saves the result. Built-in operations are deterministic, so a single run is usually sufficient.
ComfyUI workflow steps give the user two choices before running:
Where to run:
- Local ComfyUI — runs on your machine via the Chrome extension
- Comfy Cloud — runs on managed GPU infrastructure
How to run:
- Queue — submitted asynchronously; OA watches and saves results automatically
- Copy workflow — copy to clipboard to paste into ComfyUI directly for interactive use
The Cookbook
The Cookbook is a library of saved recipes available for reuse. Each time a recipe is used, it receives an implicit upvote, which helps the AI recommend recipes in future.
Load as Recipe on any gallery item reconstructs a recipe from that item's ancestry — the workflow steps and input configuration that produced it. You can save this to the Cookbook or upvote an existing matching recipe.
See Cookbook for the page reference.