Tutorial: Dynamic Prompting
Let’s dive into dynamic prompting, a simple way of writing a structured prompt. Some call it additive prompting and others call it just structured prompting. Let's dive in
** Disclaimer, this email is long and will be cut off, so make sure you click “expand” when you get to an abrupt end somewhere in the middle.
Dynamic prompting is way of typing an array of tags or sections in your text prompt. Previously you’ve learned about prompts and how they are constructed. This is a simple visual to summarise the structure of a prompt in MidJourney.
Some people call it Additive Prompting, others call it Structured Prompting. Regardless, this will help you maintain control over the images as you iterate your way forward.
This technique has been around since early 2022, and is slowly popularised by people like myself, Julie, Lars and others.
The next wave of products that will come out will be prompt-precursors, there are already some good ones, like PromptHunt by Addison
When writing dynamic prompting, we focus primarily on the text prompt section. We want to break it down into something we can start playing around with. This is all within the context of Midjourney, but this style of writing prompts will work in any tool. Dalle2, StableDiffusion, Leonardo etc.
In its simplest form, a prompt can look like this. I’ve linked the style words to either Wikipedia or Google image search to give you an idea of what these examples stand for.
The simple breakdown
For this to work we need at least 2 sections to our prompt or more, hence the dynamic part. You can add as many sections as you like. Just keep in mind to separate it out so you know what each part is doing once you decide to start changing things around.
💡 <Type>, <Camera Angle>, <Room>, <Style>
Putting it all together, this is what the prompt will look like. We will throw this into Midjourney to see what we get back. Do this demonstration with me on Midjourney to see what you get and practice your learning.
💬 Photograph, High angle, Industrial Kitchen Kitchen island, Concrete flooring
The Prompt Structure
Here is a more complete breakdown of a prompt structure and what each tag means, these tags can be edited after your own choosing, this is just an example.
💡 <Type>, <Camera Angle>, <Style>, <House Type>, <Focal Point>, <Textures>, <Detail>, <Color Palette>, <Architect>, <Type of House>, <Lighting>, <Location>, <Time of Day>, <Mood>, <Architecture>
Gift a subscription to anyone you think would be interested.
Use the link below.
Let’s create something
So let’s try an example, we populate the prompt, either manually, or you can use this prompt in ChatGPT to generate a starting point for you, either way works:
ChatGPT prompt:
🧠 Tabulate Interior design photography composition into the following key elements, where each of these key elements is a column: <Type>, <Camera Angle>, <Style>, <Room Type>, <Focal Point>, <Textures>, <Detail>, <Color Palette>, <Lighting>, <Location>, <Time of Day>, <Mood>, <Architecture> (remove the < >)
Fill the table with 10 rows of data, where:
Type = "Photography"
Once we got our starting point, we can start manipulating it as we see fit.
💬 Photograph, High angle Industrial Kitchen Kitchen island Concrete flooring, steel Kitchen hardware Grey, black, stainless West Elm Natural light Brooklyn, NY Afternoon Minimalist Loft-style --ar 3:2
We can easily change parts of the prompt, like in this case, we can swap out and get golden hardware instead of metal hardware.
We can do anything with this writing technique.
There is nothing really special to this except the way you structure your prompts. With keeping the structure it will allow you to iterate your way forward without changing large portions of the prompt.
Japanese Zen Garden
Ferrari Testarossa 1986
See more cars I made on Twittter
A Midcentury Modern House overlooking LA
Same but as a pencil sketch
Victorian Mansion Rooftop
Futuristic Architecture
Even this prompt is using Dynamic Prompting, but only using 2 segments.
Conclusion
The key take away of this way of structuring your prompts is that it will make it easy for you to work on iterations, you can add or remove parts of the prompt. You can extend the capabilities on the prompt by including parameters or images. For example using —seed in your prompt to improve consistency when trying out iterations of your prompt.
There are many ways to write prompts in Midjourney, and while some are more shotgun and others are more scalpel, this sit somewhere in the middle.
The ability to dynamically change your prompt, and focus on iteration until you nail down what you want will keep you structured (scalpel), but the prompts can turn out quite elaborate too (shotgun).
Regardless I’m excited to see what you make with this.
Still here?
Everything is moving so fast, and there are new ways and techniques popping up almost daily now on how to work with AI tools. This is just one way to do things.
If you are still here, thank you. I hope you learned something today, if you have questions, feel free to reply to this email or reach out to me on Twitter
I’m currently teaching a course on MetaCrafters on this subject, and I’m launching my own course on AI soon. I’ll keep you posted.
Share this post with anyone you think would be interested. Use the link below.
This is great, you can generate anything with this technique
Thanks for this in-depth tutorial, looking forward to your AI course 😁