Krea 2 Prompting Skill

By Nikita Chernyi

Hi there,

This post is an “I built a thing” post about krea2-prompting (opens in new tab), an agent skill for writing Krea 2 prompts I built recently.

Basically, that’s it: try the skill, have some fun, see you later!


Yeah, I get that it’s a bit unnatural for this blog to have a page this short, so here is some absolutely unnecessary information in case you just want to waste some time.

Once upon a time…

I got a laptop with 128GB of unified memory and ~200 GB/s of bandwidth, which is good enough to run some smaller models locally. And of course I wanted to try different things with it. Some of my experiments were pretty successful (I even wrote You Don’t Need A %Frontier LLM% after spending a while with 27-30b models), while others were meh.

One of the “meh” experiments was trying to get diffusion models to generate images.

Why is it “meh”?

Because I played with it for a while, got some good results, and just lost interest. Yup, that simple.

But I already spent a stupid amount of time on it, so it would be a shame to just throw it away and forget about it.

So, I published the krea2-prompting skill, which was the result of shitton numerous experiments with Krea 2 Turbo.

The skill

and why it is different (sorry, no slop on this blog: all posts are handwritten).

I’m pretty bad at talking in general, and at prompting specifically, so when I need an image of, let’s say, Kafka Hibino mid-transformation (Kaiju No. 8, hello weebs), my prompt is usually “kafka hibino transformation, legs are kaiju already, head is still human, 8k, 244mhz, make no mistakes”.

The result? Some random “abstract art” with tons of artifacts, and it doesn’t even remotely resemble what I had in mind.

So, if I can’t do the thing, I can always ask an LLM to do it for me. After all, why not? Why shouldn’t I keep ask it?

Well, because…

One Does Not Simply Ask An LLM

…to generate an image. I mean, you can, and the results will probably be even better than your “abstract fart”, but it still won’t be what you want. (And also, I felt obliged to include more LOTR quotes in this post, don’t mind me.)

And the reason is pretty simple: models are trained on specific prompt formats, structures, and even specific words. In some cases, they are dramatically different. For example, Krea 2 wants free-form text in plain English, while WAI Illustrious works with booru tags, so if you try to use the same prompt for both, the results will be… “abstract”, to put it mildly.

And because of that, I decided to spend some time on…

Learning (pre-skill era)

Or Krea 2 Prompting Secret Guide (opens in new tab).

And it turned out that… I just didn’t know all the words needed to write the prompts. I mean, English is not my native language, and while it’s at a pretty good level (you can see it on this website), it’s more for work and technology than art.

So, I decided to make my agent generate the prompts for me, and for that I asked it to compile a list of guides I found interesting online into a single skill.

The skill was born

Though the results were still subpar. Because, well, the basics from those guides, prompt structure and whatnot, did help a lot, but the results were still “not as I imagined it”.

So, anyway, I started blasting generating prompts with my agent, trying them and basically documenting what went wrong. Usually there were batches of 10 images per run, each image with a prompt focused on one specific aspect. My assumption was: “okay, you can’t get a full kaiju from a make no mistakes prompt, so let’s try to get a head, a tail, a claw, etc. separately, figure out what’s wrong with each of them, fix, repeat, and then combine them into a single guide”.

Turns out, it worked!

The actual method: use a static params (same checkpoint, same sampling settings, same everything, including seed 424242, because it is the answer, you know), and change 1 variable per prompt iteration. If that changed the result -> document it; it stays. If it didn’t (or produced some garbage) -> document it in the failures table.

But…

I want MOAR!

As of publication, the skill contains 11 reference files, each focusing on a specific topic (well, 3 of them are mostly technical and basic guidance, but anyway).

How did I get them? Trial and error, and hundreds of prompts generated by my agent. Simple as that.

The funny part: adult.md took the most time, and I seriously think it’s the most valuable reference file in the skill, because it turned out that naked people stuff was harder to get right for the Krea 2 Turbo NSFW checkpoint than kaiju transformations.

What’s next?

Nothing.

I mean, I wanted to play with local diffusion models. I did get good results, but that’s it. I lost interest because I don’t have any use cases for it. It was a fun experiment that took an insane amount of time, and I’m pretty satisfied with it.

Setup

Some readers asked (opens in new tab) what I use to run the skill, so here is the full setup:

Agent

The “prompt generator” part.

Diffusion

The “image generator” part.

TL;DR

llms.txt