Smart T2I Prompt Source
Same node as Picker, with the search aliases to prove it
- positive
- library_path
The name promises intelligence, so let's calibrate expectations: Smart T2I Prompt Source is byte-for-byte the same class as Picker T2I Prompt Source and the original Unified T2I Prompt Source in comfyui-prompt-library-nodes. One class, three registered names. The "smart" in the name is branding, not a feature gap - the intelligence is in the library lookups and the additions syntax, which all three share.
What it does: assembles a positive prompt from a JSON prompt library. Pick a quality prefix, choose up to two role entries with outfit dropdowns, sprinkle in appearance/pose/scene/camera/prop/clothing via the picker_* menus, and the node returns a finished, deduplicated positive string plus the loaded library path.
Where the "smart" actually lives
Two places, and they're worth understanding because they're the real value of this node.
First, the selection logic. Role dropdowns don't just store text - each selection is scored against library entries (exact id beats title match beats tag match beats content match), so you can refer to an entry by a short name and the node resolves it to the right content, including its outfits. (random) picks a seeded random entry, and seed controls it, so random is reproducible rather than a dice roll every queue.
Second, the additions syntax. The picker_* dropdowns are convenience wrappers that append alias: Title lines into additions. But additions is also a mini prompt language: @1.2 applies a (term:1.2) weight, -term removes a term from the final prompt, no.1girl ... scopes an addition to one of the two subjects, and scene: / pose: / camera: etc. resolve to library folders. This is where the node stops being a dropdown picker and starts being a prompt-engineering surface - you can do most of your A/B experimentation from the additions box without touching the library file.
Inputs and outputs
All widgets, no sockets. The ones you'll set: prefix, role_1/role_2, outfit_1/outfit_2, the six picker_* dropdowns, additions, manual_prompt, and seed. The two *_preview boxes are read-only, refreshed by the frontend extension so you can check the composition live.
Outputs: positive (STRING) → your positive CLIPTextEncode; library_path (STRING) → metadata or a debug note.
Same caveats as its twins: the negative_preset/negative_terms widgets in the schema are ignored by the code - never put your negatives here, use Negative Prompt Source. And the sanitizer strips Chinese characters from the final prompt, so keep library content in English tags if you want it to survive.
Installing it
Zero dependencies - no requirements.txt, nothing to pip. ComfyUI Manager → search "comfyui-prompt-library-nodes" → install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/2223290690z-hue/comfyui-prompt-library-nodes.git
Look for Smart T2I Prompt Source under Prompt Manager.
The honest recommendation
Because Smart, Picker, and the original Unified are all the same node, the choice between them is aesthetic. The one that's actually a different animal is Unified T2I Prompt Source v2 - it has a third role slot, a lighting picker, and no dead negative widgets. My advice: bookmark v2 as the node to actually use, and treat "Smart" as a search term you might run into while migrating old workflows. It'll work identically, just without the newer features.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| prefix | COMBO | 5 options: illustration quality, photo quality, concept art quality, quality only, none | |
| role_1 | COMBO | 4 options: (none), (random), Explorer, Researcher | |
| outfit_1 | COMBO | (first outfit) | 5 options: (none), (first outfit), Explorer / Field Gear, Researcher / Lab Coat, Explorer / City Casual |
| role_2 | COMBO | 4 options: (none), (random), Explorer, Researcher | |
| outfit_2 | COMBO | (first outfit) | 5 options: (none), (first outfit), Explorer / Field Gear, Researcher / Lab Coat, Explorer / City Casual |
| picker_appearance | COMBO | 2 options: (add appearance), appearance: Soft Backlight | |
| picker_pose | COMBO | 2 options: (add pose), pose: Looking Over Map | |
| picker_scene | COMBO | 2 options: (add scene), scene: Old Observatory | |
| picker_camera | COMBO | 2 options: (add camera), camera: Medium Shot | |
| picker_prop | COMBO | 2 options: (add prop), prop: Weathered Map | |
| picker_clothing | COMBO | 1 options: (add clothing) | |
| additions | STRING | — | |
| manual_prompt | STRING | — | |
| selected_terms_preview | STRING | — | |
| prompt_preview | STRING | — | |
| negative_preset | COMBO | 2 options: standard, none | |
| negative_terms | STRING | — | |
| seed | INT | 00–18446744073709550000 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| positive | STRING | — |
| library_path | STRING | — |