ComfyUI
The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.
Nodes (848)
Assemble a scene without flattening it
Add noise to a latent by hand — the manual version of what samplers do silently
A deprecated node you can safely skip
The deprecated mirror of Add Text Prefix
One multiply, and the clamp that eats your highlights
The one-knob contrast slider hiding inside ComfyUI's training pipeline
NVIDIA's 10-step presets, still quietly useful
The closest thing Anima has to a ControlNet
Adaptive Projected Guidance, the guidance hack from the audio world
Seed an autoregressive video model with a start frame
The difference between 'mixed' and 'buried'
Splicing audio the way you already splice images
The generic bridge between audio and its latent form
How ComfyUI hears your video's soundtrack
A real EQ in your graph, marked experimental for good reason
The mixer that treats audio like a canvas
No negative, no CFG, no drama
The noise schedule, as a SIGMAS object
The node that replaced the deprecated one
Gather many latents into one stack
Stack a pile of masks into one tensor and get a free batch
Change the scene, keep the subject's pixels
Swap the world around a subject, keep the subject's pixels
Bernini's whole bag of tricks in one node
The gentle schedule that flow-matching models actually like
Remove anything under a mask and let the cloud fill the hole — Bria Eraser
Add objects to a masked region with a prompt — Bria GenFill, the 'generate, don't erase' sibling of Eraser
The masked-edit node that hands you back its own prompt
Background removal as a paid API call — is that ever worth it?
The hosted cutter for moving subjects
Cut a subject out of video and keep the alpha — Bria transparent background
Bake in a real chroma-key background, so the keying happens later
Swap a video's background for an image or another video (Bria)
Layout control for the text-in-image king
Pin the beginning and end, let Seedance 2.0 fill in the middle
The multi-input reference node that finally makes 'that same person' work across shots
Seedance 2.0 text to video, with dialogue steering and a Fast/Mini cost ladder
Register your face so Seedance can reuse it — the asset node
Register a personal Seedance video asset (once) so every future gen matches
ByteDance's first-to-last-frame video
ByteDance's Seedream 3.0 in ComfyUI — the retired version
Seedance 1.0, up to four images, and one naming trap
Animate your first frame with Seedance 1.x, then hold the camera still if you like
Voice, music, SFX, and dialogue
A multimodal LLM that will happily watch your video clips
One image in, a PSD-style layer stack out
The closed flagship image API, now one node away
Seedream up to 4K — ByteDance's API-only flagship, wired into your graph
Prompt, resolution, duration — done
The edge map that started ControlNet
Four ways to yell or whisper at your prompt
The boring, reliable way to square up a batch
Your prompt, turned into guidance, as an object
Keep high CFG from deep-frying your colors
Different CFG for different parts of the run
Crank CFG hard without the burn
The old checkpoint loader that needed a config file — and why it died
The beginner's one-stop shop that modern workflows outgrew
The node that turns your merge into a file (and hides it from you)
The advanced-options node you'll only touch for one thing
Reasoning budgets and a hard 20-image cap
Scaling CLIP attention before it reads your prompt
The dropdown that decides whether your prompt is even readable
Adding text encoders together, the bluntest of the CLIP merges
Blending text encoders, and the encoder-swap trick people actually use
The text-encoder difference node for de-training a bad CLIP
The node that saves a text encoder (and splits it into pieces on the way)
The CLIP-skip dial, and the three models where it actually changes anything
The node your whole workflow starts at
Give your ControlNet its own separate prompt
Two prompt boxes for two encoders, and the guidance dial everyone fights over
HiDream-I1's text path
Prompt Hunyuan Image in English or Chinese
Kandinsky 5's CLIP + Qwen prompt node
The LLM-style prompt box with a system-prompt dropdown
PixArt Alpha's text encoder with a resolution hidden inside
Prompting SD3 and SD3.5
The two-prompt encoder SDXL actually wants
The aesthetic-score prompt box for the model everyone decided to skip
The node that lets your image talk
The encoder that lets a model see your image
Pick a color, get a number — for the nodes that want RGB as an int
Borrow any photo's look with one wire
The two-input switchboard for your hook groups
A four-way merge for real multi-region workflows
The biggest switchboard in the hook family
One gate for every condition you're testing
A calculator that lives inside your graph — type the formula, get three outputs
Flip any value into its opposite
One node to cast anything to a number — int, float, string, bool
True if anything in the pile is true
The conditional node ComfyUI finally shipped
Blend two prompts into one conditioning
Run two prompts at once, and stack your regional and ControlNet branches
How to bolt a second prompt onto the end of the first
A volume knob for your prompt
Regional prompting for two characters that keep bleeding into each other
Regional prompts that survive a resolution change
Regional prompting that also reaches across time
Change the gain, not the box
Give the empty space in your regional image a prompt
Make one prompt own one part of the frame
The gateway node that actually hands your hooks to the sampler
Apply a hook, mask, and timestep window — then merge, in one node
Make a prompt only steer part of the denoise
Telling a music model when in the song you are
The when dial for hook-based conditioning
The explicit empty prompt
Sample long video without your VRAM collapsing
The old ControlNet node — use ControlNetApplyAdvanced instead
The node that pins structure to your image, and the start/end dials that make it behave
The deprecated SD3 applier you'll still find in old workflows
The inpainting ControlNet that hides a mask in a channel
Where structure enters your generation
Serialize a list into JSON text
Turn a JSON object back into text
Start frame, end frame, and the NVIDIA world-model video it belongs to
Cosmos-Predict2 image-to-video latent prep
Draw boxes on a canvas, get Ideogram-style prompt elements out
The turntable camera that makes splats spin
Place one strength stop on your hook's timeline
Your exact strength curve, fed as raw numbers
The one node for smooth strength ramps on your LoRA
The node that turns a LoRA file into a schedulable, maskable patch
The LoRA hook without the CLIP half
Run a whole checkpoint as a maskable, schedulable weight patch
The whole-model patch with the text encoder left out
Gather many things into one list — the iterator's supply line
Pack your frames (and audio) back into a video, no extension pack needed
Crop everything a detector found, all at once
Cut a region out of a mask, the honest way
Draw a ramp, not a number — the curve node that comes with a histogram view
A dropdown you write yourself — and an index for your switches
From Depth Anything 3 depth to a textured mesh in one node
The node that does depth, multi-view consistency, and camera poses
Depth, confidence, and sky maps from Depth Anything 3, in colors you can read
The variant that wants your base model too
The fix for two-tone seams in masked inpainting
The loader for Hugging Face's diffusers format — deprecated, but not useless
A noise source that adds nothing
The one node that shows you what your detector actually found
Two prompts, two CFG dials, one pass
The two-encoder loader behind SDXL and Flux
One model for the prompt, another for the blank
EasyCache — ComfyUI's built-in step-skipper that can nearly halve sampling time
The voice-isolation node
Clone a voice from a few samples — your voice, their GPU
Take any voice, speak it with any other voice
Transcribe audio, speakers and sound effects included
Write a script, cast voices, get a finished conversation
Type 'creaky door' and get a creaky door
ElevenLabs-grade voices, wired straight into your graph
Pick a voice from a dropdown — and it's actually free
Ace Step 1.5's audio canvas — wider channels, faster clock
The Ace Step 1.0 music canvas — a latent shaped like a song
Frames one at a time
The silence node that's more useful than it sounds
The pixel-space Chroma blank
The blank reel for NVIDIA's Cosmos world models
The blank canvas for every FLUX.2 workflow
The pixel-space blank that isn't a VAE thing
The blank for Tencent's 80B image MoE
The starting line for Tencent's video model
HunyuanVideo 1.5's canvas — 32 channels at 16x downscale
A solid-color canvas in pixel space
The generic audio canvas for video models that make sound
A flat box holding a volume
The blank canvas every txt2img graph starts with
The fast-canvas node that starts every LTX clip
The blank canvas MiniMax H3 fills with picture and sound at once
The latent whose length math is a trap
The blank canvas for Qwen's RGBA layers
The right blank canvas for SD3 and Flux-family models
A one-percent nudge that fixes exposure bias
The old SD workhorse that flow-matching models will punish you for
The node that outsmarted Ideogram's safety filter
The soft edge that keeps inpaints from looking glued on
Turn a .ply or .spz file on disk into a splat you can actually use
Run a noise schedule backwards, because sometimes the answer is reverse
Flux.2 [pro] and [max], one node, no local GPU
Flux.2 [max], the premium API tier with explicit control
Flux 2 without the 24GB — the hosted [pro] model, deprecated but working
The resolution-aware schedule that Flux 2 expects you to use
Turn up to ten images into one FLUX 3 clip
Text to video with sound, minus the GPU
FLUX 3 Video Continuation
Turn off Flux's guidance embed entirely
Flux Erase
One slider that changes how Flux obeys you
Resize your Kontext reference images to a size the model likes
Flux.1 Kontext [max]
The obscure switch that fixes broken multi-reference edits
The API tier of the model that made instruction-editing normal
Stop re-encoding your reference image every step
Flux.1 Expand
Flux.1 Fill via API
The API's premium tier, minus the prompt fuss
Virtual try-on with two image inputs and zero VRAM
Use RIFE (or FILM) to smooth out that choppy AI video
The slow-motion and frame-doubling engine
The 2023 sharpening trick that most modern models don't want anymore
The SDXL-friendly second version that fixed FreeU's halo problem
Tune your guidance in frequency space (and stop oversaturating)
Google's 4K image model, minus the ImageFX tab
The cheap Gemini image node that made a banana famous
Feeding Gemini your documents — and why its token meter is worth watching
Nano Banana 2 via ComfyUI — the original node (now deprecated)
Nano Banana 2, the V2 that finally got a good interface
Still works, but it's the deprecated one now
Thinking levels and a real token budget
Video plus audio, written like a shopping list
Draw a motion path and get Wan-Move tracks
The metadata reader that stops your LTXV guides from misaligning
Get Image Size
A tiny utility that tells you how many gaussians you're dealing with
The demux that turns a video file into frames, audio, and the numbers you need
The 2024 hype scheduler that mostly faded — and what it's still for
The forgotten way to put things exactly where you said
The original 'put this prompt in a box' node, still in core
A mini Shadertoy living inside your ComfyUI graph
Grok's image editor in ComfyUI — the original, and it's retired
Grok Image Edit, the version you should actually be using
XAI's generator, called straight from your ComfyUI graph
Tell Grok to change your video, with a sentence instead of a timeline
Extend a video with Grok Video Extend
Grok video from a prompt or an image, without leaving ComfyUI
Grok video steered by reference images and preset voices
The padding your inpaints never knew they needed
Animate a first frame with HappyHorse, and let the image set the aspect ratio
Keep a character consistent with HappyHorse reference-to-video
HappyHorse text to video — Wan in the cloud, English or Chinese prompts
An Alibaba edit model that no one can download
A talking presenter from an avatar, no camera needed
Make your own HeyGen avatar (and keep the ID)
Make any portrait talk
A narrator's worth of voices without leaving ComfyUI
Dubbed video that keeps the speaker's voice
The fix for grid lines on a 2048px pixel-space render
Attach 1 to 10 reference images to HiDream-O1
A generative upscaler that lives in the cloud
HitPaw Video Enhance — upscale a clip without renting a GPU
Turn a CLIP vision pass into Hunyuan3D-2 conditioning
Sell the 3D model four angles so it doesn't invent the back
The I2V setup node for the model the community left behind
Bridge Hunyuan Video's base pass to its refiner
Hunyuan Video 1.5's image-to-video setup node
1.5's built-in super-resolution pass
Hunyuan Video 1.5's hidden upscale stage, demystified
The tech LoRA killed, still in your node list
Sample big SDXL latents without OOMing your card
The resolution-aware schedule Ideogram shipped with
The fast Ideogram that's actually good at text
Text-to-image, mask editing, and character reference in one cloud node
The current Ideogram node, and why text-in-image still matters
Film grain as a single node
The two-image glue you'll stop using
The fade knob for two generations
The smoothing node your workflow is quietly missing
Chroma key without the greenscreen
The slider that settles every A/B test
Paste one image onto another, mask and all — ComfyUI's compositing workhorse
The closest ComfyUI gets to a drag-and-drop Photoshop canvas
Crop Image (ImageCrop) — the deprecated Essentials node that moved into core
Crop by a bounding box instead of four numbers
A handy filter with a very blunt knife
Mirror an image horizontally or vertically
Get Image from Batch
Your contact sheet, built in
See an image's tonality as data — 256 bins of light, per channel and overall
A one-line color flip, plus the alpha gotcha nobody mentions
Stitch tiles back without the seams
The img2vid loader that skips the text encoder
Saving the img2vid checkpoints that condition on images, not text
ImagePadForOutpaint pads the canvas and hands you the mask
Posterize anything into a retro palette
Split luminance from color — grayscale, color grading, and the swap trick
The 90-degree node with no surprises
The exact-size resize that's still here for a reason
The 'just make it bigger' node
The fit-in-a-box resize
The resize node hiding in every SeedVR2 recipe
The final-touch node that can't create detail
Put two images side by side, spacer bar optional
Pull one channel out of an image and call it a mask
Run an ESRGAN upscaler on your image
The other half of ComfyUI's luminance-and-color trick
The node that makes inpainting respect the mask — and unlocks it on modern edit models
Edit an image with a sentence
One node that flips which half of the image you're fixing
The other half of the stereo round-trip
Turn a mask into a PNG's alpha channel in one node
Pull one value out of a pile of braces
Kandinsky 5's image-to-video node, and the one output everyone misses
The schedule that ruled SD for years — and why your new model might hate it
A broadcast-ready talking avatar from one photo and an audio file
The bookend node on the newest model
The classic I2V node, now on turbo
The video lab's image node, with reference-image control that's actually useful
Kling 2.6 first-frame to video that ships with sound baked in
Make a video say what your audio says — Kling lip sync from audio
Make a video say words it never said, no audio file required
Drive a character's movement from a reference video while keeping the look from a still
One prompt, keep the sound, swap the world
The flexible one that does bookends and multi-reference in a single node
The all-in-one Kling node that also edits, and can run a series
Seven reference images, storyboards, and audio in one node
Storyboards, audio, and a 15-second budget
Restyle footage and keep the sound
The A-to-B transition node that solves the 'how does it get there' problem
Still the one to learn first
Describe a scene, get sound with it
Your clip is 5 seconds; this makes it longer
The one node that does text, image, storyboards, and audio
Krea 2 in one node — no 15GB download, and the style-chaining the open release kept
The chain-node that makes Krea 2 copy a look
The one node that's in every workflow you've ever downloaded
The same sampler with the training wheels off
Just the sampler dropdown, as an object
The sigma curve from a Laplace distribution
Add two latents, get a blend
Run a latent filter once, before sampling
Inject a latent filter into every sampling step
Batch Latents — the deprecated node you should stop wiring in
Decide whether every item in a batch shares its noise
Mixing latents the boring, useful way
Paste one latent onto another before the sampler
Paste one latent onto another, before sampling
Stitch two latents together — the mechanism behind Kontext-style editing
Reframe the canvas before the sampler spends a pass
Slice a latent like a video clip — frames, strips, and crops
Slice one latent into a stack of chunks
Mirror the latent before the model ever sees it
Reach into a stack and pull one out
Morph between two images, cleanly
The blunt knob for latent brightness
Build the sharpen filter, not the sharpened image
Reinhard tonemapping, latent-style
Spin your image before it's even an image
Difference arithmetic on images that aren't images yet
The cheap resize that powers hi-res fix
Upscaling the latent before you resample
Hunyuan Video's in-latent resolution trick
When your layers arrive as a batch
LazyCache — EasyCache's dumber, more compatible sibling
The node that put a 3D viewport inside ComfyUI
The mesh loader that doesn't render anything
The front door to every audio workflow in ComfyUI
Background removal is now a core node — and it's BiRefNet
Depth Anything 3 is really a 3D reconstruction model — this is its loader
The node almost every workflow starts with
A whole folder, loaded at once
Import a mask without the picture
Pick up where your last run left off
Your caption-paired dataset, back as lists
Pick up exactly where you left off, in compressed form
MediaPipe face detection is now a core node — no face-swap pack required
MoGe gives you the whole geometry, not just a depth map
Skip the re-encode and get straight back to training
Also a core ComfyUI node now — here's how to tell them apart
Every clip in a folder, in one list
Videos and their captions, loaded as a pair
The classic loader for SD/SDXL-era LoRAs
The LoRA loader you'll almost never need
The debugging loader that never touches your weights
The model-only LoRA loader, and the one most workflows actually use
The training-pipeline LoRA loader with a bypass mode
Turn a model difference into a LoRA without training
The boring node that tells you if training actually worked
The node with no inputs that isn't broken
Let the audio track drive the video
Start frame to video on LTX 2.5, cloud-style
LTX 2.5 text to video, without the VRAM dance
The 12B Gemma that makes LTX-2 understand you
The hidden keyframe node that gives LTX first-frame, last-frame, and mid-video control
LTXV image-to-video, the fast draft model — as a hosted API
Decent, but it's the deprecated one now
The moment your audio becomes hearable
Turn a voice or song into conditioning
The decoder half of LTX-2's talking videos
Stitch the audio stream onto your video latent
The frame rate stamp that keeps LTXV clips honest
The fast model gets long clips, still without the VRAM bill
The cleanup node that keeps your keyframes out of the final video
One CFG for the picture, one for the soundtrack — LTXV's split-personality guider
Stop guessing frame counts — let the model time your shot
The blank tape for LTX-2's sound
The fastest image-to-video starter in the open-weights world
LTXVImgToVideoInplace
The 2x latent upscale that makes LTX-2 quality sane
The dial that makes LTX mouths actually match the words
Feed LTX a Worse Image on Purpose (Yes, Really)
Clone a voice into your LTX video with LTX Reference Audio (ID-LoRA)
The LTX-specific sigmas the official workflows use
Your LTX-2 latent is secretly two latents — split them before you decode
The detail dial that keeps LTX video from going soft
Camera direction as dropdowns instead of prompt gambling
Prompt-edit a photo with Luma's flagship model
Luma img2img with a single dial that decides how much the photo changes
The older Luma node that introduced Comfy to Photon
Luma's current text-to-image, stripped to what matters
First frame, last frame, or both — you choose
Keep a clip going forward, or prepend a lead-in
5 seconds, anchored at both ends
Pin guide images to moments on your timeline
The closest thing to an animatic in a prompt
The 10-second take Luma won't give its image node
Re-render your footage, keep the motion
Change the aspect ratio, let AI fill the gaps
The boring node that makes Luma's image nodes smart
The dependable prompt-to-clip node
Reshoot the lighting without reshooting
Add skin texture back in one call
Paint your photo in someone else's look
The prompt-driven upscaler that invents detail
High-fidelity upscaling with sharpness you actually control
The positive-biased guidance node nobody can explain
The node that turns images and captions into something trainable
Type your noise schedule by hand — total control, zero guardrails
Your mask-building workbench, with an offset
Preview Mask
The bridge for nodes that refuse to talk to masks
Commercially-clean face detection and 478-point meshes in core
Face, lips, or eye masks from landmarks — the detail pass starts here
The face-mesh wireframe overlay, now in core
The concat node with a retirement plan
The densify trick that makes sparse splats mesh properly
Deprecated, and probably not what you think it is
Animate Model — one integer to make your rigged character walk
Image to Model — one image in, textured GLB and FBX out, credits on the bill
Multi-Image to Model — 2 to 4 shots, a cloud mesh, and a texture phase you can skip
Refine Draft Model — the do-over pass that rescues a lumpy first draft
Rig Model — the bridge between a generated character and something that can walk
Text to Model — words in, mesh out, and the few prompts that actually work
Texture Model — re-skinning an existing mesh with text or a reference image
Prompt in, video-plus-audio latent out
Point MiniMax H3 at a face, a clip, and a voice — then talk about them by tag
MiniMax H3's Two Shift Dials — Video and Audio, Tuned Together
H3 first-last-frame
H3 with reference images, video and audio
Text to video, up to 2K
The text-to-video node with a deceptively long input list
The first-frame node that's more flexible than the flat price suggests
The plainest API node in the whole category, and why that's a feature
ModelAttentionBackend — Pick an Attention Engine Per Model, No Restart
ModelComputeDtype — the precision override for when a model comes out wrong
The pure-addition merge for stacking models (and why you usually shouldn't)
The node for the 6.8B Apache-2.0 flow model Pony V7 quietly stood on
The input/middle/out merge that makes your first checkpoint
The 36-block sibling in NVIDIA's world-model merge family
Block-merging NVIDIA's world model, for people who actually run Cosmos
NVIDIA's robotics world model, merged for nobody
Merge the robotics backbone that accidentally powers Anima
Merging Flux checkpoints, block by block
Block-merge the hottest base of 2026, and maybe fix its refusals
Technically yes, practically eh
Block-merging Genmo's 48-block video DiT, preview edition
Block-merging Qwen-Image's 60-block MMDiT, for the Apache-2.0 faithful
The 30-slider workhorse that merging was built on
Same node as SD1, because SD2 has the same skeleton
Block-merge control for the SD3 MMDiT, for the few who still merge it
Merging an 8B MMDiT that almost nobody actually merges
The block-merge node that made the SDXL merge era
The two-checkpoint blend that starts every merge habit
The difference merge that removes styles and extracts LoRAs
The Wan 2.1 merge node, block-count warning included
The tiny patch that tells pixel-space models how noisy they were trained
The experimental front door to the newest control tech
The one knob your Z-Image workflow is probably missing
Swap the whole noise model to EDM, v-pred, or flow
The v-prediction knob you'll only touch when a workflow tells you to
Force any checkpoint to speak a different noise language
The node that keeps Flux working when you leave 1024×1024
LTX Video's sampling autopilot — wire in your latent and the shift takes care of itself
Retune the schedule when your SD3.5 image looks off
A shift knob for a model most people have already buried
Export that merged model to a file (LoRAs baked in for free)
The point map node that turns one photo into actual 3D geometry
MoGe Panorama Inference stitches depth so you don't have to
Turning MoGe geometry into a textured GLB
Depth and normal previews, with the DirectX/OpenGL trap explained
The erode-and-dilate toolbox that fixes your masks
The built-in way to make a second GPU earn its keep
Bring negative prompts back on Turbo, Schnell, and every CFG-1 model
A training-tool that reads like a photo filter — don't be fooled
Fix that flash at the start of your videos with NormalizeVideoLatentStart
Truncation, token budget, and instructions
A real LLM node that reads images and files
The museum piece that still takes a picture
The classic OpenAI generator, still in the graph
The current image model behind an oddly-named node
OpenAI's current generator, with editing built into the same node
Turning your docs and PDFs into LLM context
The node that exists on a deadline
OpenRouter turns ComfyUI into a model router
RAFT optical flow for VOID
Pre-tuned 'optimal' schedules for Flux, Wan, and Chroma — no thinking required
Paint your inpainting mask right in the graph
The boring but necessary glue for dual-prompt pipelines
The node that fixes the 'stitched together' look
Stamp hooks, masks, and timing onto both your conds at once
Two LoRAs in one image, each locked to its own side
The SDXL composition trick that survived
The deprecated perp-neg node, and why you should use the Guider instead
Let your negative prompt stop fighting your positive one
The CFG-style guidance that works when you have no negative prompt
Put a real face into SD1.5/SDXL prompts without training a LoRA
Identity from a few reference photos, before InstantID made it cool
Attach the latent so the pixel decoder knows what it's decoding
Animate a still on a hosted tier
Preset styles you bolt onto the video nodes
Prompt-only clips with a motion-mode switch
Morph between two images in one shot
Karras's flexible cousin
The compositing math node you'll use once a year — and then be glad it exists
The zero-effort way to actually see your model
The preview that passes the mesh through
The print() statement ComfyUI never had — preview anything as text
Hear your track before you commit to a file
Gaussian splats finally have a first-class viewer
The save node that deliberately doesn't save
The node for raw dots, when you need raw dots
The Boolean node is a checkbox. That's more useful than it sounds.
Drag a crop region instead of typing four numbers
The Float node isn't a number box — it's how you stop retyping cfg and denoise
The node that turned the XYZ plot into a batch queue
The deprecated prompt box, and the better node to grab instead
The node beginners assume is a text encoder (it isn't)
Four text encoders in one CLIP output — the HiDream I1 special
Turn a raster image into real vector art
Type a prompt, get editable vector graphics
Structure control for Qwen-Image's editing power
Edit up to three images with a sentence
Qwen-Image 3.0 without the 20B model on your disk
Same shape, different middle, every run
The seed, as an object you can hand to a sampler
How to process 100 frames without nuking your VRAM
Rebatch latents when the batch size stops fitting your plan
A microphone, built into the graph
The local helper node that builds a color for Recraft
The free local node that wires palettes into Recraft generation
Turn a few reference images into a style you can reuse
Creative upscale, with a comma. This one invents detail
The one-input upscaler that makes things bigger without making things weird
The mask still wins when the rest of the image has to stay put
Image to image with a strength dial you'll actually feel
Cut out the background, get the mask for free
Swap the backdrop with a sentence, keep the subject
Forty illustration substyles, one little node
The niche node for brand consistency
The logo style node that refuses to say 'none'
The style node you didn't know was already defaulting
The 'red panda' model, now a node
Real SVG
Recraft's current flagship, and the negative prompt is a lie
The node that outputs actual vector files
Raster in, editable SVG out, zero tracing pain
The tiny node that feeds edit models their target
Reference audio for music generation
The regex scraper that turns one string into another
A regex test that gives you a clean boolean
When plain find-and-replace isn't enough
Cut any subject out in one step — and it ships with ComfyUI
The node that turns an invisible cloud of gaussians into an image
The fix for Lumina 2's bloated, oversaturated high-CFG output
The copy node that's easy to misread
When you need N copies of the same latent
The old dataset-node version of find-and-replace
Splice new frames into a video latent like a timeline edit
The antidote to oversaturated high-CFG renders
Shove any image into a box without wrecking its shape
The one resize node to rule them all (and keep mask and image in sync)
Resize Images by Longer Edge — still in your workflow, but it's been replaced
Resize Images by Shorter Edge — the deprecated floor-setter
Train on mixed image sizes instead of one rigid resolution
Stop doing Empty Latent math by hand — let it work the megapixels for you
Reve, the mystery leaderboard model, as a node
Tell it what to change, in plain English
Mash up to six reference images into something new
Rodin Detail Generate — the older, pricier-feeling sibling that's really just a tier name
Rodin Gen-2 is the image-to-3D workhorse — but it runs on their server, not yours
Rodin Gen-2.5 — the image-to-3D node with a quality dial you can actually afford to read
Rodin Gen-2.5 Text to 3D — words into a 2M-face model, if your prompt is worth it
Rodin Regular Generate — the no-surprises image-to-3D node, before you graduate to Gen-2
Rodin Sketch Generate — the one with just one input, for wireframe-style drafts
Rodin Smooth Generate — for when you want a clean, organic surface, not a voxel statue
Find people, cars and teddy bears in a frame — 80 COCO classes, no text needed
Steer your edit at exact moments of the footage
Pin a reference frame anywhere in Runway's edited video
Edit footage by describing it, and keep the original motion
Runway's first-last-frame trick
Image-to-video, the simple way
Turn one frame into a clip, fast
Runway's Gen 4 image model, minus the studio app
Text-prompt segmentation and detection in a single core node
Watch what SAM3 actually tracked before you trust it
Pull real masks out of a SAM3 video track
Follow one object through every frame of a video
The sampler that un-spools video one block at a time
The sampler that sits between 'just click it' and 'build it from parts'
The assembly point of the sampler graph
The sampler that decides its own step count — and rarely gets used
The SDE-flavored version of the sampler that ruled SD
The fast, never-settling sampler that dominated the SD 1.5 era
The higher-order SDE that squeezes more out of each step
The plain SDE — where DPM++ meets full stochastic sampling
The high-order solver that quietly became a default
The sampler that never settles down — and that's the point
The CFG++ sampler for the sub-1 crowd
The Euler sampler built for the CFG-1 era
LCM's custom sampler, now also a per-step noise dial
Upscale while you sample, not after
The old default that lost its crown — and why
The few-step solver ComfyUI now ships with (and the name clash that came along)
One solver, three samplers in a trench coat
What sigma is 70% of the way through sampling, anyway?
The node that finally turns your mesh into a real file
Lossless animation, at a price
The animation format that actually ships
Works fine, but it's wearing a DEPRECATED tag for a reason
The one save node you'll actually keep in your graph
Lossy, tiny, and replaced by one node
The best codec nobody picks, now folded into SaveAudioAdvanced
How to get your gaussian splat out of ComfyUI and into a viewer
The export node whose name is a lie (and that's good)
The node at the end of every workflow
The format control the plain node never had
Deprecated before you found it
The node that captions your dataset for you
Save your work mid-pipeline so you never re-run the slow part
ComfyUI's native 'export my trained LoRA' node, still wearing its experimental badge
Writing N×7 clouds to disk as .ply or .npy, depending on who's reading
Vector output for a raster world
Write any string to disk from the graph
Encode once, then train a dozen times without re-encoding
The plain name now points to ComfyUI's own node, not N-Nodes'
The built-in node that writes an actual .webm — alpha channel included
The color-by-numbers step behind SCAIL-2 character animation
The fix for pushing a video model past its native resolution
The 2023 4x upscaler that's still the cleanest generative upsample
Turn pose data into the stick figure ControlNet actually wants
Face crops from pose data, ready to feed back into the extractor
Whole-body pose from an SD checkpoint, no external preprocessor
The scheduler that hard-codes Turbo's training ladder
Give your seed a home — one visible value that feeds every sampler
The glue that lets Comfy's own sampler drive the best upscaler around
The node that stops SeedVR2 upscales from going orange
The unglamorous node that makes SeedVR2 work
How to make SeedVR2 video upscaling actually fit in VRAM
Stitch the SeedVR2 chunks back into one video latent
Park that huge text encoder on your idle second GPU
The power node of the multigpu family — and the easiest to misuse
The quietest member of the multigpu family, and that's fine
Detail without the CFG burn
Apply your LoRA's text-encoder patch to the encoder itself
One number at the top of your noise schedule — and why it controls so much
Make your LoRA fade in, peak, and fall off mid-generation
The node that actually makes ComfyUI inpaint
The dropdown that tells one ControlNet file which of eight modes to run
Make training-style randomness reproducible
Randomize without breaking the pairing
The boring node your video training pipeline quietly needs
Shuffle Your Video-Text Training Pairs Without Fumbling the Captions
Sharper detail without raising CFG
The same detail trick at half the price
The original SLG, now a compatibility shim
A blank canvas of white (or black, or anything in between)
Prompt to a full track in under a minute, billed by the second
Feed it a video, get back a soundtrack that actually matches
Get your splat off the graph and into a real .ply, .ksplat, or .spz
The node that makes your gaussian splat usable outside ComfyUI
Stereo into two mono tracks
The tiling half of the upscale story
Pull the alpha out of an RGBA image before the graph flattens it to death
The splice point for every two-pass workflow
Split your denoise budget in two and give each half its own sampler
The two empty latents Stable Cascade needs before you can sample
The bridge between Stable Cascade's two sampling stages
Feed a real image into Stable Cascade's tiny latent space
The Stable Cascade super-res node that upsizes nothing (and nobody uses)
The grandfather of image-to-3D nodes, still holding up
Stable Zero123 with batching
Equal, startswith, endswith as a clean boolean
The tiny node that glues your whole workflow together
One clean boolean for 'is this phrase in there?'
Format Text
Count the characters and actually use the number
Literal find-and-replace, no regex involved
Carve a slice out of any string
Kill the invisible characters before they wreck your prompt
The deprecated twin you should quietly retire
Steal the look without touching the prompt
SDXL's reference-style button, quietly still alive
Restoration-grade upscaling without a single extension pack
Turn one photo into an orbiting video with SV3D
The old Stable Video Diffusion front door, still in core
Re-time a face to new audio
A still portrait that starts talking
The quiet tuning knob for T5-encoded models
A zero-knob CFG quality patch you can forget you installed
One knob for diversity, one for when it kicks in
3D Part — hand Tencent an FBX and get back a model with labeled, separable parts
3D Texture Edit — repaint a model by describing the new look
Image(s) to Model — the node that hands you GLB, OBJ, and the texture maps separately
UV unwrapping without the Blender tutorial
From 1.5M triangles to something an engine won't choke on
Prompt, face count, and a fully textured GLB
Prompting ACE-Step for music
TextEncodeAceStepAudio 1.5
Instruction editing with the identity preserved
The Hunyuan I2V encoder, where image and text share one prompt
It's called 'text encode', but the image does half the work
Type the edit, point at the image, and let the model do the Photoshopping
The Qwen-Image-Edit encoder
Qwen-Image-Edit-Plus's encoder
Give Z-Image a reference image without an adapter
A real LLM living inside your ComfyUI graph
LTX-2's own prompt enhancer, baked in
The node that stamps a caption on your image without touching the GPU
It does what it says, and it's already been replaced
Loud, deprecated, still harmless
Turn a wishy-washy mask into a crisp yes-or-no
The 2023 speed hack that's mostly retired now
Topaz 'Reimagine' — the creative upscale that invents the detail you never had
The easy-button upscaler, now inside your graph
Upscaling and slow-mo as an API, and the odd one out in this category
Topaz Video AI, minus the Topaz app
The fastest way to get 20-30% more speed, with a catch
ComfyUI's built-in trainer actually trains — and it's less scary than it looks
Move, rotate, and scale a gaussian splat like it's a real object
The scalpel of the audio family
Cut frames off the front of a video latent — count in latent frames, not pixels
The full three-encoder rig for SD3
Tripo hands you GLB. Blender, Unity and Unreal all want something else.
Image to Model — a single image, a paid cloud mesh, and the settings that actually change the price
Feed your own 3D models into Tripo's cloud pipeline
Multiview to Model — give it front, left, back, right and stop redrawing the back of your character by hand
Game-ready low-poly from a single image
Multiview to Model — Tripo's low-poly specialist, with a mode switch that controls both quality and price
Describe a prop, get a clean low-poly mesh — no image needed
The polish pass only v1.4 Tripo drafts get
You rigged it. Now make it walk.
One-click auto-rigging for your generated mesh
From one photo to a 3D gaussian splat
Cut your subject out and park it on a black canvas for TripoSplat
Watch your 3D gaussian splat take shape mid-sampling
Type a sentence, get a 3D model — Tripo's flagship node
Your draft is gray plastic. This gives it a paint job.
The 77 that still haunts CLIP
A fourth output nobody's expecting
The old-school way to guide a model with a picture
Scaling your UNet's cross-attention, minus the LoRA
The modern way to load a denoiser by itself
The volume knob on your UNet's self-attention that almost nobody turns
The four-knob attention mixer for video models
Load an ESRGAN model for upscaling
Reference-image styling for Flux without a LoRA
The only way to actually see what you made
Hear what the latent was saying
Decode long audio latents without blowing up your VRAM
Turn a 3D latent into actual voxels you can mesh
Your video and big-image lifeline
From latent to a cloud of 3D gaussians
The front door to latent space (every img2img starts here)
The generic door into ComfyUI's audio latent
The correct way to start an inpaint in ComfyUI
Get huge images into latent space without OOM
The codec node everybody blames and almost nobody understands
Save a VAE to a file
First-frame to last-frame video with Veo 3
The one API node that's actually a capability gap
Google's Veo 2, without a Google account fight
Cut any video down to exactly N frames
The CFG ramp that keeps early video frames from burning out
Random Temporal Crop Is Your Free Data-Augmentation Trick
Cut the dead intro and outro before you pay to process it
The Lazy Way to Cut a Video Down to Exactly N Frames
Dial guidance down at the ends of your video so the middle doesn't melt
Three models, one start frame
The character-consistency node
The bookend that outgrew the 5-second lock
The duration slider finally moves
Flagship motion, 2K on the menu
The expressions, with a guaranteed ending
The one people actually talk about
Keep the scene going
One still, one prompt, a fixed 5 seconds
A storyboard in one generation
Vidu, from up to seven reference images and a prompt
Start and end frames
The simplest entry point
Inpaint inside a video with VOID's quadmask conditioning
The mask translator for Netflix's video-removal model
A sampler that exists for exactly one model family — you'll know when you need it
The trick behind consistent two-pass video
The adapter that hands VOID's warped noise to SamplerCustomAdvanced
Where Hunyuan 3D's blocky world becomes an actual mesh
The deprecated node that still works
The variance-preserving schedule from the theory books
Reference image plus control video for Wan 2.2
The I2V start node that doesn't touch your prompt
Wan 2.7 image-to-video, the version you can't run yourself
The only legal way to run a model Alibaba never released
Pure prompt-to-clip on the newest Wan, and the reality check that comes with it
Wan 2.7 continuation, the API way
Change the scene without regenerating it
Halve your Wan Animate 2 render time for the price of a big stick of RAM
Steal the motion from a driving video and put it on your character
Turn a still character into an animated Wan video
The Wan VRAM saver ComfyUI turned into a no-op
Give a Wan video an actual camera move
Camera-controlled image-to-video
Push past 81 frames without the identity meltdown
Wan-Dancer's audio analyzer
The node that turns Wan-Dancer keyframes into segments the local model can refine
The same Wan-Dancer keyframe padding, minus the node spaghetti
Wan-Dancer's conditioning node
Two keyframes, an 81-frame movie in between
Wan's control video goes straight into the latent — no ControlNet required
Start and end frames, and the model films the middle
Reference a subject and drive it with audio
Alibaba's API editor, and the cheapest image node in the partner lineup
The node that turns a still into a Wan video — and where the 81-frame ceiling lives
The hosted continuation of the open Wan line, now with audio
Make a person talk forever from one photo and one audio file
Splice two sets of motion tracks into one
Paste coordinates, get motion tracks for Wan-Move
The node that turns drag-points into actual video motion
See your motion tracks before you waste a generation on them
Wan's subject-to-video node, with the CFG trick that keeps identity
Keep your character (and their voice) with Wan reference-to-video
Motion transfer without the stick figure
Make a character talk, sing, or perform from one image
Chain S2V clips past the native limit
ByteDance's Wan image model, hosted so you don't have to be
The Wan that never shipped weights
Steer a video by dragging points, not by writing a paragraph
Apply Wan Uni3C ControlNet — Give Your Wan Camera a Steering Wheel
Reference characters plus a driving video, in one conditioning node
Cloud video upscaling without the subscription
WaveSpeed Image Upscale is a hosted upscaler wearing a node costume
Your camera becomes a workflow input
Pose, depth, and canny for the little model that could
ComfyUI
The most powerful and modular AI engine for content creation.
<!-- Workaround to display total user from https://github.com/badges/shields/issues/4500#issuecomment-2060079995 --> <img width="1590" height="795" alt="ComfyUI Screenshot" src="https://github.com/user-attachments/assets/36e065e0-bfae-4456-8c7f-8369d5ea48a2" /> <br> </div>ComfyUI is the AI creation engine for visual professionals who demand control over every model, every parameter, and every output. Its powerful and modular node graph interface empowers creatives to generate images, videos, 3D models, audio, and more...
- ComfyUI natively supports the latest open-source state of the art models.
- Partner nodes provide access to the best closed source models such as Nano Banana, Seedance, Hunyuan3D, etc.
- It is available on Windows, Linux, and macOS, locally with our desktop application, our portable install or on our cloud.
- The most sophisticated workflows can be exposed through a simple UI thanks to App Mode.
- It integrates seamlessly into production pipelines with our API endpoints.
Get Started
Local
Desktop Application
- The easiest way to get started.
- Available on Windows & macOS.
Windows Portable Package
- Get the latest commits and completely portable.
- Available on Windows.
Manual Install
Supports all operating systems and GPU types (NVIDIA, AMD, Intel, Apple Silicon, Ascend).
Cloud
Comfy Cloud
- Our official paid cloud version for those who can't afford local hardware.
Examples
See what ComfyUI can do with the newer template workflows or old example workflows.
Features
- A visual node graph for building and reusing image, video, audio, 3D, and text workflows without code.
- Reusable subgraphs, workflow templates, App Mode, and a local API for integrating workflows into applications.
- Efficient local execution with asynchronous queueing, partial graph re-execution, smart VRAM and RAM management, model offloading, and support for quantized models.
- Broad native model support. This is a representative list; browse the workflow library for maintained, ready-to-run templates.
- Image generation: Stable Diffusion 1.5, SDXL, SD3.5, Flux.1, Flux.2, Qwen Image, Z-Image, Hunyuan Image 2.1, HiDream, Lumina Image 2.0, Chroma, Anima, LongCat Image, Ideogram 4, Krea 2, MageFlow, Microsoft Lens, PixelDiT, Kandinsky 5, and Ernie Image.
- Image editing: Flux Kontext, Flux.2 Klein, Qwen Image Edit, HiDream E1.1 and O1, OmniGen2, Boogu, JoyImage Edit, MageFlow Edit, and LongCat Image Edit.
- Video generation: Wan 2.1 and 2.2, LTX-Video 2 and 2.3, HunyuanVideo 1.5, Kandinsky 5 Video, CogVideoX, Cosmos Predict2, Bernini-R, SCAIL 2, and Mochi.
- Audio and video generation: MiniMax H3 and LTX-AV.
- Audio generation: ACE-Step 1.5, Stable Audio 3 and MiniMax Music 3
- 3D and vision: Hunyuan3D 2.1, TripoSplat, SeedVR2, SUPIR, Depth Anything 3, MoGe, SAM 3 and 3.1, RT-DETRv4, and BiRefNet.
- Text generation: Gemma 3 and 4, Qwen3, Qwen3.5, and Qwen3-VL, including multimodal inputs.
- Load complete checkpoints or separate diffusion models, VAEs, text encoders, LoRAs, ControlNets, adapters, and upscalers from supported model formats.
- Built-in tools for inpainting, outpainting, reference conditioning, masks and compositing, model merging, upscaling, frame interpolation, segmentation, depth estimation, and media processing.
- Save and load workflows as JSON, or recover complete workflows and seeds from supported generated media.
- Runs fully offline: core does not download anything unless you request it. Use
--disable-api-nodesto disable the optional paid Comfy API nodes and force all built-in functionality to stay offline. - Extend ComfyUI with custom nodes
- Configure additional model locations with
extra_model_paths.yaml.
Release Process
ComfyUI follows a weekly release cycle targeting Monday but this regularly changes because of model releases or large changes to the codebase. There are three interconnected repositories:
-
- Releases a new major stable version (e.g., v0.7.0) roughly every 2 weeks.
- Starting from v0.4.0 patch versions will be used for fixes backported onto the current stable release.
- Minor versions will be used for releases off the master branch.
- Patch versions may still be used for releases on the master branch in cases where a backport would not make sense.
- Commits outside of the stable release tags may be very unstable and break many custom nodes.
- Serves as the foundation for the desktop release
-
- Builds a new release using the latest stable core version
-
- Every 2+ weeks frontend updates are merged into the core repository
- Features are frozen for the upcoming core release
- Development continues for the next release cycle
Shortcuts
| Keybind | Explanation |
|------------------------------------|--------------------------------------------------------------------------------------------------------------------|
| Ctrl + Enter | Queue up current graph for generation |
| Ctrl + Shift + Enter | Queue up current graph as first for generation |
| Ctrl + Alt + Enter | Cancel current generation |
| Ctrl + Z/Ctrl + Y | Undo/Redo |
| Ctrl + S | Save workflow |
| Ctrl + O | Load workflow |
| Ctrl + A | Select all nodes |
| Alt + C | Collapse/uncollapse selected nodes |
| Ctrl + M | Mute/unmute selected nodes |
| Ctrl + B | Bypass selected nodes (acts like the node was removed from the graph and the wires reconnected through) |
| Delete/Backspace | Delete selected nodes |
| Ctrl + Backspace | Delete the current graph |
| Space | Move the canvas around when held and moving the cursor |
| Ctrl/Shift + Click | Add clicked node to selection |
| Ctrl + C/Ctrl + V | Copy and paste selected nodes (without maintaining connections to outputs of unselected nodes) |
| Ctrl + C/Ctrl + Shift + V | Copy and paste selected nodes (maintaining connections from outputs of unselected nodes to inputs of pasted nodes) |
| Shift + Drag | Move multiple selected nodes at the same time |
| Ctrl + D | Load default graph |
| Alt + + | Canvas Zoom in |
| Alt + - | Canvas Zoom out |
| Ctrl + Shift + LMB + Vertical drag | Canvas Zoom in/out |
| P | Pin/Unpin selected nodes |
| Ctrl + G | Group selected nodes |
| Q | Toggle visibility of the queue |
| H | Toggle visibility of history |
| R | Refresh graph |
| F | Show/Hide menu |
| . | Fit view to selection (Whole graph when nothing is selected) |
| Double-Click LMB | Open node quick search palette |
| Shift + Drag | Move multiple wires at once |
| Ctrl + Alt + LMB | Disconnect all wires from clicked slot |
Ctrl can also be replaced with Cmd instead for macOS users
Installing
Windows and Mac
We highly recommend using the desktop app:
Link to Download
The desktop app is the easiest and best way to use ComfyUI for new users.
Windows Portable
There is a portable standalone build for Windows that should work for running on Nvidia GPUs or for running on your CPU only. It is not recommended for regular users. Regular users should use the desktop app above.
Direct link to download (nvidia)
Simply download, extract with 7-Zip or with the windows explorer on recent windows versions and run. For smaller models you normally only need to put the checkpoints (the huge ckpt/safetensors files) in: ComfyUI\models\checkpoints but many of the larger models have multiple files. Make sure to follow the instructions to know which subfolder to put them in ComfyUI\models\
If you have trouble extracting it, right click the file -> properties -> unblock
The portable above currently comes with python 3.13 and pytorch cuda 13.0. Update your Nvidia drivers if it doesn't start.
All Official Portable Downloads:
Portable for Nvidia GPUs (supports 20 series and above).
Portable for Nvidia GPUs with pytorch cuda 12.6 and python 3.12 (Supports Nvidia 10 series and older GPUs, DO NOT USE THIS ON NEWER 20 SERIES AND ABOVE GPUS).
How do I share models between another UI and ComfyUI?
See the Config file to set the search paths for models. In the standalone windows build you can find this file in the ComfyUI directory. Rename this file to extra_model_paths.yaml and edit it with your favorite text editor.
comfy-cli
You can install and start ComfyUI using comfy-cli:
pip install comfy-cli
comfy install
Manual Install (Windows, Linux)
Python 3.14 works but some custom nodes may have issues. The free threaded variant works but some dependencies will enable the GIL so it's not fully supported.
Python 3.13 is very well supported. If you have trouble with some custom node dependencies on 3.13 you can try 3.12
torch 2.7 is minimally supported but using a newer version is extremely recommended. Using a cu130 or above version of pytorch is required on Nvidia 20 series and above. Some features and optimizations might only work on newer versions. We generally recommend using the latest major version of pytorch with the latest cuda version unless it is less than 2 weeks old. If your pytorch is more than 6 months old, please update it.
Instructions:
Git clone this repo.
Put your SD checkpoints (the huge ckpt/safetensors files) in: models/checkpoints
Put your VAE in: models/vae
AMD GPUs (Linux)
AMD users can install rocm and pytorch with pip if you don't have it already installed, this is the command to install the stable version:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm7.2
This is the command to install the nightly with ROCm 7.2 which might have some performance improvements:
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm7.2
AMD GPUs (Experimental: Windows and Linux), RDNA 3, 3.5 and 4 only.
These have less hardware support than the builds above but they work on windows. You also need to install the pytorch version specific to your hardware.
RDNA 3 (RX 7000 series):
pip install --pre torch torchvision torchaudio --index-url https://rocm.nightlies.amd.com/v2/gfx110X-all/
RDNA 3.5 (Strix halo/Ryzen AI Max+ 365):
pip install --pre torch torchvision torchaudio --index-url https://rocm.nightlies.amd.com/v2/gfx1151/
RDNA 4 (RX 9000 series):
pip install --pre torch torchvision torchaudio --index-url https://rocm.nightlies.amd.com/v2/gfx120X-all/
Intel GPUs (Windows and Linux)
Intel Arc GPU users can install native PyTorch with torch.xpu support using pip. More information can be found here
- To install PyTorch xpu, use the following command:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/xpu
This is the command to install the Pytorch xpu nightly which might have some performance improvements:
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/xpu
NVIDIA
Nvidia users should install stable pytorch using this command:
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130
This is the command to install pytorch nightly instead which might have performance improvements.
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu132
Troubleshooting
If you get the "Torch not compiled with CUDA enabled" error, uninstall torch with:
pip uninstall torch
And install it again with the command above.
Dependencies
Install the dependencies by opening your terminal inside the ComfyUI folder and:
pip install -r requirements.txt
After this you should have everything installed and can proceed to running ComfyUI.
Others:
Apple Mac silicon
You can install ComfyUI in Apple Mac silicon (M1, M2, M3 or M4) with any recent macOS version.
- Install pytorch nightly. For instructions, read the Accelerated PyTorch training on Mac Apple Developer guide (make sure to install the latest pytorch nightly).
- Follow the ComfyUI manual installation instructions for Windows and Linux.
- Install the ComfyUI dependencies. If you have another Stable Diffusion UI you might be able to reuse the dependencies.
- Launch ComfyUI by running
python main.py
Note: Remember to add your models, VAE, LoRAs etc. to the corresponding Comfy folders, as discussed in ComfyUI manual installation.
Ascend NPUs
For models compatible with Ascend Extension for PyTorch (torch_npu). To get started, ensure your environment meets the prerequisites outlined on the installation page. Here's a step-by-step guide tailored to your platform and installation method:
- Begin by installing the recommended or newer kernel version for Linux as specified in the Installation page of torch-npu, if necessary.
- Proceed with the installation of Ascend Basekit, which includes the driver, firmware, and CANN, following the instructions provided for your specific platform.
- Next, install the necessary packages for torch-npu by adhering to the platform-specific instructions on the Installation page.
- Finally, adhere to the ComfyUI manual installation guide for Linux. Once all components are installed, you can run ComfyUI as described earlier.
Cambricon MLUs
For models compatible with Cambricon Extension for PyTorch (torch_mlu). Here's a step-by-step guide tailored to your platform and installation method:
- Install the Cambricon CNToolkit by adhering to the platform-specific instructions on the Installation
- Next, install the PyTorch(torch_mlu) following the instructions on the Installation
- Launch ComfyUI by running
python main.py
Iluvatar Corex
For models compatible with Iluvatar Extension for PyTorch. Here's a step-by-step guide tailored to your platform and installation method:
- Install the Iluvatar Corex Toolkit by adhering to the platform-specific instructions on the Installation
- Launch ComfyUI by running
python main.py
ComfyUI-Manager
ComfyUI-Manager is an extension that allows you to easily install, update, and manage custom nodes for ComfyUI.
Setup
-
Install the manager dependencies:
pip install -r manager_requirements.txt -
Enable the manager with the
--enable-managerflag when running ComfyUI:python main.py --enable-manager
Command Line Options
| Flag | Description |
|------|-------------|
| --enable-manager | Enable ComfyUI-Manager |
| --enable-manager-legacy-ui | Use the legacy manager UI instead of the new UI (implies --enable-manager) |
| --disable-manager-ui | Disable the manager UI and endpoints while keeping background features like security checks and scheduled installation completion (requires --enable-manager) |
Running
python main.py
For AMD cards not officially supported by ROCm
Try running it with this command if you have issues:
For 6700, 6600 and maybe other RDNA2 or older: HSA_OVERRIDE_GFX_VERSION=10.3.0 python main.py
For AMD 7600 and maybe other RDNA3 cards: HSA_OVERRIDE_GFX_VERSION=11.0.0 python main.py
AMD ROCm Tips
You can try setting this env variable PYTORCH_TUNABLEOP_ENABLED=1 which might speed things up at the cost of a very slow initial run.
Notes
Only parts of the graph that have an output with all the correct inputs will be executed.
Only parts of the graph that change from each execution to the next will be executed, if you submit the same graph twice only the first will be executed. If you change the last part of the graph only the part you changed and the part that depends on it will be executed.
Dragging a generated png on the webpage or loading one will give you the full workflow including seeds that were used to create it.
You can use () to change emphasis of a word or phrase like: (good code:1.2) or (bad code:0.8). The default emphasis for () is 1.1. To use () characters in your actual prompt escape them like \( or \).
You can use {day|night}, for wildcard/dynamic prompts. With this syntax "{wild|card|test}" will be randomly replaced by either "wild", "card" or "test" by the frontend every time you queue the prompt. To use {} characters in your actual prompt escape them like: \{ or \}.
Dynamic prompts also support C-style comments, like // comment or /* comment */.
To use a textual inversion concepts/embeddings in a text prompt put them in the models/embeddings directory and use them in the CLIPTextEncode node like this (you can omit the .pt extension):
embedding:embedding_filename.pt
How to show high-quality previews?
Use --preview-method auto to enable previews.
The default installation includes a fast latent preview method that's low-resolution. To enable higher-quality previews with TAESD, download the taesd_decoder.pth, taesdxl_decoder.pth, taesd3_decoder.pth and taef1_decoder.pth and place them in the models/vae_approx folder. Once they're installed, restart ComfyUI and launch it with --preview-method taesd to enable high-quality previews.
How to use TLS/SSL?
Generate a self-signed certificate (not appropriate for shared/production use) and key by running the command: openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes -subj "/C=XX/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=CommonNameOrHostname"
Use --tls-keyfile key.pem --tls-certfile cert.pem to enable TLS/SSL, the app will now be accessible with https://... instead of http://....
Note: Windows users can use alexisrolland/docker-openssl or one of the 3rd party binary distributions to run the command example above. <br/><br/>If you use a container, note that the volume mount
-vcan be a relative path so... -v ".\:/openssl-certs" ...would create the key & cert files in the current directory of your command prompt or powershell terminal.
Support and dev channel
Discord: Try the #help or #feedback channels.
Matrix space: #comfyui_space:matrix.org (it's like discord but open source).
See also: https://www.comfy.org/
psst — we're hiring! Help build ComfyUI: comfy.org/careers
Frontend Development
As of August 15, 2024, we have transitioned to a new frontend, which is now hosted in a separate repository: ComfyUI Frontend. The compiled JS files (from TS/Vue) are published to pypi and installed as a dependency in ComfyUI.
Reporting Issues and Requesting Features
For any bugs, issues, or feature requests related to the frontend, please use the ComfyUI Frontend repository. This will help us manage and address frontend-specific concerns more efficiently.
Using the Latest Frontend
The new frontend is now the default for ComfyUI. However, please note:
- The frontend in the main ComfyUI repository is updated fortnightly.
- Daily releases are available in the separate frontend repository.
To use the most up-to-date frontend version:
-
For the latest daily release, launch ComfyUI with this command line argument:
--front-end-version Comfy-Org/ComfyUI_frontend@latest -
For a specific version, replace
latestwith the desired version number:--front-end-version Comfy-Org/[email protected]
This approach allows you to easily switch between the stable fortnightly release and the cutting-edge daily updates, or even specific versions for testing purposes.