Nodes/Extra Models for ComfyUI/PixArt Checkpoint Loader
ComfyUI Node

PixArt Checkpoint Loader

PixArt Checkpoint Loader

By city96·Created 3 years ago·Updated 2 years ago· 538
PixArt Checkpoint Loader
    • model
    ckpt_name
    model

    PixArt had a real moment. Before Flux showed up, this was the model the community pointed to when they wanted proof that you didn't need a giant parameter count to get instruction-following that actually worked - "SD3-level at 0.6B parameters" was the line that made the rounds, and for a while people were seriously asking whether Stable Diffusion itself should just move to the PixArt architecture. It didn't happen - Flux ate the oxygen a few months later and the PixArt team ended up at Nvidia - but the model itself is still genuinely capable, and this loader is how you get it running in ComfyUI.

    Core ComfyUI has no idea what a PixArt checkpoint is; it's a DiT (diffusion transformer) architecture, not the UNet shape ComfyUI's built-in loaders expect. This node is ExtraModels' answer: point it at a checkpoint file and tell it which PixArt variant that file actually is.

    Inputs. Two, both required. ckpt_name is a dropdown built from whatever's sitting in your checkpoints folder - nothing shows up until you've actually downloaded a model there. model is the variant selector, and it matters more than it looks like it should: PixArt_XL_2 (the original alpha), PixArtMS_XL_2, and four Sigma variants including the 900M and 2K versions, plus ControlPixArtHalf / ControlPixArtMSHalf for ControlNet-flavored checkpoints. Pick the one that actually matches the file you downloaded - this isn't cosmetic, it's telling the loader how to construct the model architecture before it reads the weights in.

    Output. MODEL - wire it into your KSampler like any other model output.

    Getting a checkpoint. The alpha weights live in the PixArt-alpha HuggingFace repo - you almost certainly want PixArt-XL-2-1024-MS.pth, the 1024px version. Sigma's 1024 checkpoint is in the PixArt-Sigma repo, with 512 and 2K variants also available. Drop whichever you grab straight into your checkpoints folder.

    Installing the pack. Search "Extra Models for ComfyUI" in ComfyUI Manager, or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/city96/ComfyUI_ExtraModels
    

    Then pip install -r requirements.txt in your venv and restart. Installing xformers isn't strictly required but is strongly recommended - the author's own README says attention isn't fully optimized without it and images genuinely look worse.

    The VAE gotcha that bites people first. PixArt alpha and the original DiT-lineage variants share SD1.5's latent space, so a regular SD1.5 VAE works fine. Sigma does not - it needs an SDXL VAE, full stop. Loading a Sigma checkpoint with an SD1.5 VAE gives you garbled output that looks like a bug in the node when it's actually a mismatched VAE. Match your VAE to your model variant before you assume something's broken.

    Other things worth knowing before you dive in. You'll also need a T5 text encoder set up (PixArt uses T5 instead of CLIP - see the T5 Text Encode article in this pack for that half of the pipeline), and you'll want PixArtResolutionSelect to pick a resolution PixArt was actually trained on, since it doesn't tolerate arbitrary resolutions the way SD does. On the sampler side: the dedicated PixArt DPM sampler needs a negative prompt shorter than the positive one and only works at batch size 1 - annoying limitations that don't apply if you just use the regular KSampler, which the current version of this node supports fine.

    CategoryExtraModels/PixArt

    Inputs (2)

    NameTypeDefaultDescription
    ckpt_nameCOMBO0 options:
    modelCOMBO7 options: PixArtMS_XL_2, PixArtMS_Sigma_XL_2, PixArtMS_Sigma_XL_2_900M, PixArtMS_Sigma_XL_2_2K, PixArt_XL_2, ControlPixArtHalf, +1

    Outputs (1)

    NameTypeDescription
    modelMODEL