(Deno) Easy Model Download Helper
It doesn't download anything — the (Deno) Easy Model Download Helper explained
The name is a lie. (Deno) Easy Model Download Helper never downloads a single byte - it opens official Hugging Face links in your browser and tells you exactly where to drop the files. That sounds backwards until you realize how often the "helper" in ComfyUI is a Python script that silently pulls a stale or corrupted model into the wrong folder. This one refuses to do the risky part, and honestly, it's the better design.
It exists because of one workflow: LTX 2.3 on 8GB of VRAM. LTX 2.3 is a 22B model - the version people actually got excited about after Lightricks rebuilt the VAE and fixed I2V - and running it on a mid-range card means loading a Q4_K_M GGUF quantization of the distilled weights through ComfyUI-GGUF. That's a pile of interdependent files: the GGUF UNet, a fp4 Gemma text encoder, a text projection bridge, split video and audio VAEs, and a latent spatial upscaler. Six files, six different target folders, ~30GB of downloads. Get one in the wrong subfolder and your workflow fails with a cryptic "model not found."
That's the gap this node fills. It's a setup checklist that knows your ComfyUI install.
How it works
Under the hood it reads ComfyUI's registered model folders (folder_paths, including custom roots from extra_model_paths), finds your actual models root, and checks each file against the preset's expected size - a file at 98% of the target size counts as present, a .part file shows up as "partial." It then serves a panel through a local /deno/ltx_model_downloader route. Click a missing file, the node calls window.open with the official HF link, you download it in your normal browser, and Refresh Check re-scans.
The two built-in presets are the LTX 2.3 8GB GGUF starter set (the default) and the official LTX 2.5 Distilled INT8 set. The 2.5 preset needs you signed in to Hugging Face with Agree and Access accepted on the model page - the files are under the LTX-2 Community License, free under $10M annual revenue, not Apache. The node surfaces the links rather than auto-downloading partly so that gated access stays visible.
Inputs and outputs
There are no outputs. This is an output node in the graph sense - it's a panel, not a data source - so nothing wires out of it, and you don't connect it to your sampler at all.
model_root- which models root to check. It auto-detects candidates and picks the one with the most files already present. If you have multiple ComfyUI installs or a customextra_model_pathslayout, set this to the right root; there's aCopy selected rootbutton for pasting into your file manager.presets_json- the saved preset library, editable if you want your own file sets. Advanced territory; the author's own tooltip says exactly that. Built-in presets refresh automatically while your custom ones are preserved.
Install
Via ComfyUI Manager, search "Deno Custom Nodes" and install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/Deno2026/comfyui-deno-custom-nodes.git
Then restart ComfyUI. The helper node itself has zero special dependencies - but the pack's requirements.txt pulls openai-whisper for its audio-transcript nodes, so expect a chunky first install either way. The pack also ships companion LTX nodes (the (Deno) LTX Model Loader in GGUF mode, LTX Sequencer, the tiled samplers) plus a ready-made ltx23-8gb-vram-public-baseline.json workflow to run the preset against.
Where people get burned
- Files land in the wrong subfolder. The whole status system hinges on the exact
target_subdir-unet,text_encoders,vae,latent_upscale_models. If the status stays "missing" after a move, you moved it somewhere the node isn't checking. - Partial downloads. Browser downloads that stall leave a
.partfile; the node shows "partial" and waits for the real thing. Finish or re-download. - The GGUF needs ComfyUI-GGUF. This node only places files. Without the GGUF loader node installed, "exists" status doesn't get you a running model.
- Civitai links. If you're editing a preset, paste the model page URL, not the blue Download button (that's a direct API link), and make sure
File namematches what lands on disk or the check won't match. - Old workflows. The node was renamed from
DenoLTX8GBModelDownloader; the pack remaps old IDs, so a pre-existing workflow upgrades cleanly.
It's a small, opinionated tool that removes one of ComfyUI's most tedious rituals - the model-acquisition treasure hunt. The last node that genuinely deserves the word "helper."
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| model_root | STRING | /tmp/ComfyUI/models | ComfyUI models root where the helper checks target files. |
| presets_json | STRING | { "active_preset_id": "ltx_23_8gb_vram", "presets": [ { "id": "ltx_23_8gb_vram", "title": "LTX 2.3 8GB VRAM", "description": "Open the official Hugging Face links, download with your browser, then move files into the shown target paths. No Python auto-download is used.", "files": [ { "id": "gguf", "label": "GGUF model", "url": "https://huggingface.co/QuantStack/LTX-2.3-GGUF/resolve/main/LTX-2.3-distilled-1.1/LTX-2.3-22B-distilled-1.1-Q4_K_M.gguf?download=true", "target_subdir": "unet", "filename": "LTX-2.3-22B-distilled-1.1-Q4_K_M.gguf", "size": 17763015328 }, { "id": "gemma", "label": "Gemma text encoder", "url": "https://huggingface.co/Comfy-Org/ltx-2/resolve/main/split_files/text_encoders/gemma_3_12B_it_fp4_mixed.safetensors?download=true", "target_subdir": "text_encoders", "filename": "gemma_3_12B_it_fp4_mixed.safetensors", "size": 9447702218 }, { "id": "projection", "label": "Text projection", "url": "https://huggingface.co/Kijai/LTX2.3_comfy/resolve/main/text_encoders/ltx-2.3_text_projection_bf16.safetensors?download=true", "target_subdir": "text_encoders", "filename": "ltx-2.3_text_projection_bf16.safetensors", "size": 2312149072 }, { "id": "video_vae", "label": "Video VAE", "url": "https://huggingface.co/Kijai/LTX2.3_comfy/resolve/main/vae/LTX23_video_vae_bf16.safetensors?download=true", "target_subdir": "vae", "filename": "LTX23_video_vae_bf16.safetensors", "size": 1452258578 }, { "id": "audio_vae", "label": "Audio VAE", "url": "https://huggingface.co/Kijai/LTX2.3_comfy/resolve/main/vae/LTX23_audio_vae_bf16.safetensors?download=true", "target_subdir": "vae", "filename": "LTX23_audio_vae_bf16.safetensors", "size": 364855188 }, { "id": "spatial_upscaler", "label": "Spatial upscaler x2", "url": "https://huggingface.co/Lightricks/LTX-2.3/resolve/main/ltx-2.3-spatial-upscaler-x2-1.1.safetensors?download=true", "target_subdir": "latent_upscale_models", "filename": "ltx-2.3-spatial-upscaler-x2-1.1.safetensors", "size": 995743560 } ] }, { "id": "ltx_25_distilled_int8", "title": "LTX 2.5 Distilled INT8", "description": "Official LTX 2.5 distilled INT8 model set, including the projected Gemma 4 text encoder, video/audio VAEs, and x2 spatial upscaler. Sign in to Hugging Face and complete Agree and Access before opening the download links. Files are provided under the LTX-2 Community License.", "files": [ { "id": "diffusion_model", "label": "LTX 2.5 distilled INT8 model", "url": "https://huggingface.co/Lightricks/LTX-2.5/resolve/main/diffusion_models/ltx-2.5-22b-distilled-transformer-comfy-int8-convrot.safetensors?download=true", "target_subdir": "diffusion_models", "filename": "ltx-2.5-22b-distilled-transformer-comfy-int8-convrot.safetensors", "size": 21504034224 }, { "id": "text_encoder", "label": "Gemma 4 text encoder with LTX 2.5 projection", "url": "https://huggingface.co/Lightricks/LTX-2.5/resolve/main/text_encoders/gemma4-12b-with-proj-ltx-2.5-comfy-int8-convrot.safetensors?download=true", "target_subdir": "text_encoders", "filename": "gemma4-12b-with-proj-ltx-2.5-comfy-int8-convrot.safetensors", "size": 15372971786 }, { "id": "video_vae", "label": "LTX 2.5 video VAE", "url": "https://huggingface.co/Lightricks/LTX-2.5/resolve/main/vae/ltx-2.5-video-vae-bf16.safetensors?download=true", "target_subdir": "vae", "filename": "ltx-2.5-video-vae-bf16.safetensors", "size": 1472223346 }, { "id": "audio_vae", "label": "LTX 2.5 audio VAE", "url": "https://huggingface.co/Lightricks/LTX-2.5/resolve/main/vae/ltx-2.5-audio-vae-bf16.safetensors?download=true", "target_subdir": "vae", "filename": "ltx-2.5-audio-vae-bf16.safetensors", "size": 364866540 }, { "id": "spatial_upscaler", "label": "LTX 2.5 spatial upscaler x2", "url": "https://huggingface.co/Lightricks/LTX-2.5/resolve/main/latent_upscale_models/ltx-2.5-latent-spatial-upscaler-x2-bf16-1.0.safetensors?download=true", "target_subdir": "latent_upscale_models", "filename": "ltx-2.5-latent-spatial-upscaler-x2-bf16-1.0.safetensors", "size": 995778752 } ] } ] } | Saved preset/package list for the helper panel. Advanced users can edit it manually. |
Outputs (0)
No outputs