Advanced Guide:Writing prompts for Midjourney (text-to-img)
One Liner on Midjourney?
So, if you haven't heard about Midjourney yet, here's the skinny: it's an app that generates images from your text, kind of like OpenAI's DALLE-2 and Stable Diffusion's DreamStudio. But the cool part is it uses over 650 million images from the internet to create truly stunning results. It's still in beta, but they're adding new features every week, so who knows what the future holds! (By the way, their AI engine is on v3.)
Raw Prompt Text
If you're already using Midjourney, you know that the more descriptive you are in your prompts, the more vibrant and unique your results will be. People usually go for prompts that are raw and straightforward, like "a cowboy wearing a tuxedo on the moon", which might generate something like this:
But there are more options than just the plain raw prompt text to create predictable and consistent image outputs !
Please note that this article discusses the use of text prompts to control output. If you are interested in achieving more precise control over your output, such as pose and style, you may want to check out ControlNets. ControlNets offers absolute control over output structure. (This article provides a beginner's guide to ControlNets in Stable Diffusion.)
Now, let's dive directly into the advanced options list for text prompts! Here are some of the ways you can generate image variations and some advanced settings to consider (details on each of these settings follow the list):
- Providing keywords - 'style'
- Aspect ratio
- Passing an image as a prompt as a URL
- Applying weights to the image prompts
- Weights to the word prompts
- Filtering out words
In a nutshell, your choice of keywords affects your style, and you can specify what type of style you want. A broad classification of style types is shown in the figure below.
Style — keyword
Providing a set of supporting prompt keywords associated with "styles" can create different outputs based on what kind of style you opt to choose. Here are some of the keywords and sub-types based on the art form/design/artist/genre you might want to choose as styles:
Image generated by Midjourney, prompts from author
- Using artist name as style
You can also specify the artist as your style output. Some samples to the same prompt are shown below.
/imagine horse galloping at sunset painting Andy Warhol style
Image generated by Midjourney, artist as style, prompts by author
- Using the rendering/lighting properties as style
Image generated by Midjourney, prompt experiments by author (prompt text: "fantasy castle")
Stylize the output
You can add the setting
--s <some number> (denoting style). The following images are from the same prompts — with low and high stylize option.
/imagine firefighters --s 6000
Image created by Midjourney, prompt: firefighters
Chaos — Increase the abstraction
Takes a number from 0 to 100 to increase or decrease the level of abstraction in the subject.
/imagine Eiffel tower --chaos 60
Image generated by Midjourney, prompt: Eiffel Tower
To specify the output resolution, you can use some of the usual keywords like 8K, 4K, photorealistic, ultra photoreal, ultra detailed, intricate details, etc. Or you can go with the standard settings for predictable outputs
hd and quality/--q are two such settings.
/imagine red rose flower --hd
/imagine red rose flower --quality 5
You can specify what. The default output is a square image (1:1 aspect ratio). But if you want a more cinematic view — or you just want to make a wallpaper for your laptop, you can change the aspect ratio.
/imagine jasmine in the wild flower --ar 4:3
If you want to specify a custom image size, use the following example.
/imagine jasmine in the wild flower --w 600 --h 300
You cannot specify your custom aspect ratios — but can specify some of the standard ratios and some non-standard too! (Here are some examples)
Image generated by Midjourney, text prompt: "jasmine in the wild", tested by author
Image as a prompt
If you want to get some outputs similar to an image style (when you want to get consistent outputs) across multiple images, pass a URL of the image.
/imagine <http://www.imgur.com/Im3424.jpg> box full of chocolates
The image generated will take cues from both the seed image (from the URL you passed) and also the text prompts.
You can give multiple images as prompts.
You can specify weights to the images (see the next point).
Weights to Image prompt
If you want your output to be looking more like your prompt image (see the previous point), give a higher weightage to that image (
keyword: --iw <number>).
/imagine <http://www.imgur.com/ks34f24.jpg> chocolates --iw:4
Weights to text prompt
/imagine wild animals tiger::2 zebra::4 lions::1.5
Filtering out words from your image
--no keyword to discard any unwanted subjects popping in your.
/imagine KFC fried chicken --no sauce
Finally, some interesting keywords you can try to use
- Sony Alpha α7, ISO1900, Leica M, = to specify any lens type or camera type
- Photorealistic, ultra photoreal, ultra detailed, intricate details = to specify some possible details and a realistic look and less of artistic
- Unreal = to specify an unreal engine feel
- Volumetric light, cinematic lighting = to specify some lighting conditions
We discussed ways to have some control over the type of images produced during mid-journey experiments. However, there is still a lot of room for experimentation and imagination. Best of luck as you try out different prompts and have fun with your creations.
Oppenlaender, J. (2022). The Creativity of Text-to-Image Generation. University of Jyväskylä, Finland. Retrieved from https://arxiv.org/pdf/2206.02904.pdf