magic prompts
Rough ideas in,
production prompts out.
One boolean on the request. Clean prompts pass through untouched; rough ones — typos, other languages, a paragraph with one image buried inside — get rewritten into a prompt the model can actually use, tuned to the model you picked.
you send
"pls make product foto for our new candle, cozy vibes, like on a wooden table w/ some plants maybe??"
magic_prompt: truethe model sees
Product photograph of a lit artisanal candle on a rustic wooden table, surrounded by trailing green plants, warm cozy lighting, soft shadows, shallow depth of field
How it works
Magic Prompt is a single LLM pass between your request and the model: it extracts the visual intent from whatever you sent and writes the prompt the model should see. You never decide which case you're in — the rewrite does.
One flag, any model
Set it on any generate request, on every model in the catalog. Omit it or set it to false and your prompt goes through exactly as written.
magic_prompt: trueAlready good? Untouched.
The rewrite is conservative by design. A clean, model-ready prompt is kept almost unchanged — you pay no tax for getting it right.
kept as-isWrapper noise stripped
Instructions like "please create an image of" or "based on the description below" are removed. What survives is the image, not the framing.
noise removedYour details preserved
Subjects, counts, relationships, named entities, style, mood — kept exactly. Text that must appear in the image stays verbatim, in quotes.
intent keptNothing invented
Detail is added only when your request strongly implies it. No new objects, branding, characters, or artistic direction you didn't ask for.
no additionsNegative prompts too
Send a negative_prompt alongside and it's folded into the rewrite. On models that use one, a refined negative comes out the other side.
negative_promptTuned per model
A prompt that sings on one model falls flat on another. The rewrite knows which model you picked — models in the catalog carry their own prompting profile, and the output is phrased for the one that will run. The set of models with dedicated instructions grows steadily; the rest use a solid generic rewrite until theirs lands.
Style cards
Models can carry guidance describing what they respond to — the rewrite reads it and phrases the prompt accordingly.
per-model guidanceExample prompts
Curated examples of what works on that model steer the output toward phrasing the model was actually tuned for.
curated examplesTag-based families
Point the same flag at an SDXL family like Illustrious and the output switches to tags and model-specific keywords instead of prose. Same request, no extra work.
prose → tagsGeneric where it's enough
Models with a strong native enhancer of their own — Gemini, Grok Imagine — get the generic rewrite; a second layer of tuning there adds little.
generic rewrite"girl with silver hair, night city"openai / gpt-image-2
Portrait of a young woman with long silver hair standing in a neon-lit city street at night, cinematic lighting, shallow depth of field
john6666 / bismuth-illustrious-mix
1girl, silver hair, long hair, night, cityscape, neon lights, upper body, detailed background, masterpiece, best quality
Nothing hidden
A layer that rewrites your input has to be inspectable — you always see exactly what the model saw, on every task.
The rewrite is on the task
When the flag is on, the result carries a magic_prompt object with the exact positive — and negative, when produced — prompt the model received.
magic_prompt: { … }Off means off
Without the flag there's no rewrite, no LLM in the path, and no magic_prompt on the result. Your string goes to the model byte for byte.
opt-in onlyThe fine print
Currently free
The rewrite is billed as its own line item on the task's cost breakdown — and that line is $0 right now, on every model.
$0One extra LLM pass
The rewrite runs before generation starts, so it adds a moment up front — a fast model with automatic fallbacks keeps it short.
before generationIt's a rewrite, not a promise
Magic Prompt improves the odds, it doesn't guarantee the image. For pixel-exact prompt control, leave the flag off and send your own.
your callIt's a beta
The rewrite works today, and it's still being tuned model by model. Expect it to keep getting better — and occasionally to have room to.
betaGetting a weak rewrite on a specific model? Tell us on Discord — dedicated instructions for a model are exactly the kind of thing feedback moves up the list.