StableYogi Prompt
Fresh Prompts on Every Queue — a Paid API That Writes Them for You
- prompt
The whole pitch is one sentence: you never type another prompt. StableYogi Prompt is a single node from the Stable Yogi crew (the same brand behind those realism checkpoints on Civitai) that fetches a finished prompt string from their paid Prompt Engine API every time you queue, and hands it to your CLIP Text Encode. Pick a subject, hit Queue, get a fresh variation on that subject - forever. No local LLM, no model download, no text file of ideas you've already burned through. It's "make me a prompt, on demand, as a service."
Here's the honest framing before you get excited. In the wider ecosystem, "generate me a prompt" is normally a local LLM job - free, offline, uncensored. You only reach for an API when you want it service-managed and don't mind paying per call and accepting the filter that comes with it. This node is unapologetically the API path, and the tier it ships configured for is SFW. So its real audience is people who want endless, quality-curated variety on a few subjects without hosting anything.
How it works
The mechanism is elegant in a hacky way: the node's IS_CHANGED returns float("nan"), which is ComfyUI-speak for "never cache me." That forces it to re-execute on every queue, and each run makes exactly one HTTP call to the Prompt Engine with your key in an X-API-Key header, asking for one prompt. No caching, no pre-fetching, nothing stored locally - 1 queue = 1 prompt = 1 call against your allowance. That's also why it costs you real quota: if you run a batch of ten, that's ten calls.
Two design choices are worth knowing. First, errors don't kill your queue - they come back as [StableYogi] ... text in the prompt output, so you see the real reason in the text box instead of a silent failure. Second, your key is never saved into the workflow file. Paste it into api_key once; the node validates it with a test call, then stores it in a git-ignored local config (stableyogi_portal/providers.local.json) so shared workflows don't leak it. Clear the field afterward and it keeps using the saved key.
The inputs that matter
- subject (enum: Solo Female, Solo Male, Couple F+M, Couple F+F, Couple M+M) - who the prompt is about. This is the whole direction of the output, so it's the one you'll actually change between queues.
- trigger - LoRA or character trigger word, prepended. If you're using a character LoRA, put its trigger here or the generated prompt will never call your character.
- quality - a suffix added to every prompt. The default
ultra-detailed, photorealistic, sharp focusis fine; edit it to taste. - style -
nl(a natural-language sentence) ortags(a booru-style comma list). Match this to your text encoder: tags suit SDXL-lineage checkpoints like Illustrious, Pony, and NoobAI; sentences suit Flux and the LLM-encoded models. Get this wrong and you'll be fighting the output.
The output is a single prompt string - wire it into a CLIP Text Encode's positive (or negative) input like any other text.
Installing it
Easiest: ComfyUI Manager → search "comfyui-stableyogi-prompt" (or "StableYogi") → install → restart. Or do it by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/Stable-yogi/comfyui-stableyogi-prompt
# restart ComfyUI
No extra packages beyond requests (with a stdlib fallback built in), no model downloads - the "model" lives on their server. After restart, grab an account key from stableyogi.com (Settings → Prompt Engine API), paste it into api_key once, clear it, and wire prompt → CLIP Text Encode.
What goes wrong
[StableYogi] Add your API key (sy-...)- nothing saved yet.Invalid or missing API key- 401; double-check the key, they start withsy-.This is a Pro feature - upgrade- 403, you're below the tier that reaches this endpoint.⏳ Please wait a moment- rate limited; the node backs off ~30 seconds before retrying. If you batch heavily, that's your quota draining in real time.Service unreachable- network or their side is down. The node tells you instead of fabricating a prompt.
One more thing to know: this node is brand new, with essentially zero community footprint yet. It's a thin wrapper around one company's API, so your workflow's fate is tied to that service staying up and to the quality of their prompt writer. Treat its output as raw material - if you're the type who spends an hour hand-tuning one prompt, this isn't your speed, but for "surprise me, fifty times" it does exactly what it says.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| subject | COMBO | 5 options: Solo Female, Solo Male, Couple F+M, Couple F+F, Couple M+M | |
| trigger | STRING | LoRA / character trigger word, prepended to the prompt. | |
| quality | STRING | ultra-detailed, photorealistic, sharp focus | Quality suffix added to each prompt. |
| style | COMBO | 2 options: nl, tags | |
| api_keyopt | STRING | Paste once to save it locally, then you can clear it. Leave empty to use the saved key. | |
| refreshopt | BOOLEAN | false | Resets the node's status. Every queue already fetches one brand-new prompt (1 call = 1 prompt = 1 from your allowance) — nothing is stored locally. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |