UMTW Custom Prompt Selector
Pick one of 11 test prompts from a dropdown — and get a clean STRING out the other side
- CUSTOM PROMPT
You know the drill: you're testing a checkpoint (or a LoRA, or a sampler setting) and you want the same handful of scenes run across every variation. But your positive prompt lives inside one CLIP Text Encode widget, so switching scenes means paste, delete, paste again - and praying you don't queue the wrong one. The UMTW Custom Prompt Selector exists to kill that. One dropdown picks which of your saved test prompts goes forward, and it hands you a bog-standard STRING on the way out.
It's the text-side of MarwanDSAI's comfyui-mdsnodes pack, which is built to drive the author's "Ultimate Model Tester Workflow" on Civitai. The pack's other nodes route models and parameters around a test harness; this one routes the words.
How it actually works
Read this twice, because it's counterintuitive. The dropdown - test_prompt - is filled with eleven labels like 5: Gym Overhead Portrait or 11: Egypt Desert Goddess. Those labels are names, not content. The node's optional inputs, numbered 1 through 11, hold the real prompt text for each scene.
On execution the node splits the selected label at the colon, takes the number off the front, and returns whatever text sits in the matching numbered slot. Pick 5: Gym Overhead Portrait and it emits the contents of slot 5 - no more, no less. The dropdown is a switch, not a text box: the label says which scene, the numbered slot says what that scene actually is. If you edit the node source to rename or add scenes, matching slots generate themselves - the code builds one optional input per dropdown entry, so the two can't drift apart (a small courtesy from the author).
The inputs and outputs that matter
Only one output exists: CUSTOM PROMPT, a plain STRING - "the prompt selected via the combo box." That's the whole point. To feed a stock CLIP Text Encode, right-click its prompt field and choose Convert widget to input, then connect this output there. It also routes happily into string-merge nodes, prompt extenders, metadata, or the context-style hubs in this same pack.
test_prompt(required): the dropdown. Which scene you're testing this run.1–11(optional): the actual prompt text for each scene. The author marked these as connect-only string sockets, so wire a text source into the ones you use (aPrimitiveStringworks); slots you leave unwired read as empty.
Why the "plain STRING" fuss?
You'll see that phrasing in the node's description and it reads like marketing. It isn't. ComfyUI v0.30+ - and the Nodes 2.0 schema rewrite that landed with it - tightened socket-type enforcement at node and subgroup boundaries, and values pulled raw out of combo widgets started getting rejected when routed across them. That rewrite is still shaking out across the ecosystem, breaking rendering and wiring for packs that leaned on loose typing. This node sidesteps it entirely by returning a standard STRING, the one type every text socket accepts. If you're on a bleeding-edge ComfyUI, that's the concrete reason to reach for this instead of a bare combo or an older text selector.
Install
No extra packages - the pack's requirements are empty and it runs on stock ComfyUI.
cd ComfyUI/custom_nodes
git clone https://github.com/MarwanDSAI/comfyui-mdsnodes
Restart ComfyUI, then find UMTW Custom Prompt Selector under MDSNodes → text. Prefer the Manager? Search for ComfyUI-MDSNodes and hit Install.
Gotchas
The big trap: labels are names, slots are content. Select a scene whose slot you never wired and you'll get an empty string out - an effectively blank positive prompt, which is not what you meant to test. Fill the slots you use before you queue.
Also set your expectations: this node shipped in pack v1.5.0 on September 3, 2026, and there's zero community chatter about it yet. It's a five-line string router, so if anything misbehaves the likely culprit is your ComfyUI build's schema enforcement, not this node.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| test_prompt | COMBO | 1: Runway Portrait | 11 options: 1: Runway Portrait, 2: Glamorous Night in Leather, 3: Prone Elegance, 4: Arched All-Fours Gaze, 5: Gym Overhead Portrait, 6: Women garden relax time, +5 |
| 1opt | STRING | — | |
| 2opt | STRING | — | |
| 3opt | STRING | — | |
| 4opt | STRING | — | |
| 5opt | STRING | — | |
| 6opt | STRING | — | |
| 7opt | STRING | — | |
| 8opt | STRING | — | |
| 9opt | STRING | — | |
| 10opt | STRING | — | |
| 11opt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CUSTOM PROMPT | STRING | The Prompt selected via the combo box. |