Guides

How to run a ComfyUI workflow from Civitai

A workflow file is only the graph. To run it you also need the same custom nodes, the same model files in the right folders and compatible versions. This is the order we check them in.

Updated October 19, 2026 · 10 min read

You found a workflow on Civitai or OpenArt, dragged it into ComfyUI, and half the graph turned red. Or it loaded and then stopped at the first loader with “Value not in list”. Both are normal: a ComfyUI workflow file is only the graph, meaning nodes, links and settings. The custom nodes, model files and versions the author used are not inside it, and each of them has to match on your machine.

Below is the checklist we use when a client sends us a workflow from Civitai, OpenArt or GitHub, in the order we go through it.

Where the workflow lives: JSON, image or zip

Downloaded workflows come in three shapes:

  • A .json file. The standard save format with the full graph and its layout. Drag it onto the canvas or use File → Open.
  • A zip archive. Civitai lists workflows as a separate resource type, usually downloaded as an archive with one or more .json files inside, sometimes with notes or sample images.
  • An image or video with the graph embedded. ComfyUI’s built-in save nodes write the workflow into the file’s metadata: PNG text chunks, animated WebP, MP4 and WebM. Drop the file onto the canvas and ComfyUI rebuilds the graph from it.

Two catches. First, re-encoding strips metadata: saving in an editor, compressing in a messenger, converting on upload. If ComfyUI loads your dropped image as a plain image, the graph is gone; ask the author for the .json or the original file.

Second, there are two JSON formats. The UI format is what you open and edit. The API format (File → Export Workflow (API)) keys nodes by numeric ID and drops positions, colors and groups, since it is meant for scripts. It still loads in the UI without layout, so take the UI version when both are offered.

Before installing anything, read the author’s description: good authors list the models, LoRA versions and node packs they used, sometimes even the ComfyUI version.

Missing custom nodes: ComfyUI-Manager and its limits

Red nodes and a “the following node types were not found” message mean ComfyUI does not know those node classes. There are two cases:

  • A core node is missing. The workflow was built on a newer ComfyUI than yours. Update ComfyUI itself.
  • A custom node is missing. The workflow uses a third-party node pack you have not installed.

ComfyUI-Manager handles the second case. It now ships inside ComfyUI core: the desktop app has it enabled, while portable and manual installs need its requirements and the --enable-manager launch flag. In the legacy Manager interface the button is Install Missing Custom Nodes. In the new interface, opening a workflow with missing nodes shows a prompt with Install All and Open Manager, and the node list has a filter for missing nodes.

After installing, restart the ComfyUI server. Refreshing the browser tab does not load new Python code.

Manager does not solve everything:

  • It only resolves packs it knows about. If a node stays unresolved, search its class name on GitHub.
  • Two packs can register nodes with the same name. You need the one the author actually used.
  • A pack can be installed and still fail to load. In the startup log, (IMPORT FAILED) next to the pack’s folder means its Python import crashed, and the traceback above explains why.

Versions, Python dependencies and pinned commits

Each custom node pack brings its own requirements.txt, and pip installs it into the same Python environment as ComfyUI. One pack can upgrade or downgrade a library that other packs rely on: numpy, transformers and opencv are frequent offenders. Packs with compiled code also need builds that match your PyTorch and CUDA versions.

The other trap is time. The workflow was saved against the pack version the author had that week; today’s version may rename an input or add a widget. Widget values are stored by position, so one new widget can push values into the wrong fields. The graph opens, but validation fails or the output quietly changes.

That is why we pin versions. For a pack installed from git:

cd ComfyUI/custom_nodes
git clone https://github.com/<author>/<repo>.git
cd <repo>
git checkout <commit>              # the commit the workflow was built with
pip install -r requirements.txt    # in ComfyUI’s Python environment

If you work through Manager, press Save snapshot before experimenting (Update All saves one automatically). Restore brings that state back on the next ComfyUI start; for packs not installed through git, restore is incomplete.

Also remember that a custom node is ordinary Python code running with ComfyUI’s permissions. In 2024 the ComfyUI_LLMVISION pack was caught pulling in malicious dependencies that stole browser passwords. Install packs from repositories you can inspect.

Missing models: which folder, which file, which version

A loader node stores a file name, usually without a link or a hash. ComfyUI looks for that name in the folder for the model type:

Folder in ComfyUI/models/What goes thereTypical loader node
checkpointsFull checkpoints: model, text encoder and VAE in one fileLoad Checkpoint
diffusion_models (older name unet)The diffusion model alone, e.g. Flux or WAN weightsLoad Diffusion Model
text_encoders (older name clip)Text encoders: CLIP, T5 and similarLoad CLIP, Load CLIP (Dual)
vaeVAELoad VAE
lorasLoRALoad LoRA
controlnetControlNet models and T2I adaptersLoad ControlNet Model
clip_visionImage encodersLoad CLIP Vision
upscale_modelsESRGAN-style upscalersLoad Upscale Model
embeddingsTextual inversion embeddingsReferenced in the prompt

Custom loader nodes sometimes read their own folders; the pack’s README says which. If your models are stored elsewhere, extra_model_paths.yaml maps extra directories. After adding files, press r in the UI to refresh the lists, or restart ComfyUI.

Finding the exact file

The file name in the node is your main lead, and names are not unique. The same model often exists in several versions and precisions (fp16, fp8, pruned) with near-identical names. Our routine:

  1. Start from the author’s description and the list of resources on the workflow page.
  2. On the model page, pick the exact version. On Civitai, the selected version’s ID appears in the page URL (?modelVersionId=).
  3. Compare hashes. Civitai and Hugging Face both show a file’s SHA256; check your copy locally (sha256sum model.safetensors on Linux).
  4. Have a file and no idea what it is? Civitai can look it up: https://civitai.com/api/v1/model-versions/by-hash/<sha256> returns the model and version, if Civitai hosts it.

Watch the subfolder. If the author kept a model in models/loras/flux/, the node stores flux/name.safetensors, and the same file at the root of loras will not match. Workflows saved on Windows store such paths with a backslash. Reselecting the file in the node’s dropdown fixes both.

Check the base model as well. A LoRA trained for one base model will not work properly on another; ComfyUI prints lora key not loaded lines in the log when the keys do not match. And prefer .safetensors: the older .ckpt and .pt formats use Python pickle, which can execute code when the file is loaded.

Gated models: Civitai API keys and Hugging Face tokens

Downloading in a browser is easy. Downloading straight to the GPU server where ComfyUI runs needs tokens.

Civitai. Many files download anonymously, but some require a logged-in user. For scripts, create an API key in your Civitai account settings and send it in the Authorization: Bearer header. The ?token= URL parameter also works, but Civitai’s docs discourage it because the key ends up in logs.

curl -L -H "Authorization: Bearer $CIVITAI_TOKEN" \
  -o ComfyUI/models/loras/<file>.safetensors \
  "https://civitai.com/api/download/models/<versionId>"

Hugging Face. Gated repositories such as FLUX.1 [dev] ask you to accept the author’s conditions on the model page while logged in. Access is granted automatically or after the author’s review, and the author can revoke it. Then download with a user access token from your Hugging Face settings, via hf auth login on the machine or the same Bearer header:

curl -L -H "Authorization: Bearer $HF_TOKEN" \
  -o ComfyUI/models/diffusion_models/<file>.safetensors \
  "https://huggingface.co/<org>/<repo>/resolve/main/<file>"

Keep tokens out of workflow files, shared notebooks and screenshots. If a Civitai page will not open for you, check whether the author also published the model on Hugging Face. Some do; confirm it is the same file by its SHA256.

Workflow not loading or failing: common errors

Most failures come down to a handful of messages. Read the ComfyUI console as well as the browser popup: the console has the full traceback.

MessageUsual causeWhat to do
Red nodes, “the following node types were not found”Pack not installed, or server not restartedInstall the pack, restart the server
(IMPORT FAILED) in the startup logPack dependencies failed to install or conflictRead the traceback, fix the library version, pin the pack
“Prompt outputs failed validation”, “Value not in list”Model file missing, renamed or in another subfolderPut the file in the right folder, refresh, reselect it in the node
“Required input is missing”An input is not connected, often after a pack update added oneConnect it, or pin the pack version the author used
Could not detect model typeWrong loader (a diffusion-only file in Load Checkpoint) or a broken downloadUse the right loader, check the hash
mat1 and mat2 shapes cannot be multipliedUsually a text encoder, VAE or CLIP Vision that does not match the modelUse the exact files from the author’s list
lora key not loaded in the logLoRA made for a different base modelGet the LoRA version for your base model
Out of memory: “you ran out of memory on your GPU”Resolution, batch size, frame count or precision too heavy for your VRAMLower them; try fp8 or GGUF builds (GGUF needs its own loader pack), VAE Decode (Tiled), or a bigger GPU
A recent workflow opens brokenOld ComfyUI or frontend (subgraphs need frontend 1.24.3+)Update ComfyUI

Can you use the result commercially?

Getting a workflow to run and being allowed to sell its output are separate questions. The workflow, the checkpoint and each LoRA can carry their own license, and some forbid commercial use. Details are in a separate guide: can you use Civitai models commercially.

How we run client workflows

Clients send a Civitai, OpenArt or GitHub link or their own .json, plus the task, the inputs and the volume. The team then does everything above by hand:

  • reads the graph and lists every node and model it needs; unknown nodes and models without a version are checked manually before anything runs;
  • installs custom nodes from git at pinned commits, so the setup does not drift mid-order;
  • takes models from Hugging Face, Civitai or a direct link you provide;
  • tells you before the start if a model is paid, closed or licensed for non-commercial use only;
  • makes a trial batch for your approval, then runs the volume on our own or rented GPUs, reviews the output manually and removes defects;
  • delivers a ZIP archive or a link to a folder.

Scaling a working workflow to thousands of runs is a separate topic: how to scale a ComfyUI workflow.

When it’s easier to hand it to us

For a handful of images, the checklist above is enough. If you need hundreds or thousands of images or videos from one template, your GPU lacks the VRAM, or you would rather not spend days on dependencies, send us the workflow. Setup and the trial batch are part of the order. Images start from $0.10 each, videos from $1.50 each, and the minimum order is $50. Details are on the ComfyUI workflow service page, or send a request with a link to your workflow.

 FAQ

Questions

Q01 Should I press Update All before loading an old workflow?

Not blindly. Update All moves every installed pack to its latest version, which may not be the version the workflow was built with, and it can break workflows that already run. Save a snapshot first and update only what the workflow actually needs.

Q02 Can ComfyUI download the missing models by itself?

Partly. ComfyUI-Manager has a model installer for models in its own list, and official ComfyUI templates keep model links inside the nodes. A workflow that stores only file names gives ComfyUI nothing to download from, so you find and fetch those files yourself.

Q03 Can I swap the checkpoint in a downloaded workflow?

Within the same base model family, usually yes: pick another file in the loader. LoRAs, text encoders and sampler settings are tied to the base model, so moving from, say, SDXL to Flux means a different graph, not a different file.

Q04 Can you run a workflow I found on Civitai for my project?

Yes, as long as the licenses allow your use. Send the link, the task and the volume through the form. Setup and a trial batch are part of the order, and you approve the trial before the full run.

 Contact

Discuss a project

Tell us about the template and the volume. We will get back to you via the contact you leave.

By sending the request you agree to the privacy policy.