GPT Image 2 Prompt Selector 🎨
A 500-prompt library for GPT Image 2, right inside your graph
- prompt
Here's the thing about GPT Image 2: it's a closed OpenAI model, so you can't run it locally - the image has to come from an API call, and the part that stays on your machine is the prompt. That's exactly the job this pack is built around. GPT Image 2 Prompt Selector is the main node of T8mars/comfyui-gpt-image2-prompt-T8, a curated library of 500+ ready-to-use prompts with local thumbnail previews. Pick one, tweak it, and the node hands you a plain STRING to feed whatever API-image node you're already using.
The name of the pack is the honest part: it's a prompt picker, not a generator. It calls no API, needs no key, burns no credits. If you want the actual image, you wire the output into an OpenAI GPT partner node or a third-party wrapper (the external-api-nodes crowd), and the prompt goes along for the ride.
How it works
Everything lives in the pack's data/ directory. On first launch the pack builds local_prompts.json in the background from the upstream EvoLinkAI prompt collection, copies the preview images locally, and the dropdown widgets are populated from that file. Preview thumbnails are served from local files through a small HTTP route (/gpt_image2_prompt/image), not from external URLs - so the whole thing works offline once it's built.
The dropdown values look cryptic at first - [preset_0] [character] Character Case1 - but that string is just an encoded ID. The node parses the [preset_N] / [custom_N] prefix, looks up the entry, and resolves the text and image path. Selecting a prompt auto-fills the editable text box below, and the frontend even shows a hover preview as you roll the mouse down the list, which is genuinely nice when you're browsing 500 entries.
The inputs and output that matter
Three inputs, one output. You'll mostly touch these:
category- dropdown with 10 values:all,portrait,poster,character,ui,comparison, plusad_creative,ecommerce,other, andcustom. Filter the list before you browse.prompt_selection- the 529-entry dropdown of actual prompts. This is the picker.edit_prompt- multiline text. Selecting a prompt fills it in; whatever you type here is what comes out the other end. Leave it blank and it falls back to the original text, so you can just browse and wire it straight through if you don't want to edit.
The output is a single prompt STRING. That's the whole payload - wire it into your GPT Image 2 / GPT Image API node, or a text display, or wherever a prompt string needs to go. Nothing fancier.
Installing it
Via ComfyUI Manager, search "GPT Image 2 Prompts" and hit install. Or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-gpt-image2-prompt-T8
Restart ComfyUI. There are no model downloads and no pip requirements - the only real dependency is ComfyUI itself. The first launch kicks off a background data build, so the very first time you open a workflow the dropdown may be empty or the thumbnail area blank for a bit. If it never populates, you've got a broken build, and that's what the pack's Updater and Execution Checker nodes are for.
Gotchas worth knowing
The category list here is wider than on the pack's Saver node (which only offers custom, portrait, poster, character, ui, comparison) - so a prompt you save under portrait shows up in the Selector under the same name, but the option lists don't match 1:1. Also, because thumbnails load via the node's onExecuted UI payload, run the workflow once after adding the node so the canvas preview catches up. And one more: these are natural-language prompts - paragraphs describing light, mood, camera, style - not the tag-soup SD folks are used to. That's a feature, not a bug; GPT Image 2 is a language model and reads a sentence better than a comma list.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| category | COMBO | all | 10 options: all, ad_creative, character, comparison, ecommerce, other, +4 |
| prompt_selection | COMBO | [preset_0] [character] Character Case1 | 529 options: [preset_0] [character] Character Case1, [preset_1] [character] Character Case2, [preset_2] [character] Character Case3, [preset_3] [character] Character Case4, [preset_4] [character] Character Case5, [preset_5] [character] Character Case6, +523 |
| edit_prompt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |