DreamLite Generate/Edit
The 0.39B model that's supposed to do everything, in one node
- image
- image
If you've landed on DreamLite Generate/Edit, you were probably actually looking for DreamLite itself: a 0.39B "unified" diffusion model from ByteVisionLab that claims both text-to-image and text-guided editing in a single network, distilled down to 4-step inference so it runs on-device. This node is an unofficial wrapper - the README says so plainly - that calls DreamLite's own Python pipeline instead of trying to shoehorn it into ComfyUI's native KSampler stack.
Now the part nobody loves leading with: the weights are gated. ByteDance's public posture has long been "components open, products closed," and DreamLite has been sitting in internal approval and security review for ages - the community reads it as vapourware, and the README admits the wrapper has never been validated against real weights. Treat this as a front-row seat to a model that may or may not actually arrive. If it does, this is how you'd run it.
How it works
It's a diffusers-style pipeline bridge. The node locates your local clone of ByteVisionLab/DreamLite, adds it to Python's path, imports DreamLitePipeline (or DreamLiteMobilePipeline), then calls from_pretrained() on the model folder with your chosen dtype and device. The loaded pipeline is cached in memory and keyed by model path, repo, variant, dtype and device - so repeat runs are fast but switching variants leaves the old one resident.
steps=0 uses the official defaults (base=28, mobile=4). On the base variant, guidance_scale and image_guidance_scale both get passed through; the distilled mobile variant skips them. Seeds run through a CPU generator, and the output is resized with LANCZOS to your requested dimensions if the model returned something else.
The inputs that actually matter
dreamlite_repo- path to your clone of ByteVisionLab/DreamLite. Leave blank only if thedreamlitepackage is already importable or nested inside the node folder.model_path- where the weights live, e.g.models/DreamLite-baseormodels/DreamLite-mobile.variant-basefor quality,mobilefor the 4-step distilled speed.prompt- pluswidth/height. Theimageinput is optional, and here's the nice bit: plug one in and the node becomes text-guided editing instead of generation.size_mode-use_input_image_sizesnaps output to your source image's dimensions, which is what you want for edits.steps,dtype(bfloat16 default),device(auto/cuda/cpu), andseed- all worth leaving alone until something's wrong.
Output is a single image (IMAGE) - wire it into a Preview or Save Image node like any generator.
Installing, honestly
ComfyUI Manager can install the wrapper pack if it finds comfyui_dreamlite, but the DreamLite repo and its weights are manual either way. The real sequence:
cd ComfyUI/custom_nodes
git clone https://github.com/lussifa/comfyui_dreamlite
cd comfyui_dreamlite
pip install -r requirements.txt
Then clone https://github.com/ByteVisionLab/DreamLite locally, drop the weights into DreamLite/models/DreamLite-base (or -mobile), restart ComfyUI, and set the two path fields. The dependency list is no joke - pinned transformers==4.57.3 plus diffusers, accelerate, peft, einops, safetensors. Custom nodes share one Python environment with no isolation, so a hard-pinned transformers is a real collision risk with other nodes you run.
Troubleshooting
- "Could not import DreamLite" - you didn't clone the repo or
dreamlite_repopoints at the wrong folder. The node even tells you this in its error text. from_pretrainederrors -model_pathis wrong or the weights aren't there, which is likely given they're gated.- Switching variants - the old pipeline stays cached; run the pack's DreamLite Clear Cache node or restart.
- Everything hangs on load - check
device=cudais honest about your GPU, and considerfloat16over bfloat16 on older cards.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| dreamlite_repo | STRING | Path to the cloned ByteVisionLab/DreamLite repo. Leave blank if dreamlite is already importable or repo is nested in this custom node folder. | |
| model_path | STRING | models/DreamLite-base | Local path to DreamLite-base or DreamLite-mobile weights. |
| variant | COMBO | base | 2 options: base, mobile |
| prompt | STRING | a dog running on the grass | — |
| width | INT | 102464–4096 | — |
| height | INT | 102464–4096 | — |
| size_mode | COMBO | use_widget_size | 2 options: use_widget_size, use_input_image_size |
| steps | INT | 00–100 | 0 uses the official default: base=28, mobile=4. |
| guidance_scale | FLOAT | 3.50–20 | — |
| image_guidance_scale | FLOAT | 1.00–20 | — |
| seed | INT | 420–18446744073709550000 | — |
| device | COMBO | auto | 3 options: auto, cuda, cpu |
| dtype | COMBO | bfloat16 | 3 options: bfloat16, float16, float32 |
| imageopt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |