FL PixelGen Generate
Live pixel-space sampling with a progress bar that actually shows the image forming
- model
- text_encoder
- images
This is the node you build the whole graph for. Give it the model from the model loader and the text_encoder from the encoder loader, type a prompt, hit go, and you get an IMAGE out. It's a complete text-to-image pipeline in one box - no KSampler, no latent, no VAE decode - because PixelGen works in pixel space with flow matching. The solver is hardcoded (AdamLM, order 2 by default, on a linear schedule), so all those scheduler knobs you spent months learning on SDXL don't exist here. That's fine; the defaults are sane.
The nice part you'll actually notice: live step-by-step preview. The node pushes a JPEG preview of the predicted clean image after every sampling step, so you watch the image assemble instead of staring at a frozen progress bar. It's a genuinely pleasant touch, and it makes dialing in a prompt feel like steering rather than guessing.
Inputs that matter:
prompt/negative_prompt- both multiline. Remember this is a Qwen3 LLM encoder: write full sentences, forget CLIP weighting.width/height- 128–1024, stepped by 32 (and internally rounded to a multiple of 32 anyway). 512² is the sweet spot on 12GB VRAM; 1024² is the top of the range and it shows.steps- 1–100, default 25. Flow matching doesn't need 50; 25 is plenty, and you can drop to 20 with little pain.cfg- default 4.0. Again: flow-matching territory, not SDXL. Karras-style scheduler tricks don't apply because there's no scheduler choice at all.seed- standard, full-range int.batch_size- 1–4, and 4 at 512² will test your VRAM.timeshift(optional, default 3.0) andsolver_order(optional, 1–4, default 2) - the two knobs that actually change the solver's behavior. Highersolver_orderis more accurate but slower;timeshiftmoves sampling effort around the trajectory. Leave both alone until you've run the defaults for a while.
Output: images, a standard ComfyUI IMAGE tensor ([B,H,W,C], floats 0–1). It plugs into the normal Save Image / Preview Image nodes, and because it's a plain image tensor you can stack anything on it - upscale, img2img-adjacent edits, whatever your existing graph does. The VAE-style decode is an identity (PixelAE) that just handles normalization, so what comes out of the solver is essentially what you see.
Install is the pack story - ComfyUI Manager search "FL PixelGen", or clone + pip install -r requirements.txt and restart. First run downloads the denoiser and Qwen3 encoder (multi-GB total) and that can look like a hang; it isn't.
Troubleshooting: if negative prompts seem to do nothing, that's the LLM-encoder family, not you. If your output is unexpectedly a different resolution than you typed, that's the 32-multiple rounding doing its job. And if generation fails with an out-of-memory, drop to 512², batch_size 1, and bfloat16 in the model loader before touching anything else. Also worth knowing: because this node runs its own bundled sampler, third-party sampler packs like RES4LYF don't apply - you can't route a SamplerCustom in here. It's a sealed box, but the box is well-tuned.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| model | PIXELGEN_MODEL | — | |
| text_encoder | PIXELGEN_TEXT_ENCODER | — | |
| prompt | STRING | A beautiful landscape | — |
| negative_prompt | STRING | — | |
| width | INT | 512128–1024 | — |
| height | INT | 512128–1024 | — |
| steps | INT | 251–100 | — |
| cfg | FLOAT | 4.00.1–10 | — |
| seed | INT | 00–18446744073709550000 | — |
| batch_size | INT | 11–4 | — |
| timeshiftopt | FLOAT | 3.00.1–5 | — |
| solver_orderopt | INT | 21–4 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |