Jan 16, 2024
When we first launched niji, we made 4 bespoke styles: expressive, cute, scenic, original. About a year into our journey, we launched a new feature that lets everyone tune their own unique styles.
If you haven’t tried style tuner yet, please give it a shot! You can use the personalized styles in the same way that you use the official niji styles: simply type --style, followed by the style code.
For full instructions on how to use style tuner, see Personalized Niji Styles!
This devlog is dominated by my aesthetic, so for this installation, I asked other members of our hardworking niji team to contribute their own unique styles.
Here’s 2 fresh styles to try:
Name
Decorated Paintings
Creator
kumany
Usage
frame in frame,( Put the prompt you want to put on the edge here! ) --niji --style 4ag0uYw5TU1WOaTn
Description
You can enter the prompt you want to frame in ( ), and it might be displayed in a picture frame. However, it's a whimsical style that might escape from the frame or not always work as expected.
Name
Sakura dreams
Creator
nknk
Usage
Put the prompt you want here! --niji --style 3UjsiHGyLHc6
Description
That style is cuteee, I want all people to use that
Using styles is rather easy, but making a style is hard. I’ve heard people compare the style quiz to a horoscope. In actuality, it’s not that mysterious!
The trick is following some disciplined rules.
Step 1: Start from a concrete style
It may be shocking, but the easiest way to get a style to show up well is to know what style you’re going for. Even for those of you trying to get something strange, my recommendation is to start from something concrete, and then make adjustments until it’s weird and unique.
Remember, art starts from the mind of the artist, but ultimately finishes in the mind of the viewer. Knowing what you want is a key, because having a good understanding of style is the best way to convey it to others.
In this example, we’ll be making a style which draws in crayon, like a 5-year-old. This is a relatively hard style to make: niji’s natural inclination is to make the drawing digital and well-formed. Here, we are purposefully trying for a deformed, traditional style, to push the boundaries of niji style tuner.
💡
Make an explicit list of terms and conditions that will define your style
These are the rules for our crayon style:
The crayon style we want is traditional, not digital.
The crayon style we want must be poorly drawn, like a child’s scribble. We don’t want good crayon art.
The crayon style we want must be applicable to people and buildings. We are ok if it draws other things poorly.
Visually, we want something that consistently looks like this:
5 year old child's drawing
With that clear-minded focus, let’s get started.
Step 2: Minimize the style words
I see a lot of people trying to tune on humongous prompts. Something like
5 year old child crayon drawing, found art, charcoal, chiaoscuro, crayons, traditional art, white paper, scribbles, ukiyo-e, minimalist, brutalist, blink and you miss it detail, dutch angle, a spooky house
/tune 5 year old child crayon drawing, found art, charcoal, chiaoscuro, crayons, traditional art, white paper, scribbles, ukiyo-e, minimalist, brutalist, blink and you miss it detail, dutch angle, a spooky house
This is not great: for one, you can see the words meant as style accidentally popping up in there as subject matter. We don’t want a drawing of a 5-year-old child, we want a messy drawing, as if it were drawn by a 5-year-old.
💡
When tuning a style, you need to keep the style words to a minimum. Remember, the goal of a style code is to get those style words into the style code itself, without you having to write the words.
For example, in the crayon prompt, you want to tune around this instead:
crayon drawing, a spooky house
/tune crayon drawing, a spooky house
Much better. Actual houses drawn in crayon.
It might take time to pare down the prompt, especially if you are used to writing a lot, but trust me, less is more! Note: You can also tune without style words, though that is a bit more difficult, so we won’t go into that too much in this post.
Certain subject matter and style combinations simply do not exist in reality. For example, you can’t get a 5-year-old’s drawing of Evangelion in reality, because making a 5-year-old watch Evangelion would be cruel.
This is the arena where machine creativity shines. It’s quite incredible, if you think about it: no real data of a 5 year old drawing Evangelion exists, so any style that can draw this is battling against the statistical unlikelihood of such a subject matter + style combination.
In data science, this is called “correcting a bias”. If all cats are drawn pink in the real world, then models would have a tough time drawing an orange cat. In order to draw an orange cat, we must correct the model’s preference towards pink cats (bias)
You can get a taste of that yourself, through niji’s style tuner. To do this, we need a boundary prompt.
Constructing A Boundary Prompt
The idea of a “boundary prompt” is one where a lot of the pictures you see in the tuner DON’T satisfy the Step 1 requirements.
To understand how this works, imagine the following scenario: you are teaching somebody whether something is a plant or an animal through examples. Telling them about cats dogs, roses, or pine trees is fairly low informational content: it’s clear whether those are plants or animals. However, an animal that looks like like a plant (a sea anemone), or a plant that eats like an animal (a venus flytrap), is very high information content: it is a ruling on a decision that is not obvious to derive from using conventional wisdom. In other words, a boundary prompt. You’ll want one of these to tune your style.
Let’s recap: at this point, you have your style words and a grid in front of you.
You made a list of conditions that you’re looking for in the style
You’ve minimized the number of words needed to get that style to show up
Now you need to do the actual selection of pictures for the style.
crayon drawing, a spooky house is not a good boundary prompt because too many of the drawings on the grid satisfy the list of conditions
💡
Pick boundary prompts where lots of the generations fail the step 1 conditions.
crayon drawing of a girl with blonde hair and blue eyes is a much better boundary prompt. There are clearer fail conditions.
When I see a grid like this, I like to zoom in into the comparison view, and re-examine our rules:
We will be rejecting most choices, based on the step 1 rules we’ve defined:
The crayon style we want is traditional, not digital.
many sets fail because the rendering is too digital.
The crayon style we want must be poorly drawn, like a child’s scribble. We don’t want good crayon art.
many sets fail because because the rendering is too good to be a child’s drawing:
or it’s not in crayon!
The crayon style we want must be applicable to people and buildings. We are ok if it draws other objects poorly.
Between people and buildings, it looks like “people” is harder to get in a child’s crayon style than “buildings,” so we can stick with one tuner for “people.” If you have multiple requirements for your style, you’ll need to break out multiple tuners for each subject matter you want to fulfill.
Now that you have identified the disqualifiers to your style, what’s left to do is direct aesthetic preference. Notice that we’ve waited 3 whole steps before we asked ourselves about aesthetics!
Between these two types of bad drawings, which do I prefer?
💡
keeping a clear vision of what you want is the key to aesthetics.
I want a crayon-drawing in the style of a 5-year-old child. The right one looks more like something a teenager would draw, instead of a younger child, so I need to choose the left one
Be strict with yourself: it’s tempting to veer off into choices that look pretty, instead of choices that meet the requirement. Keep it pure and simple. Do not put anything in that doesn’t fulfill the original concept.
Step 5: Testing and Exploration
You did it! You filled out that quiz methodically, and now you have your precious style code!
4MSFgkbAzqAL30fKxGBupzCU6BeelAvx6
Compare the output of the tuned style to the default niji 5 styling:
crayon drawing, castle in the air --style 4MSFgkbAzqAL30fKxGBupzCU6BeelAvx6
crayon drawing, castle in the air
Hooray! What next?
It’s Time to TEST! Take the style code and generate other prompts with it.
💡
Remember, you tuned this using your Step 2 style words. You need to continue using those style words for the prompt to work.
If it works as desired, you’re done!
If it doesn’t work as desired, figure out what the problem is
If it’s having trouble being consistent within the same prompt
go back to step 2, and try to choose different style words
If it’s having trouble with particular subject matter
go back to step 3, and use the words with the subject matter
Now that you have a style that is very accurate to what you envision, you can explore around it! Keeping the choices that you’ve selected, I suggest adding or subtracting one style at a time and testing to slowly walk the style towards something unexpected and fabulous.
I hope the above methodology illuminates some of the tricks of the otherwise complex process of style tuning. I wish you a most delightful journey, into the unknown!
Welcome to niji・journey, a state-of-the-art AI that draws custom anime illustrations, just for you! A magical collaboration, designed together between brilliant minds at Spellbrush & Midjourney. Whether you’re looking for a cute chibi character or a dynamic action scene, niji・journey can bring your vision to life. We can’t wait to see what you create!
If you’re an AI researcher and you love anime, please shoot us an email over at [email protected].
Otherwise, if you're talented and on the job market, you can find other open positions on our careers page.
For commercial inquiries and studio licensing, please contact [email protected].