Skip to content

Umi AI's Tagging System

Klokinator edited this page Jul 3, 2023 · 40 revisions

Umi Prompting Guide

As of Update 0.3, Umi AI now has a tagging system that allows the user to prompt piecemeal-style random characters, settings, and scenes. These tags might seem overwhelming to get into, but once you understand them, you won't be able to live without them. In future updates, the tags will become much more versatile and more filled out. This will lead to fantastic results for randomized prompt connoisseurs.

But first, let's start by defining some terms.

Defining Terms

When you type in words to form a prompt, I will be referring to those as Prompt Keywords, or, just Keywords. An example of Keywords would be:

Masterpiece, best quality (Style of Terminator:1.2), cowboy shot, no crop, (mechanical parts, Man-Machine, Cyborg, cybernetic:0.7), 1boy, aged face, 50 year old male, mature male, adult male, large body, (dark skinned male, black skin, brown skin, dark skin:1.2), military outfit, red eyes

The above prompt was my attempt at making a Terminator. Still WIP, but I digress. Every term used there is a 'final keyword insertion,' the end result that goes into a prompt to tell the AI what to make.

What Umi AI can now do is create randomizable Tags which choose random Keywords, and you can call these Keywords dynamically. Let me give you an example:

SFW, 1girl, solo focus, full body, __Art Styles__, <[Camera Angle]>, <[Emotions]>, <[Pose][--Locations]>, <[Location][--Pose]>, <[Torso][--Sexywear][--Tails]>, <[Waist][--Sexywear]>, <[Age][Female][Adult]>, <[EZHair]>

The above prompt is, essentially, the <[AIOGirl]> prompt I currently have baked into Umi AI. It is the sort of thing you can do now which you could not do prior to v0.3 and is what today's post is all about.

Here are what those tags mean, in order of appearance:

CLICK TO EXPAND THIS SPOILER!
  • __Art Styles__ = This is a legacy Wildcard which will eventually be converted to a YAML prompt, at which point you will call it with <[Art Styles]> instead. For now though, it inserts a random Art Style into the final prompt.

  • <[Camera Angle]> = This picks a random Keyword with the Camera Angles Tag assigned to it. You might get Full Body, Portrait, Cowboy Shot, and so on.

  • <[Emotions]> = This gives a character a random emotion. These can be positive, neutral, or negative, like a happy smile, a pensive expression, or sadness/anger.

  • <[Pose][--Location]> = This gives the character a random pose. Its going to be either a 'specific' pose like a 'Jojo Pose' or a 'Cat Paw' pose, or it will be a mixture of arm and leg positioning, such as 'On Knees' and 'Arms Crossed.' Note that this tag excludes Locations for a reason I'll get into later.

  • <[Location][--Pose]> = This puts the character inside a randomized location. For example, a Castle, a Courtyard, the Big City, New York, a Farm, and so on. Note that this tag excludes Poses for a reason I'll get into later.

  • <[Torso][--Sexywear]> = This gives the character one random piece of clothing on their Torso. This could be a shirt, a blouse, a sweater, a bra, whatever. This is a SFW AIOGirl prompt, so it excludes 'Sexywear' like Lingerie or fetish outfits.

  • <[Waist][--Sexywear][--Tails]> = This gives the character one random piece of clothing on their Waist. This could be a pair of shorts, pants, a skirt, panties, whatever. This is a SFW AIOGirl prompt, so it excludes 'Sexywear' like Lingerie or fetish outfits. I also excluded Tails because you tend to get those annoyingly often. I might change how they work in a future update.

  • <[Age][Female][Adult]> = This gives the character physical parameters befitting a certain age. In this case, I've set it to the middle option, adult. Note that AI is VERY biased, so even though there are three options (Young, Adult, and Old) you mostly only get either lolis with Young, or young women with Adult. Even when using the Old tag you don't tend to get old women, and that's a shame.

  • <[EZHair]> = This is actually a shortcut tag that assigns the random parameters of <[Hair Style]> and <[Hair Length]> and <[Hair Color Types]>, the last of which also picks one or more random <[Hair Color]>

When you write a prompt with randomized Umi Tags, it will substitute keywords for each tag you have picked. For example, this prompt...

SFW, 1girl, solo focus, full body, __Art Styles__, <[Camera Angle]>, <[Emotions]>, <[Pose][--Location]>, <[Location][--Pose]>, <[Torso][--Sexywear]>, <[Waist][--Sexywear]>, <[Age][Female][Adult]>, <[EZHair]>

COULD spit out...

SFW, 1girl, solo focus, full body, Boujee aesthetic, Portrait, No Crop, Looking At Viewer, Excited, Open mouth, Dancing, Infirmary, Camisole with open front, Bloomers, 1Girl, Teenager, Mature Female, Big Hair, Braided Bun, Multicolored Hair, Brown Hair, Orange Hair

Or...

SFW, 1girl, solo focus, full body, Gyaru aesthetic, POV, No Crop, Looking At Viewer, Excited, Open mouth, Butterfly Pose, Tunnel, Revealing Aprons, Deer Tail, 1Girl, Adult Woman, Mature, Medium Hair, Double Bun, Split-color Hair, Purple Hair, Pink Hair

...................................

There are many ways to format tags. If you have used the Wildcards extension, you should know that Umi AI has ALL of Wildcard's functionality and supports all the same commands. Additionally, Umi AI supports these commands for fine-tuning of prompts:

CLICK TO EXPAND THIS SPOILER!

<[Preset]> = A basic Tag that will load a random Preset from Umi AI's files.

<[preset][female][species][sfw]> = Chained Tags that will narrow down to a specific component you want to load.

<[preset][--female][sfw][species]> = Chained Tags again, but notice how female is [--female] now. The -- prefix EXCLUDES a tag. Useful if you want a broad set of randomization but you don't want a certain thing to appear.

Other examples might include:

<[preset][sex prompt][--futanari]> = Maybe you want to see some spicy sex prompts but you don't want Futas showing up? Exclude them!

<[female][nsfw][--sex prompt]> = Want some female NSFW stuff but don't want explicitly a sex prompt? This might load something up your alley!

But you can also add multi-option selections. Let's say you want to randomize the type of 'material' a clothing piece is.

<[upper body][cloth|lace][bra]> = this will choose a random bra that will EITHER be made of cloth, or of lace. By using the [Tag|Tag] separator, you can make the engine pick one of X things.

Hell, you can even do:

<[upper body][cloth|lace|frills|nylon][bra]> = Here the system would pick a bra that is either cloth, lace, nylon, or one that has frills.

<[upper body][50%cloth|20%lace|20%frills|20%nylon][bra]> = Here you can see that I have weighted the options with the percentage numbers. You will also notice the numbers don't add up to 100%. They don't have to! You have a 50% chance to get Cloth, and a 60% chance to get one of the other three, for 110% total. But you can also do:

<[upper body][50%cloth|lace|frills|nylon][bra]> = In this case, Cloth has a 50% chance to roll. The rest of the numbers will take the remaining 50% (it tries to add up to 100 unless you specify numbers higher than that) and divvies out the remaining percentage among the rest. Good for weighing options more/less fairly according to your tastes.

These can get really advanced, and I've only scratched the surface. If you want to do more creative things, join the Umi AI Discord and ask for help in the Tag Questions channel.

A user on the Umi Discord (Acee) created a handy reference list. You can use this list to remember all the different ways of formatting tags.

CLICK TO EXPAND THIS SPOILER!

UmiAi Quick Reference

  • {a|b|c|...} will pick one of a, b, c, ...

  • {x-y$$a|b|c|...} will pick between x and y of a, b, c, ...

  • {x$$a|b|c|...} will pick x of a, b, c, ...

  • {x-$$a|b|c|...} will pick atleast x of a, b, c, ...

  • {-y$$a|b|c|...} will pick upto y of a, b, c, ...

  • {x%a|...} will pick a with x% chance otherwise one of the rest

  • __text__ will pick a random line from the file text.txt in the wildcard folder

  • <[tag]> will pick a random item from yaml files in wildcard folder with given tag

  • <[tag1][tag2]> will pick a random item from yaml files in wildcard folder with both tag1 and tag2

  • <[tag1|tag2]> will pick a random item from yaml files in wildcard folder with tag1 or tag2

  • <[--tag]> will pick a random item from yaml files in wildcard folder that does not have the given tag

  • <file:[tag]> will pick a random item from yaml file file.yaml in wildcard folder with given tag

WebUI Prompt Reference

  • (text) emphasizes text by a factor of 1.1
  • [text] deemphasizes text by a factor of 0.9
  • (text:x) (de)emphasizes text by a factor of x
  • \( or \) for literal parenthesis in prompt
  • [from:to:when] changes prompt from from to to after when steps if when > 1 or after the fraction of current step/total steps is bigger than when
  • [a|b|c|...] cycles the prompt between the given options each step
  • text1 AND text2 creates a prompt that is a mix of the prompts text1 and text2 can be modified by adding :x like text1:x AND text2:y

By using <[Tags]>, you can add a degree of randomization that will vary up your prompts in interesting ways. This guide is all about teaching you how to master this power.

enter image description here

In addition to Umi AI, you absolutely should install the extension known as WebUI Tagcomplete, by DominikDoom. The extension will not only allow you to preview Umi's tags as you type, but generic Danbooru tags, too.

Just paste this Git URL into the WebUI extensions tab to install it:

https://github.com/DominikDoom/a1111-sd-webui-tagcomplete.git

Note that, like me, you might find the Danbooru Tag autocompletions to be a bit annoying. Danbooru tags aren't really all that reliable in my opinion, and I hate them popping up for every single word I type, so I disable them. If you want to disable them too, then after you install WebUI, just go into the Settings tab and make sure your settings look like this, with the top dropdown set to 'None':

enter image description here

With Tagcomplete installed, we are ready to begin writing truly dynamic prompts in Umi AI.

enter image description here

There are a lot of ways I could cover how to write <[Tags]> for Umi AI. I think the simplest way will be to start by linking you to the YAML Tags List. This is a master file that will be updated whenever the Github itself gets updated.

If you ever want to know what ALL the tags consist of inside Umi AI, I will be keeping that document up to date with any tags I add.

Now, for the next part of this guide, I am going to be writing 'sections' for different types of users. These will start from the simplest ways to use Tags, and gradually move on up to the most complex ways to use Tags.

So let's start with...

Basic Users: (Simple and quick)

You've never used image creator AIs before, or you have but you're not good at all that prompt-making mumbo jumbo. You don't want to spend hours or days just learning how to make a decent goddamn waifu! Well, this guide is for you.

BASIC USERS: CLICK TO OPEN SPOILER!

Umi AI comes with a bunch of Preset tags. These are really handy to start dipping your toes into the basic functionality it can perform, while also still having a HUGE range of variability in the characters and scenes you will get. As of the time of this guide's writing, Umi AI is chiefly coded for female characters, but in the future males will be broadly added, along with landscape scenes, space battles, robots, etc.

To start using presets, just type:

<[Preset]>

That's it! You will instantly begin generating one of the hundreds of presets already loaded into Umi AI.

But you can add some granularity. What if you're not into NSFW content? Umi comes preloaded with Sex Prompts and nude-biased characters, so maybe you want to disable those.

You can either do:

<[Preset][SFW]>

OR you can do:

<[Preset][--NSFW]>

These do effectively the same thing, sort of. The [--NSFW] notation means that you will be 'excluding' a tag from loading. Meanwhile, the [SFW] notation means only SFW presets will be loaded. These might seem like the same thing, but if there are any presets that have not been labeled as SFW or NSFW, the former will exclude those, while the latter will not.

Basically, if you don't want something to appear, you should generally exclude the tag for it. Don't 'include' the tag for its opposite.

Here are a list of commonly recommended presets I give out to newbies. Just paste one of these in at a time along with some standard image generation settings and hit generate.

<[AIOGirl]> = Generate a completely random girl!

<[AIOGirl][SFW|--NSFW]> Same, but without any chance of seeing NSFW content.

<[AIOGirl][--SFW|NSFW]> Same, but highly biased toward seeing NSFW content.

<[Preset]> Generate from ANY of the presets in Umi.

<[Preset][SFW|--NSFW]> Same, but without any chance of seeing NSFW content.

<[Preset][--SFW|NSFW]> Same, but highly biased toward seeing NSFW content.

<[Preset][Species]> Want to see some of the Specialized Species I've made? These include angels, demons, golems, etc. Some of them are NSFW, so specify --NSFW if that bothers you. These are mainly nude Nymphs and the like