APNext Typography
Font, style and word-art vocabulary for text-in-image prompts
- prompt
- random
If you're generating logos, posters, or any image where the lettering is the point, this node hands you the vocabulary for it. APNext Typography carries 67 named fonts (Garamond, Bodoni, Akzidenz Grotesk), 56 font styles (Bold Italic, Condensed, All Caps), 44 typography categories (Art Deco, Blackletter, Didone), a features list, and 103 word-art treatments like "Burning Text", "Beveled Text" and "Chrome Text". It's the design-vocabulary layer for text prompts.
One honest caveat up front, because it decides whether this node is worth your time: whether you get readable text at all depends far more on your model than on your prompt. Older SDXL-lineage checkpoints are bad at legible text no matter how you describe the font. Flux, Ideogram and the newer LLM-encoded models are dramatically better at it. This node styles the text; it can't make a model render letters it fundamentally can't spell.
How it works
Each dropdown is a word list - None, Random, Multiple Random, or a specific pick. Your typed prompt (which is where you'd put the actual words you want rendered, quoted) is the base; the typographic terms append and join on the separator. The seed reproduces a draw.
Naming a real typeface is the strongest move, same principle as naming a real camera elsewhere in this pack - "Bodoni" is a concrete referent, "fancy font" is not. The word-art list is more of a novelty effect layer (bubbly, neon, graffiti) and behaves like a style tag.
Inputs and outputs that matter
- prompt (multiline, required) - put the text you want to appear here, in quotes, plus any scene context.
- fonts - the highest-signal dropdown; a real typeface name steers the letterforms.
- types and font_styles - broad category and weight/slant controls.
- word_art - decorative treatments; fun, but treat as an effect, not structure.
- seed - lock a result; attributes (boolean) folds in extra descriptor tags.
Outputs: prompt (base plus the typography terms) and random (just the random additions).
Installing it
ComfyUI Manager: search comfyui_dagthomas, install, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/dagthomas/comfyui_dagthomas
cd comfyui_dagthomas
pip install -r requirements.txt
The full pack's dependencies are for its LLM and image-FX nodes; this node needs none of them and no API key.
Common issues
The big one isn't the node, it's expectations: if your text comes out as garbled pseudo-letters, that's your checkpoint, not the prompt. Switch to a text-capable model (Flux, Ideogram, a modern Z-Image-class model) before you blame the font list. Keep the actual words short - models spell three words far more reliably than a sentence.
Second, don't randomize fonts, types, and word_art together; a burning chrome blackletter Garamond is four conflicting instructions and you'll get none of them. Pick one typeface or one word-art treatment. And as with the rest of the dagthomas prompt nodes, the phrasing is SDXL-era tags - on LLM-encoded models take the picks and write them into a plain instruction ("the word 'OPEN' in a bold Art Deco typeface"), which those models read far better than a comma-separated tag pile.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| separator | STRING | , | — |
| stringopt | STRING | — | |
| seedopt | INT | 00–18446744073709550000 | — |
| attributesopt | BOOLEAN | false | — |
| fontsopt | COMBO | None | 67 options: None, Random, Multiple Random, Adobe Garamond Font, Akzidenz Grotesk Font, Archer Font, +61 |
| font_stylesopt | COMBO | None | 56 options: None, Random, Multiple Random, All Caps Style Font, Black Italic Style Font, Black Style Font, +50 |
| typesopt | COMBO | None | 44 options: None, Random, Multiple Random, Art Deco Typography, Bitmap Typography, Blackletter Typography, +38 |
| featuresopt | COMBO | None | 45 options: None, Random, Multiple Random, Airy Spacing, Angled Stress, Angular Terminals, +39 |
| word_artopt | COMBO | None | 103 options: None, Random, Multiple Random, Animal Print Text, Arched Text, Argyle Text, +97 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| random | STRING | — |