4 min read

ComfyUI: Node-Based Image and Video AI (GitHub, Scanned)

Node-based image and video generation: every step of the pipeline is a box you can see and rewire.

ComfyUI repository on GitHub

ComfyUI turns a diffusion pipeline into a graph. Loading a checkpoint, encoding the prompt, sampling, upscaling and decoding are separate nodes with wires between them, and a workflow is a JSON file you can save, share and rebuild exactly. It supports Stable Diffusion in all its versions, Flux, and the current crop of video models, and new architectures usually land here within days because the graph makes them easy to add.

That flexibility is why it became the standard for anyone doing serious generative image work, and the reason it has a reputation for being harder to start with than a one-box interface. The Comfy desktop app has closed most of that gap for new users. Underneath, this repository is the Python engine and the web front end, GPL-3.0 licensed and run by Comfy Org, which is now a company but keeps the core open.

  • Repository: github.com/Comfy-Org/ComfyUI
  • Licence: GPL-3.0 (GNU General Public License v3.0)
  • Language: Python. Stars: 133.5K. Forks: 15.8K. Last push: Sep 16, 2026.
  • Scan: clean, read the notes, Sep 15, 2026, commit 7a0b5ee
🔍
Scan: clean, read the notes. The core repository is clean. The note is about the ecosystem: custom nodes are arbitrary third-party Python, and that is where ComfyUI's real security incidents have come from.

Who it is for

Artists and designers who have outgrown a single prompt box, anyone building a repeatable image or video pipeline, and developers who want to embed generation in their own tools through ComfyUI's API.

Getting started

1. The easiest route for new users is the desktop app from comfy.org/download. From source, with a GPU-appropriate PyTorch installed:

git clone https://github.com/Comfy-Org/ComfyUI.git && cd ComfyUI && pip install -r requirements.txt

2. Start the server and open the interface

python main.py

3. Or use the command-line manager, which handles the environment for you

pip install comfy-cli && comfy install

Models are not included. Put checkpoints in models/checkpoints and the interface picks them up; the first workflow the app offers will tell you which file it expects.

Safety scan

We cloned Comfy-Org/ComfyUI at commit 7a0b5ee on Sep 15, 2026 and ran the checks described on the GitHub Tools page: credential patterns, decode-and-execute code, install-time scripts, committed binaries, risky CI workflows, every host the code talks to, known vulnerabilities in pinned dependencies, and project hygiene. A person read every hit. This is what we found.

  • No secrets, no self-decoding code, no committed binaries, no bare-IP URLs.
  • No pattern hits. The one file that looks unusual, comfy_extras/nodes_lotus.py, holds a 33,000-character tensor of prompt embeddings written out as numbers; the scanner skips it as generated data, and reading it confirms that is what it is.
  • requirements.txt pins only five packages exactly; torch and the rest are ranges, so there is almost nothing for OSV to check. What you install depends on the day and on the PyTorch build you choose for your GPU.
  • 28 workflows. Three use pull_request_target: the CLA check, an API-node template check, and a CI run that only starts when a maintainer adds a Run-CI-Test label to the pull request, which is the standard mitigation. Three of eleven third-party actions are pinned to a commit.
  • Security policy, contributing guide and licence present; no Dependabot or CodeQL in the repository.
  • Custom nodes run with ComfyUI's permissions. Install them through the Comfy Registry, and treat an obscure node with few users as unreviewed code, because it is.

What the scanner counted

CheckResult
SecretsNone found.
Suspicious codeNone found.
Install-time codeNone: nothing runs at install beyond the package manager itself.
Committed binariesNone.
CI workflows28 workflows. 3 use pull_request_target, none check out the pull request head. 8 of 11 third-party actions pinned to a tag rather than a commit.
Network hosts40 distinct hosts referenced from source; most often github.com, arxiv.org, kb.stability.ai, docs.comfy.org. No URLs to bare IP addresses.
Known vulnerabilities0 advisories across 5 pinned packages: 0 critical, 0 high, 0 moderate, 0 low. requirements.txt: 5 packages, 0 advisories.
Project hygieneHas security policy, licence file, contributing guide. Missing automated dependency updates, CodeQL.
OpenSSF ScorecardNot scored: the project is not in Scorecard's weekly index.

The raw findings

Every hit the scanner wrote out, with a link to the exact line at the scanned commit. Secrets candidates are redacted.

Workflows worth a look

By the numbers

Stars133.5K
Forks15.8K
Contributors350
Commits5,960
Open issues4,232
Open pull requests646
Releases156
Latest releasev0.36.0
LicenceGPL-3.0
Main languagePython
Project age3 years
Last pushSep 16, 2026
Tracked files1,212
Lines of code606.1K
Checkout size48 MB

Lines by language: Python 312.3K, JSON 283K, YAML 8,972, Markdown 1,566, Shell 104, TOML 76.

Questions

Is ComfyUI free?

Yes. The engine and interface in this repository are GPL-3.0 and free to use, including commercially. Comfy Org also sells cloud hosting and hosts a registry of custom nodes; neither is required to run it locally.

What GPU does ComfyUI need?

An NVIDIA card with 8 GB of memory covers Stable Diffusion XL and Flux at reduced precision; 12 to 24 GB makes video models practical. It also runs on AMD through ROCm, on Apple Silicon through Metal, and on a CPU, slowly. Memory is what matters more than compute.

Are ComfyUI custom nodes safe?

Custom nodes are third-party Python that runs with the same permissions as ComfyUI, and there have been malicious ones. This scan covers only the core repository. Install nodes through the Comfy Registry, which scans submissions, prefer ones with many users and recent updates, and read the code of anything obscure before you add it.


This post is part of GitHub Tools, where every repository is cloned and scanned before it is written up. The scan is a snapshot of one commit on one day; the repository has moved on since, so check it before you install.