FL PRXPixel Model Loader
FL PRXPixel Model Loader, explained
- pipeline
Every PRX Pixel workflow in ComfyUI starts with this node, because it's the only thing that can produce the pipeline object the generator needs. Think of it as a checkpoint loader that happens to use Diffusers instead of ComfyUI's native model system. It loads Photoroom's PRX Pixel - a 7B pixel-space text-to-image model - into memory, caches it, and hands it off as a single PRXPIXEL_PIPELINE output. That's the entire job, and it does it with fewer knobs than most checkpoint loaders you've used.
PRX Pixel is genuinely pixel-space: it diffuses on RGB pixels directly and has no VAE, which is why this loader is so small. There's no VAE to find, no text-encoder to misconfigure, no CLIP type to get wrong. What the node is really managing is three things: a ~17.5 GB download, a dtype, and a cache.
What you actually set
model_name- a single choice,Photoroom/prxpixel-t2i. This is a one-model pack; if Photoroom ships a successor, it'll probably show up here.device-cudaif you have a working GPU,cpuotherwise. The default picks whatever's available; the example workflow usescuda.dtype-bfloat16(default),float16, orfloat32. bf16 is what the model card is built around and it's what you want on any Ampere-or-newer card. If you're on older hardware without bf16 support, drop tofloat16;float32is the "I have 48 GB and no patience for my own life" option.offload- flips onenable_model_cpu_offload(), which shuttles parts of the model between CPU and GPU to fit on smaller cards. Costs speed, buys VRAM. On by default it is not - it's off, and honestly fine to leave off until you OOM.force_reload(optional) - the loader caches pipelines by model/device/dtype/offload combo, so the second run is instant. Flip this to true when you've swapped something and want to nuke the cache and reload.
What happens under the hood
On first load it calls DiffusionPipeline.from_pretrained on the Hugging Face repo, which means a long wait and a disk hit while ~17.5 GB lands in your HF cache. It then inspects the installed Diffusers build's __call__ signature and records which parameters it supports - so if your Diffusers version can't take a negative prompt or resolution binning, the generator simply won't send them, rather than crashing. That's a thoughtful little compatibility shim, and it's why the pack insists on pinning a specific dev wheel of Diffusers: PRX Pixel's pipeline only exists on a Diffusers development branch, and the requirements file installs the matching prebuilt wheel from Photoroom's Space so you don't have to fight a git-branch install that half the internet already failed at.
One more trick: the pack registers a prxpixel model folder inside your ComfyUI models directory. Drop a local copy of the repo there and the loader will prefer it over re-downloading - handy if you've already got the weights or want to run fully offline.
Installing the pack
It's on the Comfy Registry, so ComfyUI Manager is the easy path - search "ComfyUI-FL-PRXPixel". Or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI-FL-PRXPixel.git
cd ComfyUI-FL-PRXPixel
python -m pip install -r requirements.txt
Then restart ComfyUI. Watch the requirements file: it pulls transformers>=4.57, accelerate, safetensors, huggingface_hub, and a diffusers-0.39.0.dev0 wheel from Photoroom's HF Space. That dev wheel is the real dependency - if pip skips it or your ComfyUI-managed environment pins Diffusers to a stable release, the loader will import a PRXPixelPipeline fallback path or fail to find the pipeline class entirely. If you get an import error about PRXPixel, check which Diffusers is actually installed first. CUDA + bf16 is strongly recommended, and Python 3.10+ is required.
The honest gotchas
- The first load is a 17.5 GB download. Budget for it, and don't judge the node by the first run.
- It's a Diffusers pipeline, not a ComfyUI checkpoint. You can't swap it into existing SD/Flux workflows, and no other node type accepts its
PRXPIXEL_PIPELINEoutput - that's by design, it only feeds the generation node. - This pack is text-to-image only. Photoroom's model may grow img2img or inpainting support; this loader and its one generator sibling haven't shipped it yet.
Once it's loaded you'll barely think about it again - which is the point. The pipeline gets cached, the generator does the work, and the loader just sits there quietly holding 17.5 GB of pixels-space goodness.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | Photoroom/prxpixel-t2i | 1 options: Photoroom/prxpixel-t2i |
| device | COMBO | cpu | 1 options: cpu |
| dtype | COMBO | bfloat16 | 3 options: bfloat16, float16, float32 |
| offload | BOOLEAN | false | — |
| force_reloadopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| pipeline | PRXPIXEL_PIPELINE | — |