Every night, this Redditor sat down to generate AI images and burned the first ten minutes just retyping the same three paragraphs. Character description, product details, lighting style, all rewritten from scratch in prompt after prompt. u/Electronic_Resort985, deep into months of character work and product mockups over on r/PromptEngineering, finally got tired of it and found a fix that had nothing to do with switching models or upgrading tools.
Quick Start: what you’re getting here is a simple system for cutting repetitive prompt writing down to almost nothing. All you need is a plain text file or notes app, and about five minutes to set up your first few entries.
The Key Idea: Stop Writing Prose, Start Saving Objects
Here’s the shift. Instead of treating a character or product description as prose to rewrite every time, save it once as a labeled block and reference it with a short handle. Change the description in one place, and every future prompt pointing to that handle picks up the update automatically. Nothing drifts, and no accidentally reworded shirt color throws off the whole generation.
The author keeps blocks like this in a plain text file:
@maya: East Asian woman, early 30s, sharp jaw, straight black hair past shoulders, cream turtleneck or dark blazer. Confident but approachable. Small gold stud earrings only.
@product: matte black portable speaker, palm-sized, cylindrical, flat top, subtle LED ring at base, brushed aluminum accent band.
@style: muted film tones, soft light from upper left, shallow depth of field, slight grain, no HDR.
Every new prompt becomes: “@maya holding @product on a cafe table, @style.” That’s the whole thing.
Old Way vs New Way
- ❌ Old way: Retype the full character, product, and style description into every single prompt. Small wording changes creep in over a twenty-image session, and the model quietly drifts into a slightly different face or color each time.
- ✅ New way: Write the description once, save it under a handle, and reference it everywhere. Update the source once, and every future prompt inherits the fix.
This contributor tracked the difference directly: a twenty-image sitting that used to run over an hour came in closer to forty minutes once the handles took over, with noticeably tighter consistency across the batch.
How To Set This Up Yourself 🛠️
- Open a plain text file or notes app. A prompt-management tool works if you want it to persist across sessions, but a basic notes app is enough to start.
- Write your stable blocks once. One for the character, one for the product, one for the style or lighting, whatever repeats across your prompts.
- Give each block a short handle, like @maya or @product, so you can reference it without retyping.
- Build your prompts from handles, combining the saved handle with whatever’s new about that specific shot.
- Update in one place. Change a detail in the saved block, and it carries through every prompt from then on.
This works in any tool that takes text prompts, Midjourney included, since it’s really just a discipline around what gets saved versus what gets retyped. For character-heavy work specifically, the creator mentioned building one consistent character inside APOB AI using its Face-Lock setup, which does the same job but bakes the reference straight into the tool instead of a text handle.
The idea caught on fast in the comments too. One commenter, u/ph03n1xb34r, was already sketching out a stricter syntax for the same trick, something closer to a variable declaration than a loose handle: bracket the label, name it, then write the description underneath. Different formatting, same core move: separate the reusable part from the part that changes, write the reusable part once, and stop making the model reread it fifty times a day.
Why This Actually Matters
I liked how this Redditor framed the real bottleneck: it was never model speed, it was re-explanation. Every prompt made the model re-parse the same wall of text before it even reached the new part of the instruction. Once the stable parts stopped needing to be retyped, the model wasn’t doing anything smarter. The person prompting it just stopped wasting cycles on repetition.
If you’re running character-heavy or product-heavy generation sessions, try this on your next batch: pick one description you keep retyping, save it under a handle, and see how much of your session was actually re-explanation instead of real iteration. Then head over to the original r/PromptEngineering thread to see how other commenters are adapting the handle format for their own workflows.
Frequently Asked Questions
Q: Do I need special bracket notation like [VARIABLENAME: @handle], or is @handle alone enough?
The simple @handle approach works fine. Just type the handle in your prompt and keep your text file nearby as reference. The bracket notation from the comment is one person’s organizational preference, but it’s not required. Most people use a simple format: write the handle on one line (e.g., ": description here") and reference it with @ in prompts. Use whatever format you find easiest to scan.
Q: Will this work on all AI image generators, or just Midjourney?
This works anywhere you write custom prompts directly, like Midjourney, Stable Diffusion, or DALL-E. Keep your handles file nearby (notes app, prompt tool, separate browser tab) and copy-paste the @ reference into your prompts. If a generator uses dropdown menus or presets instead of text prompts, you’ll need to paste the full description directly, but the core idea still saves you time.
Q: How detailed should each description block be? Will too much description confuse the model?
2-4 sentences per handle is the sweet spot. The examples show a character in three sentences, a product in two, and an aesthetic in two. Include enough specificity that the model generates consistently (jawline shape, hair length, exact colors) without overthinking. If results vary wildly, add more detail; if the model seems confused, trim it down and focus on essentials.
Q: Can I blend multiple handles in one prompt or tweak a handle for a specific shot?
Yes, and that’s the beauty of it. Chain handles together ("@character holding @product in @style") or add tweaks directly in the prompt ("@character wearing red lipstick, @style"). Your saved handles stay locked in place, so you control consistency from one file while keeping everything after the @ flexible.
Stop retyping your character description into every single prompt. Here’s the @handle system I use instead.
by u/Electronic_Resort985 in PromptEngineering