Midjourney Style Prompter
Turns rough ideas into Midjourney-style prompts (it does not run Midjourney)
- prompt opt
Name one thing up front so you're not disappointed later: this node does not call Midjourney. It has no API key for Midjourney, no way to submit a job, and nothing leaves your machine except a text request to an LLM endpoint. What it does is take your rough description and rewrite it into the comma-separated, parameter-suffixed format Midjourney prompts are famous for - [Subject], [Action/Context], [Art Style/Medium], [Lighting], [Colors], [Composition], --ar 16:9 --v 6.0. You get a string out the prompt opt output and decide what to do with it: paste it into Midjourney, feed it to a ComfyUI model that likes natural language, or use it as inspiration.
This is the classic LLM-assisted prompt enhancer from the "blank page problem" school - you type "a red fox in a snowy forest at dawn," the LLM does the structured rewriting, and out comes something with lighting, style, composition and a version flag already attached. It sits in the graph, upstream of the sampler, operating purely on text. Mechanically it's the same as the rest of the pack: chunk the input at 400 characters, send each chunk to an OpenAI-compatible chat endpoint with a system prompt that says "You are a professional Midjourney prompt engineer," stitch the results, and hand back one string. temperature (default 0.3, range 0–2) controls how wild the rewrite gets; lower is safer for keeping your subject intact.
The inputs are a short list:
prompt- required, the rough idea.temperature- creativity dial, 0.3 default.apiBaseUrl,apiKey,model- where the LLM lives and which one to use.
And honestly that's it - seed sits on the node but the code never uses it, so ignore it. The output prompt opt is a plain STRING; wire it into any text input or a display node.
Where people get burned with this specific node: the default apiBaseUrl is https://ai.t8star.cn//v1 - yes, double slash and all - which is an internal endpoint that only works inside the org that built this pack. If you're not in that org, the node will return an error until you override apiBaseUrl with your own OpenAI-compatible endpoint or set the COMFYUI_RN_BASE_URL / COMFYUI_RN_API_KEY environment variables. And there's no requirements.txt in the pack, so if ComfyUI throws an import error, pip install openai in your venv. One content caveat while we're here: the --ar 16:9 --v 6.0 suffix it appends is Midjourney parameter syntax. It's harmless text if you feed the result into a ComfyUI model, but a couple of tokens of noise - the KB's advice on LLM enhancers applies: keep the job narrow, and expect the model to sometimes invent detail you didn't ask for.
Install is standard: ComfyUI Manager → search "RunNode Prompter", or git clone https://github.com/SF-Runnode/ComfyUI_rn_prompter into custom_nodes, restart. No model files to download - it's an API wrapper, so the real prerequisites are an LLM endpoint and a key. Given the pack has essentially no community presence (zero comfy.icu impressions, no threads), treat it as a small internal tool that escaped; it's a fine prompt-formatter once you point it at your own API, and not much more.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| seedopt | INT | 1000–18446744073709550000 | — |
| temperatureopt | FLOAT | 0.30–2 | — |
| apiBaseUrlopt | STRING | default | — |
| apiKeyopt | STRING | default | — |
| modelopt | STRING | default | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt opt | STRING | — |