DiTLabelSelect
Your prompt is a dropdown of 1,000 ImageNet classes
- class_labels
Here's the thing nobody warns you about with city96's DiT pack: there is no text anywhere. DiTLabelSelect is your prompt, and your options are 1,000 ImageNet class names - "tench, Tinca tinca," "goldfish," "toilet tissue, toilet paper, bathroom tissue." That's the entire vocabulary of the underlying model. Meta's class-conditional DiT was trained to answer one question - which of these 1,000 things is in the picture? - so there's no CLIP, no natural language, no negative prompt, no "masterpiece, trending on ArtStation." This node exists to turn that dropdown into something the sampler can eat.
The whole pack is a WIP lab bench, remember: the README calls it an old repo and points you to ComfyUI_ExtraModels for maintained DiT support, and the models it talks to are the research checkpoints from facebookresearch/DiT. You're playing with a slice of diffusion history - class-conditioned generation, the thing text-to-image replaced - and this node is how you order from its menu.
How it works
The pack ships labels/imagenet1000.json, and this node renders its values as the dropdown you see. Pick a name and it maps back to the integer index - that integer is what the model's label embedding actually consumes. The output, class_labels (DITLAB), wires straight into DiTSampler. One input, one output, no options. It's almost offensively simple, and that's the point: the model speaks numbers, and this is the friendly face on top.
The one thing that surprises people: there's no "None" or empty option in the dropdown, even though the loader's class-counting math assumes an empty token exists. That's deliberate. The empty class isn't a label you choose - the sampler bakes it in as the unconditional half of classifier-free guidance, and you never see it.
Why you'd reach for it
Because the alternative is typing numbers into a JSON file with 1,000 entries. The dropdown is the usable surface of a research toy. And since labels are just integers under the hood, you can chain DiTLabelCombine after this to condition on two classes at once - "goldfish" plus "tiger shark," if you're feeling chaotic.
Installing it
# ComfyUI Manager → Install Custom Nodes → search "ComfyUI_DiT"
# or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/city96/ComfyUI_DiT
# then restart ComfyUI
No requirements.txt, no extra pip packages. The label list comes bundled with the pack, so there's nothing to download for this node specifically - just the DiT checkpoint for the loader.
Troubleshooting
Honestly? It barely has failure modes. It's a data lookup: a name in, an integer out. The closest thing to a gotcha is conceptual - expect the results to look like a model that only knows 1,000 nouns, because that's literally what it is. Grainy, weird, and occasionally great. If the output looks wrong, it's almost never this node's fault; check the sampler's cfg and whether your VAEEncode is on the SD 1.5 VAE first.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| label_name | COMBO | 1000 options: tench, Tinca tinca, goldfish, Carassius auratus, great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias, tiger shark, Galeocerdo cuvieri, hammerhead, hammerhead shark, electric ray, crampfish, numbfish, torpedo, +994 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| class_labels | DITLAB | — |