Instructions to use lvladikov/ComfyUI-Nodes-and-Workflows with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use lvladikov/ComfyUI-Nodes-and-Workflows with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] hf download lvladikov/ComfyUI-Nodes-and-Workflows --local-dir ComfyUI-Nodes-and-Workflows
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Atomic Chat
ComfyUI Nodes and Workflows
A collection of ComfyUI workflows and nodes: apps for image, music and language models, and LVNodes, the custom node pack they share. It covers Krea 2 (Turbo and Raw), Z-Image (Turbo and Base), MiniMax Music 3, Image2Text and LLM Chat, and runs language models on Apple MLX inside ComfyUI; more models might be added to this same project, sharing some of the common nodes.
Highlights
- πΌοΈ Three apps, three editions each β Krea 2, Z-Image and MiniMax Music 3, each for Comfy Cloud, local ComfyUI (PyTorch) and Apple MLX: one App view, the full graph behind it, and Notes inside that explain every input
- π Image2Text β describe any image in enough detail to reuse the reply as a text-to-image prompt: ComfyUI's Qwen3-VL template with a prompt-ready system prompt, for Comfy Cloud, local ComfyUI and Apple MLX (about 3Γ faster on a Mac), with any vision LLM ComfyUI or mlx-vlm runs
- π¬ LLM Chat β a multi-turn chat inside ComfyUI, in the App view and a sidebar tab: replies stream in with Markdown and Mermaid diagrams, pasted images stay in the conversation for vision models, snippets (
*tm topic) expand into full prompts, and web tools (news, search, pages, images, videos, weather) ask before going online. On a Mac the model and each chat's context stay loaded, so a follow-up starts in a fraction of a second. Local only: Comfy Cloud can't load its chat view or keep a conversation between runs - π§ Language models on Apple MLX, from ComfyUI's own files β on a Mac, ComfyUI's own Load CLIP and Generate Text run on MLX with no change to the workflow, images included, from bf16 or ComfyUI's int8 / int6 / int4 files (which ComfyUI itself would rebuild layer by layer for every token, or can't run at all on Apple GPUs): Qwen3.8 27B int4 at 24 tokens/s, Gemma 4 E4B at 66 where ComfyUI's own path manages 1.6. Load LLM (MLX) adds MLX model folders of anything mlx-vlm or mlx-lm runs, mixture-of-experts models ComfyUI can't run included (Qwen3.6-35B-A3B at 82 tokens/s). See below
- π΅ Songs, too β MiniMax Music 3 makes complete songs with vocals and lyrics, or instrumentals: describe one in plain words ("an upbeat song about a girl dancing in the rain") and the Prompt LLM writes the title, style, length, MiniMax's structured caption and the lyrics; or bring your own caption and lyrics (sung exactly as written), or switch on Random music for a different style, mood, voice and theme every run. Prompt enhancement Enhance, Strict or Off; length Auto or set
- π Turbo and Raw / Base in one app β a Model switch at the top, and only the chosen model loads: Krea 2 Turbo (4 steps) or Krea 2 Raw, the undistilled base (28+ steps at CFG 4.5; Krea's own: 52 at 3.5); Z-Image Turbo (8 steps) or Z-Image (Base) (28β50 steps at CFG 3β5). Raw and Base get a Negative prompt, always used exactly as typed (never through prompt enhancement), and CFG; 1, the default, suits Turbo and every step-LoRA run
- ποΈ Settings follow the model (local) β pick a model and Steps, Enable step LoRAs and CFG switch to its recommendations on the spot: Krea 2 Raw to 28 steps, step LoRAs off, CFG 4.5, and back to 4 steps, on, CFG 1 for Turbo (Z-Image Base: 28 steps, CFG 4; Turbo: 8 steps, CFG 1). What the fields show is what runs, and you can change any of them afterwards. It's a page add-on in LVNodes, and Comfy Cloud only runs the node packs it has installed itself, so it can't load it; on Cloud you set those fields by hand, and their hints give the same values
- β‘ Steps pick the step LoRA β switched inside the graph, with one Step LoRA strength. Krea 2, with the 2-step and 4-step distill LoRAs: 2β3 steps the 2-step, 4+ the 4-step, the native model from 7 on Turbo (from 28 on Raw). Z-Image, with alibaba-pai's Z-Image-Fun-Lora-Distill: 1β3 steps the 2-step, 4β7 the 4-step, 8β10 the 8-step, none from 11
- ποΈ Enable step LoRAs β off runs the native model at any step count. On by default for Krea 2, whose LoRAs are trained for Turbo (Raw is best with them off); off by default for Z-Image, whose LoRAs are made for Base (Turbo is best without)
- π― Each model's own sampling β Krea 2 Raw gets its own resolution-dependent shift (Turbo, and Raw with a step LoRA, Turbo's fixed 1.15); Z-Image gets Tongyi's shift (3 for Turbo, 6 for Base without a step LoRA) and res_multistep, on every edition, MLX included. Z-Image also offers a choice of VAE: FLUX.1's own, UltraFlux for sharper detail, or locally TAEF1 for speed
- π Live progress and previews (local) β stage, step, s/it and time left right above Run, then "Done in m:ss", and the picture forming as it samples (on MLX through LVNodes, sharp with a tiny decoder in
models/vae_approx); it comes from LVNodes, which Comfy Cloud can't load - π All three on Apple MLX β they run on Apple's MLX inside ComfyUI, from ComfyUI's own model files: Krea 2 Turbo in about 31 s for each 1 MP image of a batch and Z-Image Turbo in about 27 s at 8 steps, with float16 compute inside the models' layers (about a quarter faster on M1 / M2 Macs), Raw and Base too, slower as undistilled models are; MiniMax Music 3 writes a song's frames about 2.5Γ as fast as PyTorch on a Mac (all in its own sub-environment, not touching ComfyUI's main Torch one)
- π₯ Local PyTorch, on any GPU β runs on NVIDIA (CUDA) and other GPUs exactly as ComfyUI normally does; on Apple Silicon, through PyTorch's MPS backend, it runs the step LoRA alongside the model instead of keeping a second copy of its weights, which halves Krea 2's memory (48 β 24 GB) for the same picture
- βοΈ Comfy Cloud, nothing to install β download the Krea 2 or Z-Image Cloud workflow, drag it onto Comfy Cloud, import its step LoRAs once (everything else is already on Cloud), and run: 3.5 MP by default, with upscaling at any factor. The MiniMax Music 3 one needs no imports at all
- π² Random prompts with real variety β seeded scene lists and about 14,000 dictionary words, or real prompts from 3M+ Hugging Face dataset rows read live; the Prompt LLM turns them into photorealistic prompts, and refusals are retried
- π£οΈ Prompt enhancement with any LLM β by default the same file as the model's text encoder (Qwen3-VL 4B for Krea 2, Qwen3 4B for Z-Image), so nothing extra to download; falls back to your own prompt if the LLM refuses or returns nothing
- π¨ Extra LoRAs and upscaling β style LoRAs on top, with their own strength and trigger words; SeedVR2 7B or classic upscalers at any factor (a 3.5 MP image at 4Γ comes out at 8864Γ6624)
- π§ Memory on demand (local) β models load stage by stage, and Keep models loaded holds them between runs only when you want, whatever ComfyUI's startup flags
- π§© LVNodes, one light pack β the MLX nodes for all three models and for language models, LLM Chat and its chat view, loaders that need only the files a run uses, keep-loaded loaders, seeded random prompts, live dataset rows, Wait For gates, and in the app the status line, the keep checkbox, settings that follow the model and a fresh first seed. It needs nothing beyond Python's standard library (LLM Chat also uses Jinja2 and regex, which ComfyUI already has), except the MLX nodes: on their first run they make a one-off install of mflux, MLX, mlx-lm, mlx-vlm and transformers 5 (about 1.3 GB, a few minutes, automatic) into LVNodes' own environment, so ComfyUI's packages stay untouched. Besides LVNodes, the local workflows need only KJNodes (for the Set/Get pills); Comfy Cloud needs nothing
- π§Ή No spaghetti β every workflow starts from a Fields β Set column and wires its groups with Set/Get pills, aligned with even gaps
- π₯ Models download themselves β every file carries its link for ComfyUI's missing-models dialog
- π Apache-2.0 β workflows, nodes and docs
| Model | Folder | Versions |
|---|---|---|
| Krea 2 (Turbo and Raw) | Krea-2/ |
Comfy Cloud, local ComfyUI, and Apple MLX for Apple Silicon Macs |
| Z-Image (Turbo and Base) | Z-Image/ |
Comfy Cloud, local ComfyUI, and Apple MLX for Apple Silicon Macs |
| MiniMax Music 3 (songs and instrumentals) | Minimax-Music3/ |
Comfy Cloud, local ComfyUI, and Apple MLX for Apple Silicon Macs |
| Image2Text (an image described as a text-to-image prompt) | Image2Text/ |
Comfy Cloud, local ComfyUI, and Apple MLX for Apple Silicon Macs |
| LLM Chat (a multi-turn chat with images, snippets and web tools) | LLMChat/ |
local ComfyUI, and Apple MLX for Apple Silicon Macs (no Comfy Cloud version) |
Each model's folder holds its workflow files and a README with everything specific to that model: which models to download, how to install and use the workflows, and screenshots.
The screenshots below come from the Krea 2 app, on an Apple Silicon Mac and on Comfy Cloud, then the Z-Image, MiniMax Music 3 and Image2Text apps on Comfy Cloud, and the last two from LLM Chat on an Apple Silicon Mac.
![]()
The Krea 2 App view on an Apple Silicon Mac (Apple MLX workflow): Krea 2 Turbo, a Fully Random prompt written by the Prompt LLM, rendered at 1 MP in 1:04. The app's inputs are on the right.
![]()
The graph view: the Notes explain the setup and every input, the Krea 2 (MLX) node holds all the fields, and the image preview and the prompt used sit on the right.
![]()
Inside the Krea 2 subgraph: every field starts in the Fields β Set column on the left, and each group reads what it needs through Get pills, so no wire crosses from one group to another.
![]()
Krea 2 on Comfy Cloud: Krea 2 Turbo at 3.5 MP (2216Γ1656), upscaled 2x to 4432Γ3312, with the Model list open.
![]()
Z-Image on Comfy Cloud: Z-Image Turbo at 8 steps and 3.5 MP (2216Γ1656), upscaled 2x to 4432Γ3312, with the Model list open.
![]()
MiniMax Music 3 on Comfy Cloud: Random music picked the style (Deep House), mood, voice and tempo, and the Prompt LLM wrote the song. The result in the middle is the song used: title, style, length, MiniMax's caption and the lyrics.
![]()
The same run's song, a 2:02 track to play or download, with the model fields further down the panel (Prompt LLM, Steps, CFG, the three MiniMax files, the file format).
![]()
Image2Text on Comfy Cloud: an image in, a description out that works as a text-to-image prompt. A run has two results, the description and the image it describes (shown); the inputs are on the right.
![]()
Image2Text's graph: ComfyUI's Qwen3-VL text generation template with a System prompt, a Seed and the outputs, and Notes that explain every input.
![]()
LLM Chat on an Apple Silicon Mac (Apple MLX workflow, Gemma 4 E4B): three pictures sent without a message get "Describe what you see", and the reply takes them one by one.
![]()
LLM Chat streaming a Python tutorial from the *tm snippet: a Markdown table, a Mermaid flowchart drawn as soon as its block closed, and code, at 62 tokens/s on MLX.
What's in this project
LVNodes/: the custom node pack the local workflows use. It's one pack for every model here: each group of nodes has its own subfolder and README, and the Apple MLX ones share one Python environment. See LVNodes/README.md.- One folder per model or task:
Krea-2/,Z-Image/,Minimax-Music3/,Image2Text/andLLMChat/. meta.yaml: the project manifest, with the version and what each folder holds.
Getting the project: the simplest way is Hugging Face's hf command, which ComfyUI Desktop's Python includes ("$COMFY/.venv/bin/hf", with COMFY your ComfyUI folder; other installs: the hf of the Python that runs ComfyUI, or pip install huggingface_hub):
hf download lvladikov/ComfyUI-Nodes-and-Workflows --local-dir ComfyUI-Nodes-and-Workflows
Or download the files you need from the repository's file browser. To check which version you have, see version in meta.yaml.
Language models on Apple MLX
ComfyUI generates text with its Generate Text node from the text encoders in models/text_encoders, the same files that serve image models. On NVIDIA GPUs its int8, int6 and int4 files run natively. On a Mac they don't: ComfyUI rebuilds every quantized layer in bf16 for every token it writes, and its int6 / int4 layers, with their fp8 scales, don't run on Apple GPUs at all. LVNodes' ComfyUI-MLX-LLM fixes that without touching the workflow:
- Load CLIP + Generate Text, unchanged, on MLX. On an Apple Silicon Mac, Load CLIP keeps only the file's tokenizer and an empty model shell, and Generate Text hands ComfyUI's tokens to an MLX helper, which reads the file one tensor at a time and re-quantizes it for MLX's own kernels. Images run on MLX too, with the file's vision tower, prepared exactly as ComfyUI prepares them. Anywhere else, Comfy Cloud included, the same workflow runs on ComfyUI's own code. Models: Qwen3.5 / 3.6 / 3.8, Gemma 4, and files ComfyUI itself can't generate with (Qwen3.5 / 3.6 mixture-of-experts files, Qwen3-VL 32B).
- Load LLM (MLX), the explicit MLX loader: ComfyUI files (Qwen3-VL too), and MLX model folders in
models/LLMof any model mlx-vlm or mlx-lm runs, each with its own chat template and image processing: Gemma 3 / 4, the Qwen-VL family, Llama 4, Mistral 3, Phi-4 and many more, mixture-of-experts models included. - ComfyUI's quantized files, decoded on MLX.
LVNodes/common/comfy_quant.pydecodes ComfyUI's int8, int6, int4 and fp8 layers (ConvRot included) on MLX, value for value as ComfyUI does, so MLX code can read the very files ComfyUI uses. - Memory stays bounded: the helper checks that a model fits before loading it, a watchdog stops it before it could run the Mac out of memory, and it frees the model when ComfyUI needs the memory.
Measured on an M2 Ultra (64 GB):
| Model | Memory | Speed on MLX | ComfyUI's own path on the Mac |
|---|---|---|---|
| Qwen3-VL 4B, bf16 file, describing an image | 5.1 GB | 86β90 tokens/s | about 3.4Γ slower |
| Gemma 4 E4B, ComfyUI int8 file | 8.3 GB | 66 tokens/s | about 1.6 tokens/s |
| Qwen3.8 27B, ComfyUI int4 file | 21.9 GB | 24 tokens/s | doesn't run (fp8 scales) |
| Qwen3.6-35B-A3B (mixture-of-experts), MLX 4-bit folder | 20.2 GB | 82 tokens/s | ComfyUI has no such model |
Details: LVNodes βΊ Generate Text on MLX and ComfyUI-MLX-LLM. The Image2Text and LLM Chat workflows are built on it.
Local ComfyUI setup
Every local workflow here needs the following. Comfy Cloud needs none of it; each model's README covers Cloud.
LVNodes
- Copy the whole
LVNodesfolder intoComfyUI/custom_nodes/. For ComfyUI Desktop,ComfyUIis the folder you chose during setup. - Restart ComfyUI.
There's nothing to run by hand, and ComfyUI's own Python packages aren't changed. The Apple MLX nodes set up their own environment the first time they run.
Updating LVNodes
Update by copying what's inside the new LVNodes into your existing custom_nodes/LVNodes, replacing files when asked, then restart ComfyUI. Don't replace or delete the LVNodes folder itself. On a Mac it also holds two hidden folders that LVNodes created there: .venv, the MLX environment (about 1.3 GB), and .cache.
- macOS Finder: open the new
LVNodes, select everything in it (βA), drag the selection into yourcustom_nodes/LVNodesand click Replace, with Apply to all ticked. Don't drag theLVNodesfolder itself ontocustom_nodes: Finder would replace the whole folder, hidden folders included. Finder's Merge doesn't help here, because it isn't offered when files have changed. - Windows Explorer: copying the new
LVNodesonto the old one and choosing Replace the files in the destination is fine, since Windows keeps everything else. On Windows and Linux there are no hidden folders anyway, because the MLX nodes only run on Macs. - Terminal (macOS, Linux):
rsync -a --delete --exclude .venv --exclude .cache /path/to/new/LVNodes/ /path/to/ComfyUI/custom_nodes/LVNodes/makes your copy match the new version and keeps both hidden folders.
If the hidden folders do get deleted, nothing breaks: the next MLX run sets them up again, which takes a few minutes.
KJNodes
KJNodes provides the Set/Get pills that wire the workflows' graphs. Install it from ComfyUI Manager (the Extensions button, or Manager β Custom Nodes Manager): search for "KJNodes" and install ComfyUI-KJNodes by kijai. The Manager's missing-node check can't match it automatically, so search for it by name. Then restart ComfyUI.
No Extensions button? Newer ComfyUI versions only show the Manager when it's enabled. ComfyUI Desktop includes it. For a portable or manual install, run python -m pip install -r manager_requirements.txt with ComfyUI's Python in the ComfyUI folder, then start ComfyUI with --enable-manager. Or skip the Manager: run git clone https://github.com/kijai/ComfyUI-KJNodes inside custom_nodes, then install its requirements.txt with ComfyUI's Python.
One Button Prompt
One Button Prompt by AIrjen draws the random ingredients for Fully Random in the Cloud workflows only. Comfy Cloud has it built in, so there's nothing to install. The local workflows use LVNodes' Random Prompt instead and don't need it. It's GPL-3.0 licensed; the workflows only use it, and none of its code is part of this project.
Models
No models ship with ComfyUI. When you open a workflow, ComfyUI offers to download the ones it can't find, because the workflows store each file's download link. ComfyUI Desktop saves them straight into the right folders. Other installs open the links in your browser, so move each downloaded file into the folder the model's README names. The model READMEs list every file, with sizes and alternatives.
Optional: a Hugging Face token
LVNodes' Random Prompt (HF Dataset) node reads Hugging Face datasets without an account. If you set the HF_TOKEN environment variable before starting ComfyUI, its requests are sent as your account, so rate limiting is less likely, and gated datasets you can access also work. Any free read token from huggingface.co/settings/tokens will do.
- macOS or Linux:
export HF_TOKEN=hf_...in the shell that starts ComfyUI. - Windows: run
setx HF_TOKEN hf_...once, then restart ComfyUI. - ComfyUI Desktop on macOS: run
launchctl setenv HF_TOKEN hf_..., then restart the app. This lasts until the Mac restarts.
Tips for Apple Silicon Macs
Two startup arguments help on a Mac. In ComfyUI Desktop, add them under Manage β Launch Settings β Startup Arguments, then restart; for other installs, add them to the launch command. They apply to every workflow you run in that ComfyUI.
--gpu-only: on a Mac, ComfyUI runs text encoders on the CPU by default, so encoding prompts is slow, and so is an LLM step that uses the text encoder.--gpu-onlymoves them to the GPU. On Apple Silicon that costs no extra memory, because the CPU and GPU share it.--highvramhas no effect on Macs.--cache-none, unless you have plenty of memory: by default, ComfyUI keeps every model loaded for the next run, and on a Mac they all share the same memory. With--cache-none, ComfyUI frees each model as soon as its stage is done. Workflows that load each model only when its stage starts, with LVNodes' Wait For, then keep just one stage in memory at a time. Every run would then load its models again, but this project's workflows have a Keep models loaded switch that keeps the big models between runs when you want, even with--cache-none, so there's no need to change your startup arguments for it.
Each model's README adds its own Mac tips, such as which model files suit a Mac.
Licences
Everything in this project, the workflows, LVNodes and these READMEs, is under the Apache License 2.0, except the three JavaScript libraries LLM Chat's view uses (marked and Mermaid, MIT; DOMPurify, Apache-2.0 or MPL-2.0), which keep their own licences: see LVNodes/web/lib/LICENSES.md. The models are not part of it: each workflow downloads them from their own repositories, under their own licences, which the model's folder names. For Krea 2 that is the Krea 2 Community License (Krea-2/LICENSE.pdf), which covers the Krea model files and the 2-step and 4-step LoRAs. Z-Image (Base), Z-Image Turbo, the step LoRAs and UltraFlux are Apache-2.0, and TAEF1 is MIT. MiniMax Music 3 is under the MiniMax-Music3 Community License (Minimax-Music3/LICENSE). Image2Text's and LLM Chat's default model, Qwen3-VL, is Apache-2.0; the other language models are under their own licences, which their model cards state. LVNodes/ComfyUI-MLX-LLM/gemma4_configs.json holds settings from Google's Gemma 4 model cards.
- Downloads last month
- 58