How I used Outpainting for a Complicated Midjourney Composition

Alex Tully
6 min readAug 24, 2023

--

My last few posts on Midjourney were about using /blend to go beyond what’s possible with just text prompts. But I’d hit a limit with that too. In this case, I wanted a vaguely surreal image, containing:

  • Frankenstein’s creation, standing at a laboratory bench
  • The monster wearing a Mao suit, with lots of metal bits sticking out of its head, in a way that resembles a coronavirus
  • A yellow chemical that can be seen to have a consistency like honey when it leaks from the glassware, which is sometimes shattered and sometimes contorted into impossible shapes
  • Streams of bats to be flying out of the mouth of the glassware like vapour, reminiscent of Pandora’s Box
  • Hopefully also a vertical twisting motif, that evokes the DNA double helix

Here’s what I eventually got:

Title: Wuhan Frankenstein

My initial intention was to use the /blend function like I’d done multiple times before. But I was stuck at square one for a long time, because Midjourney was struggling to put bolts in the head of the head of the monster. I eventually decided to start with a public domain image of Boris Karloff’s Frankenstein:

Public Domain Image of Boris Karloff’s Frankenstein, from https://www.publicdomainpictures.net/en/view-image.php?image=509149&picture=monster

I had a hunch that it would be best to build the small parts, and then “build up” to the bigger ones. So my first task was to put more bolts in. I prompted Midjourney with: ghostly_grey coronavirus — s 50 — style raw, (I put an underscore between ghostly and grey for reasons explained in this post) and then cropped off all but the top part, because the bot was going to conflate the spikes with the bolts, and I didn’t want any bolts pointing downwards. So the image I used was:

Midjourney prompt: ghostly_grey coronavirus — s 50 — style raw

I then prompted Midjourney with: <URL of Image of Boris Karloff’s Frankenstein>::2 <URL of Cropped Coronavirus Image>:: Boris Karloff’s Frankenstein with protruding metal bolts, Socialist_Realism:: protruding metal bolts:: ghostly_grey coronavirus — s 50 — style raw. In addition to having sub-prompts of text for the monster and for the coronavirus, I needed to use the double colon :: syntax again to make another sub-prompt of just “protruding metal bolts” to keep these in the image (another author does a good job explaining this here). Anyway I chose the following image from the results:

So far so good. Now to generate the image of the Mao suit to put on it. I got a nice image with the prompt: grey Mao_suit with twin_pockets — s 50 — style raw — ar 4:5 Without including “twin_pockets” I had trouble getting Midjourney to put pockets on both sides. Anyway, I got something you could imagine on Xi Jinping or Kim Jong Un:

Midjourney prompt: grey Mao_suit with twin_pockets — s 50 — style raw — ar 4:5

The headache came when I tried to blend them together. Midjourney got rid of most of the bolts on the face. And when I tried increasing the weight of the sub-prompt just for bolts, it either generated giant bolts lying on the ground, or changed the suit buttons to bolts!

Fortunately Midjourney has another way to splice images. I clicked “Custom Zoom” on my blended image (of the face with protruding bolts), at which point Midjourney asked me to enter a new prompt. By default it has the original prompt in the text field, but I completely erased that and replaced it with: <URL to image of Mao suit>:: ghostly_grey Mao_suit with twin_pockets — no double breasted — s 50 — style raw — ar 1:1 — zoom 2
With Custom Zoom, Midjourney requires you to specify the aspect ratio and of course how far out you want to zoom. Anyway, I got:

As far as I can tell, Midjourney kept the face (the original part) completely identical. True to the function’s name of “outpainting”, it just added extra things, which was exactly what I wanted in this case. I especially liked its touch of putting the buttons into the skin, which really matches the Frankenstein aesthetic.

For the rest of the image, I was limited to using outpainting again, because trying to use /blend on the above image destroyed the facial bolts just like before. So I generated another image of everything else I wanted in the image. The prompt for this was: bats flying above a lab_bench with puddles of dripping syrupy viscous yellow honey spilling from smashed shattered broken chemistry glassware shaped like a DNA_helix, vapours creating silhouettes, dimly_lit, MC_Escher, non_Euclidean — s 50 — style raw, and the result I chose was:

Midjourney prompt: bats flying above a lab_bench with puddles of dripping syrupy viscous yellow honey spilling from smashed shattered broken chemistry glassware shaped like a DNA_helix, vapours creating silhouettes, dimly_lit, MC_Escher, non_Euclidean — s 50 — style raw

I expected that the outpainting would delete the bats around the monster, creating a nice framing effect. And I was right. I did a custom Zoom on the image of Frankenstein’s creation in the Mao suit, replacing the prompt with: <Link to URL of Above Image of the Lab>:: bats flying above a lab_bench, ghostly grey Frankenstein in a Mao_suit holding a Klein_bottle honeypot, puddles of dripping syrupy viscous yellow honey spilling from smashed shattered broken chemistry glassware shaped like a DNA_helix, vapours creating silhouettes, MC_Escher, non_Euclidean — s 50 — style raw — ar 1:1 — zoom 2
And I got the final result:

The final image of Wuhan Frankenstein

Including “Klein_bottle” in the prompt didn’t give me an Klein bottle strictly speaking, but rather made the glassware do trippy things. And even though I told Midjourney to make the monster holding the Klein bottle, it was actually holding nothing most of the time. But having it reach for table was good enough to make it look less photobashed.

Takeaways from this: Yes you can you “hack” Midjourney with image prompts to get more imaginative creations. But the resulting image often includes “sensitive” elements that tend to be lost if you use it in the starting point of another blend (e.g. the facial bolts in this case). However, you can preserve them if you use the “Custom Zoom” outpainting function to add other items to your image. Since it’s difficult to “go back” to using /blend and image prompts once you start outpainting (at least not without losing your “sensitive” elements), a good 3-stage workflow for Midjourney might be:

  1. Begin by generating components of your image using text prompts.
  2. Use the results of #1 as image prompts or in the /blend function (assuming you can’t get what you want with just text)
  3. Switch to outpainting as a final resort if you can’t avoid losing critical detail when trying #2

Good luck if you decide to give this a shot!

--

--

Alex Tully

Into Generative AI, but 100% Human-Written Blog (every word)・Bachelor’s in Maths・Master’s in Linguistics (@ANU 🇦🇺 )・Taught myself 🇯🇵 and 🇹🇭・Digital Nomad