Nodes/FL PixelGen/FL PixelGen Model Loader
ComfyUI Node

FL PixelGen Model Loader

This loader is the whole workflow's front door

By filliptm·Created 6 months ago·Updated 4 months ago· 13
FL PixelGen Model Loader
    • model
    model_name
    devicecuda
    dtypebfloat16
    force_reloadfalse

    Every FL PixelGen workflow starts here. This node loads the actual image model - a JiT transformer denoiser from the PixelGen research codebase - and hands it to the graph as a PIXELGEN_MODEL that FL PixelGen Generate and FL PixelGen Train both eat. It's a thin, honest loader: pick the model, pick the precision, wire it up. Nothing clever, which is exactly what you want from the first node in a pipeline you don't fully trust yet.

    The thing worth understanding before you use it: PixelGen generates in pixel space, not latent space. There's no VAE anywhere in this pack - no encoder round-trip, no latent noise tensor, no decode step. The denoiser predicts directly on RGB pixels using flow matching. That's the whole selling point of the underlying research (VAE-free generation, which people in the community have been pointing to as the eventual fix for latent-space color drift), and it's why this loader looks nothing like a UNETLoader or a Flux checkpoint loader. You load one file, you get a model that outputs images.

    What you actually set:

    • model_name - a dropdown, and for now it has exactly one entry: PixelGen-XXL-T2I. It maps to a checkpoint (PixelGen_XXL_T2I.ckpt) hosted on the zehongma/PixelGen HuggingFace repo. Drop any .ckpt/.safetensors/.pt file into ComfyUI/models/pixelgen/ and the loader will list it too, so this is also how you'd run a future fine-tune.
    • dtype - bfloat16 (default) or float32. Keep bf16 on a GPU; if you're forced onto cpu, use float32 because plain bf16 on CPU is a compatibility gamble.
    • device - cuda or cpu. CPU works but you'll be waiting a while.
    • force_reload - the loader caches the model in memory keyed by name+device+dtype. Flip this to True when you want to bypass the cache, usually after swapping in a new file without restarting.

    The output is a single model (PIXELGEN_MODEL). It feeds FL PixelGen Generate, the LoRA loader, or FL PixelGen Train.

    Installing: it ships with the whole pack, so it's the shared story: in ComfyUI Manager search "FL PixelGen", or manually

    cd ComfyUI/custom_nodes
    git clone https://github.com/filliptm/ComfyUI-FL-PixelGen
    cd ComfyUI-FL-PixelGen
    pip install -r requirements.txt
    

    then restart ComfyUI. First run is the rude awakening: the loader auto-downloads the checkpoint from HuggingFace, and the model plus the Qwen3 text encoder can be several gigabytes. That's not a bug - it's the biggest "why is nothing happening" moment with this pack, so just let the progress bar sit there.

    The pack is by filliptm, the same person behind the MachineDelusions handles - a long-running SD community figure (LoRAs since 2023, an LTX-2 image-to-video adapter LoRA trained on 30k videos, a talk at the ComfyUI roundtable in Berlin). Not a random fork: someone who actually ships LoRAs, which matters because this pack trains them too.

    Watch for: the README wants 12GB+ VRAM for training; inference at 512² is more forgiving but don't expect a laptop card to coast. If the loader throws at import time, it's almost always a missing dependency from requirements.txt - timm and omegaconf are the ones people skip. And if you're new to flow-matching models, remember the defaults here are already tuned for one: CFG around 4, ~25 steps, no Karras. None of your SDXL sampler muscle memory applies.

    CategoryFL/PixelGen

    Inputs (4)

    NameTypeDefaultDescription
    model_nameCOMBOPixelGen model to load.
    deviceCOMBOcuda2 options: cuda, cpu
    dtypeCOMBObfloat162 options: bfloat16, float32
    force_reloadoptBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    modelPIXELGEN_MODEL