Skip to content

Umi Prompting Guide (Outdated)

Klokinator edited this page Dec 17, 2022 · 1 revision

WARNING: The following post is extremely outdated and needs to be updated for Umi v0.3's formatting and feature overhaul!

Why bother using Umi? Why not just make your own prompts? What the heck is a 'wildcard system' and why not just download the ones from the wildcard website and go from there?

Allow me to elaborate.

There are many character creators that have existed over the past 20 or 30 years. A few examples of 'really good ones' include Black Desert Online's character creator, The Sims 3 and 4, the Elder Scroll games, Destiny 2, Monster Hunter World, and so many other ones.

But all of these character creators have major limitations. These include:

Limited gender options. Black Desert online allows you to make beautiful women of one fairly standard body type, but men are underrepresented here. And wanting to make any other type of gender? Don't make me laugh.

Limited species. Want to make a demon character? An angel? An ogre? 99% of the time, you're locked to making a human. Even in really advanced creators, like Tekken 5's character creator, the best characters can still look memey or janky, not actually good.

Limited art style. Let's say you can make any character type you want in The Sims games. Do you know what the problem is? You're stuck with that cartoony Sims look. There's no option to switch to an ultra gritty and dark and realistic character artstyle, like in Darkest Dungeon, or a really stylized anime appearance.

Limited clothing options. Let's say you only want to make a really cute girl in Black Desert Online. Fair enough. But when you're inside the character creator menu, you only have maybe six outfit options for making a character. And probably none of them will be exactly or even remotely what you want.

Either extremely sexualized clothing, or unsexy clothing, or blotchy armor... you just can't seem to make the character look the way you want, even if their face and other attributes are 'correct.'

Just look at this list of video games with good character creators. If you can find any one of them that doesn't have 2 or more of the critical flaws I just listed, among others, I'll shut this whole project down on the spot.

But Umi AI is not restricted to those limitations. If you want, you can already make the character of your dreams with the basic WebUI, but Umi AI makes the process so much easier to get into compared to spending days and weeks finagling all the different options that you're sure to quickly learn how prompting works.

Here's a really cool lion warrior that looks like he belongs in a Shining Force anime. Here's a painting-like image of the Cryoverse's Amelia Greyheart. Here's a really creepy image of an undead guy with rotting flesh. Here's a similar undead guy but in a gritty comic book style. Here's the Cryoverse's Uzziel in a really slick hyper-detailed and glossy art style. And finally, here's another undead guy, but in a horror-esque b/w monochrome style.

The things you can do with this technology are absolutely incredible, and we've only begun to barely tap the surface with it. But when we're being real with ourselves, can other character creators do this? Not that I have seen.

It's not the developers' fault. They have to make each individual asset in their games. Making a single black cat-ears head accessory costs dev time. Adding a new hairstyle takes time. They also cost money.

With Umi AI, the limitations have been effectively removed. Now you can create any character you like. The only limitation is your imagination. (As well as wrangling the AI to actually make what you tell it to make and not some other random thing instead!)

But why even bother using Umi AI? Why not just prompt out your own character using the basic WebUI? Who even is the target audience for this?

I see these people as all getting a huge benefit out of Umi AI.

  1. People who keep trying to prompt characters but have frustrating results.
  2. People who, let's be honest, lack creativity and want to get a basic design out that they can fine-tune.
  3. People who just want to see what cool things the AI randomly spits out. Heck, it recently popped out this cool robot/doll lady who I thought looked badass. Sometimes it's awesome to just see what the AI gives you.
  4. Landscape lovers. Want to see cool cities? Breathtaking vistas? We've got you.
  5. Space, the final frontier. Space battles. Black holes. Nebulae. You can expect me to add a LOT of cool space imagery prompts into Umi.
  6. Prompt creators looking for new ideas to pull from.
  7. Furries/scalies, other types who have historically had a LOT of trouble getting good quality art made of the things they want. It's hard making characters that look good. Now you can, at a minimum, pop out a design you really like before passing it on to an artist to fine tune and redraw!
  8. And yes. NSFW-lovers. There will be plenty of that.

The problem is, people look at AI, and their thoughts are astonishingly basic and surface-level. Umi AI is all about breaking long-held limitations. My goal is to make a system that can output infinite creativity. The AI's releases are just tools, it's up to you to decide how to use them afterward.

Umi AI can output NSFW content, but so can WebUI at base. The real power of Umi AI is how it will act as the greatest character creator and generator up to the current point in human history!

So. You sat down, you followed the installation guide, and you have Umi installed. How do you use it? You just set recursive wildcards, then post __CORE__ or __SFW__ or __NSFW__ and... that's it?

Not by any means.

First things first. When you generate a character or other prompt, drop your eyes down to the bottom right on the txt2img main screen.

This is your Output Menu. When you generate a random character (which ended up being this two-toned hair girl with screwed-up fingers) it will run through all of Umi's internal files and output... something! You can then copy that first line of prompt text, like so:

SFW, (NovelAI Artstyle:1.2), detailed face and eyes, from behind, looking at viewer, multiple views, supermarket, Judgmental expression, annoyance, paw pose, crossed legs, Dwarf, shortstack, wide hips, muscular, 1boy, teenager, mature male, Large penis, Average body, Athletic, Baseball Jersey, Leggings, frills, short hair, hime cut, colored hair tips, red hair, grey hair

And you can paste it into your prompts up above, taking care to remove the SFW prompt card.

Now when you generate, you'll probably get a similar character, but take a good look at the tags it output. Sometimes the engine just doesn't quite follow the tags you want, or in this case, it will generate a guy with a huge dick but just make him a girl. Why? Who knows. It's AI.

In this case, we can edit the prompt to more accurately reflect the character we see above. All you need to do is delete extraneous tags, edit the others to a more ideal character, and you'll get...

__SFW__, (NovelAI Artstyle:1.2), detailed face and eyes, from behind, looking at viewer, multiple views, supermarket, Judgmental expression, annoyance, wide hips, muscular, 1girl, teenager, mature female, Average body, Athletic, Baseball Jersey, Leggings, short hair, hime cut, colored hair tips, red hair, grey hair

As you can see, I've removed a bunch of weird tags to adjust the prompt to something more that I like. If I generate again, I'll end up with a character like...

Looks good! But we did want that two-tone hair right? Let's edit the prompt so that there is extra 'emphasis' on the two toned hair.

hime cut, (colored hair tips:1.5), red hair, grey hair

And there we go! If you're not sure what 'weighting for emphasis' with parentheses means, you should read this master guide by Oeryon, one of the Umi AI Discord devs.

So what have we done? Well, we generated a prompt until we found something we liked, then we edited it into something we REALLY liked. By making use of Danbooru Tags (the tags WebUI was built on) we can create characters of extreme specificity that generate in the way we want.

But this is not all we can do. Join me now as we take a look into the Umi Wildcard engine and see how it actually functions.

Let's take a look inside the \stable-diffusion-webui\scripts\wildcards directory.

Here we can see three key folders, as well as the top-level wildcards the Umi engine uses to call up its generation engine.

Important! This is a very early file structure of what to expect. It may change drastically in the future. In private, I've already vastly overhauled it 5 times, but I felt this version was finally acceptable for the public to use.

Open up the CORE text file. This is the folder Umi calls on when you use the __CORE__ prompt. The double underscores call up a 'wildcard file' (text file) inside of wildcards, then pick a random line and load their command next.

The # signs cancel out a line. They allow me to write notes and make the text files more readable. In this file, there are four lines CORE can load at random.

NSFW, __CONFIG/Preset Config NSFW__

NSFW, __CONFIG/Scene Setup__, __CONFIG/Load A Species__, __CONFIG/Clothes Config NSFW U__, __CONFIG/Hair Config U__

SFW, __CONFIG/Preset Config SFW__

SFW, __CONFIG/Scene Setup__, __CONFIG/Load A Species__, __CONFIG/Clothes Config SFW U__, __CONFIG/Hair Config U__

When Umi AI loads one of these four lines, it then jumps to THEIR wildcards listed. Let's keep it simple and just follow along with the SFW Presets prompts.

So the first thing it does is assign the keyword SFW to the start of your prompt. SFW ensures no genitals will appear visibly on characters. If boobs do somehow appear, the nipples will be blank.

Next, it loads __CONFIG/Preset Config SFW__. This jumps us toward the CONFIG folder and then the file Preset Config SFW.txt, located here:

Take a look at that file...

Once again, the # comments out lines. Let's load a random line and see where it goes. All of these link to specific presets in the Preset folders, so, we'll load up the Custom Characters prompt.

__CONFIG/Scene Setup__, __PRESETS/SFW/Custom Characters__

So the first thing we'll do is load up CONFIG/Scene Setup.txt

Scene setup looks like this:

As you can see, we load even MORE wildcard files in a row. The good news is, everything in the REFS folder are reference files: They do not load other files. They are only called by files, and they are the ones you definitely want to customize to fit your preferences.

Let's load up Art Styles just to get an idea of these. I won't go over every possible file, that would take forever, but a couple would be fine.

Now, these are all art styles that I have handpicked to be fairly unique, interesting, and whatever else. These do different things and will be better explained in future Umi releases, as well as greatly expanded. For now, these are your 'basic baby artstyle prompts.' Mine also has a few styles that aren't in the public release.

detailed face and eyes, sean phillips, greg capullo, michael lark, comic book, film noir**, realistic, anime style, masterpiece**

With this artstyle, you will notice the usage of **asterisk tags**. These are currently unique to Umi AI. They allow wildcards to put negative tags dynamically into the negative prompts zone. In the above case, I'm trying to go for a hyper-gritty comic style, so I want to make sure 'realistic' and 'anime style' don't appear. It's very much a WIP artstyle, I should mention.

masterpiece, best quality, masterpiece, best quality, masterpiece, hyper extreme detailed, by famous artist

This artstyle gives us characters like this:

anime coloring, retro artstyle, detailed face and eyes

This artstyle gives us characters like these:

And so on.

One of the fun things about AI is mixing together artist styles. You'll often hear people talk about how AI only copies artstyles, but blending them together is in itself an act of creativity.

Now, let's go back to scene setup. It loads the following things:

Artstyles, Camera Angles, Location, Emotions, Poses, in that order.

Camera angles come next. These can be from above, from below, pov, zoomed out, etc.

Location is stuff like the forest background behind Jason Hiro, the blonde guy in the previous image. It can load backgrounds and scenes. Expect this to be elaborated on a lot more in the future.

Emotions. These include smiling, crying, anger, depression, smugness, and so on.

Poses can be one of two things. Either the character will have an arm and a leg pose mixed together, or a standard pose, like sitting on a throne.

After we have loaded the basic scene setup, we can next load the __PRESETS/SFW/Custom Characters__ text file.

Currently, there is only one custom character, Louise from the game Fire Emblem. There are two variants, one with her 'standard' clothing design, and another with random clothing options. If you want to see the clothing options, you need only follow the filepaths. I plan to add countless more characters in the future.

For now, let's take a look at that syntax for the random clothing.

({SFW, __REFS/CLOTHING/UpperSFWU__, __REFS/CLOTHING/LowerSFWU__|SFW, __REFS/CLOTHING/FullbodySFWU__}:1.3)

What the heck even is this?! It looks like jumbled nonsense!

I'll break it down for you.

{These are curly brackets.} Curly brackets are only used for random effects inside wildcards. The | is a separator between multiple options.

{Red Hair|Blue Hair} Is a prompt that randomly picks one of two options.

{Red Hair|Blue Hair|Green Hair} Is a prompt that randomly picks one of three options.

{20%Red Hair|25%Blue Hair|Green Hair} Is a prompt that picks red hair 20% of the time, blue hair 25% of the time, and the other 55% is a chance for green hair.

{20%Red Hair|25%Blue Hair|55%Green Hair} This is exactly the same.

{55%Red Hair|65%Blue Hair|25%Green Hair} By default, the percentages try to add up to 100%. However, if you go over 100% and make the final values have percentages, the max rises to, in this case, 145%. So out of 145%, you have a 55% chance for red, 65% for blue, etc.

In this way, we can even load wildcards. Now let's look at that line from earlier.

({SFW, __REFS/CLOTHING/UpperSFWU__, __REFS/CLOTHING/LowerSFWU__|SFW, __REFS/CLOTHING/FullbodySFWU__}:1.3)

These forcibly apply the SFW filter (not necessary, I need to remove that actually haha) then pick from either one piece of upper and lower clothing, or one full body outfit. Or basically...

({Option 1, Option 2|Option 3}:Emphasis)

Whatever option it rolls, it will add a :1.3 modifier to the end to weight that option more heavily for the AI algorithm. For more information on weighting tags, read Oeryon's guide on the subject.

Okay. So.

Umi AI loads all of those parameters together, sticks them in the engine, and generates a random character.

But what if you want certain types of characters to appear more often?

What if you have a specific clothing style you want to aim for?

What if you have a preferred body size or whatever else?

Go to the REFS folder and look around. Every text file in there is something that gets called by another file.

Want to see more dark skinned characters? Open up Skin Colors.txt and let's do some quick edits.

These are the current skin color options. There are also more 'human' skin colors, ranging from white to yellow to black, but we'll focus on the universal ones.

Want to see more dark skinned characters? You have two options.

  1. Comment out anything that isn't dark skinned. Whenever you roll random skin colors, the characters will ALWAYS be black.

  1. Add MORE of the dark skin types so they are likelier to appear, but keep the other skin colors around.

This method will ensure you roll dark-skinned characters more frequently, but you'll also still get characters of other colors as well. You can go dark and white, or blue and red, whatever floats your boat. This is a judgment free zone.

By doing this, you can go through all of the files and make characters you like appear more often.

And also, all of those random wildcards and other options I mentioned earlier? They all work inside of WebUI too. So if we were to copy that Louise prompt from earlier...

(Louise (fire emblem):1.3), (Masterpiece), (best quality), (Absurd Res), (high resolution), intricate, beautiful lighting, 1girl, caucasian, purple eyes, (very long hair, single braid, side braid, blonde hair), (white gloves) with (purple cape:1.2) and (tall white thigh boots:1.2), ({SFW, __REFS/CLOTHING/UpperSFWU__, __REFS/CLOTHING/LowerSFWU__|SFW, __REFS/CLOTHING/FullbodySFWU__}:1.3)

And paste it in the engine...

This would generate a Louise with random clothing, every time. Wildcards work exactly the same inside of WebUI and the text files.

As you can see, Umi AI is actually a massive interconnected system, and what I've built is only the basic framework for what comes next. In the future, this system will have:

  1. Countless species from DND, LOTR, Warhammer, you name it.

  2. Far more artstyles, posing options, background specifics, and so on.

  3. Many more SFW and NSFW poses. I'm looking forward to making battlefield scenes that can generate dynamically, in much the way images like this appear.

  4. Split the gender options more appropriately. Right now, all options are unisex, but soon enough they will be male, female, and unisex. I mean, I'm cool with girlboys and boygirls, but it's also nice to have the gendered options too!

More, more, more! With the press of a button, I want to make Umi AI generate massive universes of extremely consistent quality. In fact, that is my #1 goal. I don't add scenes or poses or anything else unless I think it tends to come out in a consistently good manner.

In the future, I will be writing guides on how to submit prompts to the Umi AI Discord, as well as how to Inpaint properly, how to do img2img stuff, which by the way looks like this:

Yeah. That's right. Draw a doodle of a character and watch it transform into the thing you want. It's kinda bonkers this is the future we live in.

Anyway. I hope this post has better explained what Umi AI is, its unique selling points, and why it is a huge innovation for character creators, concept artists, and people of all other types!

In the next post, I will discuss how to write good prompts for WebUI and how I use this knowledge to improve Umi AI and make its universal prompts work properly, even with all the intertwined variables.