Prompt Techniques And Idea Iteration (Hard)
Creating consistent characters with Midjourney
If you’ve been experimenting with Midjourney for a while you probably noticed different styles of Midjourney prompts: from comma-separated lists to long prose-like texts or prompts with carefully structured and labeled parts.
In this article, we will look at the most popular of these approaches and explore their strengths and weaknesses. We’ll cover:
Additive prompting
Category prompting
Narrative prompting
Interrogative prompting
Single concept prompting
Multi-Prompts / Prompt Weights
Prompt Iteration
Additive prompting
This is an approach similar to how we would interact with search engines: adding all the desired elements in a comma-separated list, although some may opt for pipes “|” or semicolons “;”. For a single prompt, it doesn’t matter which one you choose, but since Midjourney released its V5 model, I’ve tried to avoid commas whenever possible, as this makes things much easier if you want to use parts of your prompts with Midjourney’s permutation feature (more on that later).
Pros:
Fast and intuitive
Encourages shorter prompts
Cons:
May become cluttered
Determining semantic overlaps can be challenging in longer prompts
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A700%2F1*4A7gnwj3OAVl5bWL6zYLNg.png&width=768&dpr=4&quality=100&sign=ac703137&sv=1)
You can add as many elements as you like to steer Midjourney in the direction you want. However, you should follow a specific order as the prompts get longer: Things that come at the very end might lose effectiveness in long prompts. For example, have a look at the Midjourney Cheat Sheet.
Additive prompting without considering prompt anatomy also leads to interesting results, especially with short prompts. However, it is less controllable.
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A700%2F1*1RYkgEC-vwxHVnbZO3s6kg.png&width=768&dpr=4&quality=100&sign=f9819d77&sv=1)
Category Prompting
This approach also separates elements with commas, pipes, or semicolons but additionally adds a category name in front of groups of elements. The category names are not fixed, try to find what works best for you. Over time you will come up with sets of categories that fit your use case and style (cinematic images, product photography, AI Art, etc.)
Pros:
clear and structured
very well suited for automation with ChatGPT (see below: Prompt-Iteration)
easy to tweak, especially when it comes to multi-prompts (see below: Adding Weights: Multi-Prompts)
Cons:
as with long prompts in general: you can lose control in the sense that you might overlook which phrase does what, or overload the prompt with things that no longer have any effect
Here’s the above prompt “translated” into a category prompting style:
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A700%2F1*w8hpO4BjXjuC9-AUQgiXyQ.png&width=768&dpr=4&quality=100&sign=2dfbcf5b&sv=1)
Category prompting comes with an additional field for experimentation. The category names do have a subtle influence on the images. For example, here I used the same prompt to cycle through different names for the starting category (using IMAGE, IMAGE_TYPE, MEDIUM, VISUAL_FORMAT). Thanks to the new permutation feature, we can prompt for this in one go:
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A2600%2F0*WKJ4SPmlo28tuy7S.png&width=768&dpr=4&quality=100&sign=78387ef7&sv=1)
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A2600%2F0*GreatZmXjqDK-q-T.png&width=768&dpr=4&quality=100&sign=59f03877&sv=1)
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A2600%2F0*hCwyZuyap--tfvGB.png&width=768&dpr=4&quality=100&sign=e63e7951&sv=1)
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A2600%2F0*-cDDkb9IzySVPMXJ.png&width=768&dpr=4&quality=100&sign=5670748c&sv=1)
Another technique that the category prompts help you with is flipping certain aspects of the original prompt. Of course, you can do this with any prompt, but the categories make it fairly easy to find the spots where you want to make changes. Here’s an example with the “IMAGE” category:
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A700%2F0*F9xcRrM__WxdSjw0.png&width=768&dpr=4&quality=100&sign=c2a920b&sv=1)
Here’s another one:
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A700%2F1*EmkQ9HDiwfYi1c4w6_1uKw.png&width=768&dpr=4&quality=100&sign=49209b5f&sv=1)
The third advantage of this type of prompt is that you can make them into multi-prompts quite easily. In multi-prompts, the parts of a prompt are separated by a double colon and accompanied by a number that indicates the relative importance of each part. This gives you more control over the prompt elements you want to emphasize. Here is an extreme example to illustrate this:
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A700%2F1*sgxASsNtbY7WsPJp6faVGw.png&width=768&dpr=4&quality=100&sign=d2751a1a&sv=1)
Narrative Prompting
This became more popular with V5 when Midjourney developers announced that the latest model would understand natural language better. Initially, this led some of us to start prompting entirely in prose style, which is actually not always the best idea.
But narrative prompting does have its advantages, especially when approaching a scene from its emotional side or when exploring new ideas or trying to find improvements for existing prompts.
Pros:
great for exploration and experiments
Cons:
harder to analyze and control
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A700%2F1*UCkXkwYbKverNd68gt4BlQ.png&width=768&dpr=4&quality=100&sign=154485ea&sv=1)
Interrogative Prompting
This is an underrated form of prompting steming from the days of V3 I would say. Shout outs to Eroteme Art who made this type of prompting an essential part of their artistic style.
Pros:
great for exploration and experimentation
can lead to unexpected and very artsy results
Cons
unstructured, harder to control
Here’s the above translated into an interrogative approach:
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A700%2F1*3WrApcvGzrW3C_xIUI_MPQ.png&width=768&dpr=4&quality=100&sign=fb498e1d&sv=1)
Single Concept Prompting
This is a great approach for the initial exploration of themes, characters, and places that you can later start to combine into longer and more structured prompts. The core idea here is to only use a single concept and tweak it until you think it’s right.
For example from:
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A700%2F0*0B9-e-D4pLQiMnf_.png&width=768&dpr=4&quality=100&sign=2fb56593&sv=1)
To:
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A700%2F0*OMWXcmsC4anH60c_.png&width=768&dpr=4&quality=100&sign=4c279ffb&sv=1)
Prompt Iteration
You can use Midjourne’s new permutation feature to cycle through different prompting techniques. Make sure you don’t use commas as structural separators, as they are part of Midjourne’s permutation syntax. Replace them with pipes “|” or semicolons “;”.
Here’s an example playing with the idea of “alien art”:
After you confirmed this:
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A700%2F1*6XfVHtKs37UT4MzXSFI28Q.png&width=768&dpr=4&quality=100&sign=d5fc9f2d&sv=1)
You will get an overview of your prompting styles and how your idea gets interpreted with each of them:
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A2912%2F1*91_G3O9dSSk3SWgvBsKe1Q.png&width=768&dpr=4&quality=100&sign=c5e37734&sv=1)
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A2912%2F1*P8MnyoY6rlZEN0defrM0MQ.png&width=768&dpr=4&quality=100&sign=11a724ec&sv=1)
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A2912%2F1*en5g1XPi9cXiv70xglzGjA.png&width=768&dpr=4&quality=100&sign=2564bd0f&sv=1)
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A2912%2F1*6ySFynZj1gF0PFgJuX2-7A.png&width=768&dpr=4&quality=100&sign=12348339&sv=1)
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A2600%2F0*60IbC3XxEHJHa4QY.png&width=768&dpr=4&quality=100&sign=d36036eb&sv=1)
Here’s another one:
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A2600%2F0*rqQQgS8J3iIFoNs4.png&width=768&dpr=4&quality=100&sign=13389a0c&sv=1)
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A2600%2F0*w7m4E-mkNKv04SCN.png&width=768&dpr=4&quality=100&sign=a08166aa&sv=1)
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A2600%2F0*KoMFq_nNPiEXZtga.png&width=768&dpr=4&quality=100&sign=af9f5929&sv=1)
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A2600%2F0*9DhLwR_Cb2uZ7vs6.png&width=768&dpr=4&quality=100&sign=7e57be2d&sv=1)
![](https://hoangs-organization-8.gitbook.io/~gitbook/image?url=https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A2600%2F0*lDhg_26AjStnYFW7.png&width=768&dpr=4&quality=100&sign=ac662a81&sv=1)
Alright, since you’ve been paying close attention and reading until the end of this article, here’s a cool little bonus for you. :) Check out this ChatGPT prompt that gives you a ready-to-use permutation prompt to cycle through prompting styles. Have fun! 🚀
Last updated