Krea 2 Prompting Skill
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.
Examples
I prompted DeepSeek v4.1 Flash (opens in new tab) with only skill’s README.md and list of skill’s files to generate 10 prompts on different topics.
Then, skill’s content with all reference files were added to the context, and the model was prompted to generate 10 new prompts on each of the topics again, now with the domain knowledge.
The results (the model chose topics itself, so no adult examples):
Window portrait
| Generic | Skill |
|---|---|
![]() A hyperrealistic portrait of a young woman sitting by a large window, soft morning light on her face, gentle smile, cozy knit sweater, natural skin texture, shallow depth of field, shot on 85mm lens, cinematic warm tones, ultra detailed, 8k, masterpiece, best quality. | ![]() A calm editorial portrait photograph of a young woman seated beside a large window, three-quarter shot, her face turned slightly toward the glass. She wears an oatmeal chunky-knit sweater, her dark hair loosely tied back and a warm mug held in both hands near her chest; the quiet apartment interior behind her falls softly out of focus in muted greys. Soft diffused morning light enters from camera left through sheer curtains, wrapping her face in even illumination and laying a slow gradient across the wall. Shot on 85mm f/2 at eye level with shallow depth of field, Kodak Portra 400 colour palette, natural skin texture with visible pores, catchlights in the eyes, a single loose strand of hair crossing her cheek, the wool weave of the knit readable in the light. A gentle closed-mouth smile. 3:4 vertical crop, calm and candid mood. |
Product hero
| Generic | Skill |
|---|---|
![]() Professional product photography of a luxury stainless steel dive watch resting on wet dark slate, dramatic studio lighting, water droplets on brushed metal, macro details, deep shadows, commercial advertising shot, ultra sharp focus, 8k, ultra detailed, best quality. | ![]() A high-end commercial product photograph of a stainless-steel dive watch resting on wet black slate, framed tight in a 3:4 vertical crop. The case is brushed steel with a polished bezel edge, the dial sits under a slightly domed sapphire crystal, and a black rubber strap curls naturally to the right of the case. Water beads scatter across the slate and stand raised on the brushed metal, each carrying a tiny specular highlight. One large softbox above and slightly behind camera left sculpts a long highlight down the case flank, deep shadow pools under the crown, and a faint rim glint traces the bezel while the background falls into a near-black gradient. A macro lens at f/8 keeps the dial sharp edge to edge, micro-reflections of the light source visible in the crystal, faint scuffs on the slate keeping the surface physical. Polished quiet-luxury mood. |
Arabesque
| Generic | Skill |
|---|---|
![]() An elegant ballerina performing a perfect arabesque en pointe on a theater stage, white tutu, dramatic stage lighting, dark background, professional dance photography, graceful, cinematic, ultra detailed, 8k, masterpiece, best quality. | ![]() A professional dance photograph of a ballerina holding a grand arabesque en pointe on a dark theatre stage, captured in full side profile, her line reading from the supporting foot through the extended back leg to the fingertips. She wears a pale ivory classical tutu with a matte satin bodice. A single hard side light from stage left carves her silhouette out of the near-black stage; a cool rim light traces the extended arm and the arch of the supporting foot, thin haze hanging over the boards. Shot on 85mm at stage level with the full figure sharp, 3:4 vertical crop giving clean air above the extended leg, fine film grain, quiet dramatic mood. Pose: Ballet Arabesque leg_position: The supporting leg is fully extended en pointe, foot vertical in the shoe; the working leg extends straight behind the body at hip height, knee locked, foot pointed. arm_position: The front arm reaches forward at chest height with a soft elbow curve; the back arm extends behind at shoulder height, both held in a long classical line. hand_position: Fingers elongated and relaxed with a gentle downward curve, wrists soft. torso_orientation: Spine elongated and slightly inclined forward, chest lifted, shoulders level and pulled down. head_orientation: Head turned to gaze past the front arm toward the horizon, chin level and serene. weight_distribution: Nearly all of the weight rests on the supporting foot en pointe, the extended leg carrying none. center_of_gravity: Balanced directly over the supporting foot, the extended back leg acting as counterweight. muscle_tension: High in the supporting leg, ankle, and core; calm and controlled everywhere else. movement_quality: Suspended, elegant, effortless. balance: Dynamic, held at the top of the rise. silhouette: A long horizontal line through the extended leg and arms balanced on a single vertical column. |
Goat carry
| Generic | Skill |
|---|---|
![]() A shepherd carrying a goat over his shoulder, walking through a green mountain meadow at golden hour, rural documentary photography, natural light, mountains in the background, ultra detailed, 8k, best quality. | ![]() A documentary photograph of a shepherd carrying a goat over one shoulder along a grass ridge in a mountain meadow at golden hour, full body in frame, 3:4 vertical crop. He wears a worn canvas jacket and rubber boots; the goat rides draped across his shoulders with its head hanging calmly behind his back. The camera holds at eye level, 35mm environmental, a low raking sun from camera right stretching his shadow across the grass, warm rim light through the goat’s ear fur and the shepherd’s weathered face, thin haze lying over the valley beyond. Film grain, natural colour, unhurried rural mood. Pose: Carrying a Goat Over Shoulder leg_position: A stable walking stance, lead foot planted on the uneven grass and the trailing leg mid-push, knees soft. arm_position: One arm supports the goat over the shoulder while the opposite arm balances naturally. hand_position: Firm grip securing the goat’s forelegs, the opposite hand relaxed and open. torso_orientation: A slight lean opposite the carried load, shoulders squared to the path ahead. head_orientation: Neutral with a forward gaze. weight_distribution: Shifted slightly toward the supporting side. center_of_gravity: Offset toward the load. muscle_tension: Moderate to high in the shoulders, back, and legs. movement_quality: Strong, deliberate, and efficient. balance: Stable despite the asymmetrical load. silhouette: Asymmetrical silhouette emphasizing the elevated goat. |
Poster text
| Generic | Skill |
|---|---|
![]() Movie poster for a science fiction film titled SILENT ORBIT, a lone astronaut floating above a ringed planet, dark space background, cinematic dramatic lighting, blockbuster poster style, tagline text “no one is coming”, ultra detailed, 8k, best quality. | ![]() A cinematic science fiction film poster in a vertical 3:4 crop. A lone astronaut floats small in the lower centre of the frame, seen from behind, above the curve of a ringed planet that fills the middle distance; deep darkness holds the upper half of the canvas. A pale sun glints off the helmet and along the planet’s terminator line, cold blue and graphite palette, subtle film grain across the whole poster. The only large readable text is the title “SILENT ORBIT”, set in condensed sans-serif capitals across the upper third, with the small tagline “no one is coming” in thin lowercase letters beneath it; both lines sit integrated into the dark negative space, the planet’s ring crossing slightly over the title. Poster art register, generous empty darkness around the text block, quiet monumental dread. |
Film noir
| Generic | Skill |
|---|---|
![]() Film noir portrait of a detective in a fedora and trench coat smoking a cigarette, dramatic venetian blind shadows across his face, black and white photography, 1940s atmosphere, mysterious moody lighting, film grain, cinematic, ultra detailed, 8k, masterpiece. | ![]() A black-and-white film noir portrait of a detective seated in a shabby office late at night, three-quarter frame in a 3:4 vertical crop. He wears a heavy wool trench coat and a felt fedora tilted low, a cigarette burning between two fingers near his chin, smoke drifting through the frame and catching the light. Hard slatted light from venetian blinds falls across his face and the wall behind him, cutting the scene into bars of deep black and silvered highlight; a dim desk lamp glows behind his shoulder, case files fanned open at the desk edge. Shot on 50mm f/2 at seated eye level, shallow depth of field, Ilford HP5 black-and-white film stock with coarse grain, felt and wool texture absorbing the light, stubble and tired skin visible in the open highlight. Brooding, tense mood. A hard-boiled, chiaroscuro, morally ambiguous photographic style built on slatted shadow geometry, extreme tonal separation between silver highlights and crushed blacks, rain-slicked urban atmosphere pressing in at the frame edges, and a world-weary gravitas that feels vintage and dangerous. Influenced by: 1940s Hollywood crime cinema, German Expressionist lighting technique, hard-boiled pulp illustration tradition, silver-halide black-and-white film practice. |
Megastructure
| Generic | Skill |
|---|---|
![]() Epic sci-fi megastructure, an enormous futuristic arcology city built inside a colossal glass pyramid in the desert at sunset, tiny airships circling above, epic scale, cinematic concept art, highly detailed, 8k, masterpiece, best quality. | ![]() A photorealistic cinematic photograph of a colossal arcology rising from the desert, a glass-and-steel pyramid 2,800 meters tall, its full height revealed from foundation to summit. The structure occupies about two thirds of the frame, its base sprawling beyond both side edges while the horizontal city grid extends endlessly out of frame. Captured from an extreme far distance with a 600mm super telephoto at a level angle, its surface resolving into a dense honeycomb of human-scale windows, balconies, ventilation stacks, and maintenance catwalks, a fine glittering grid where the sunset catches the glass. The upper third of the frame stays open as amber sunset sky, drifting dust haze separating the pyramid from the horizon. At the extreme distant base, on the same far depth plane, a convoy of heavy trucks occupies less than 0.1% of the frame as tiny dark marks. Warm amber light rakes the western face while the eastern face falls into deep shadow. Documentary mood, 3:4 vertical crop. |
Kaiju
| Generic | Skill |
|---|---|
![]() Epic shot of a colossal kaiju monster destroying a coastal city at dusk, towering over skyscrapers, dramatic lighting, destruction, fleeing crowds, cinematic, hyper detailed, 8k, masterpiece, best quality. | ![]() A photorealistic cinematic photograph of a colossal fictional leviathan wading through a coastal city at dusk, standing 900 meters tall above the harbour skyline. The creature has a mountainous bipedal body, a ridged carapace of overlapping obsidian scales crusted with barnacles, and a dorsal ridge split by glowing fissures; its surface reads as a dense biological landscape of millions of hand-sized plates and pores. One clawed foot rests in the flooded streets past the seawall, structural debris and spray scattered around it, the tail disappearing out of the right edge of the frame; the upper third of the image stays open as a dark storm sky. A grid of headlights threads the streets at its feet, less than 1% of the frame on the same distant depth plane as the far shoreline, with a container ship lying tilted at the quay beside its ankle. Shot from an extreme far distance with a 400mm super telephoto at a low angle, dusk light rimming the creature’s silhouette in cold amber, fog and dust haze separating the layers of the city. 3:4 vertical crop, monumental disaster-reportage mood. |
Cosmic horror
| Generic | Skill |
|---|---|
![]() Cosmic horror scene, a terrifying eldritch entity rising from the sea under a stormy sky, tentacles and glowing eyes, lovecraftian, a lone cultist watching from a rocky shore, dark ominous atmosphere, cinematic, terrifying, ultra detailed, 8k, masterpiece. | ![]() A photorealistic cinematic photograph of an unknowable cosmic entity rising from the black ocean, a mass 2,000 meters high whose geometry refuses classification: nested rings of wet eyes set in a necrotic hide, branching tendrils descending into the water, and a crown of structures that might be organs. Its surface is a claustrophobic field of normal-sized suckers, pores, and translucent membranes, mucous sheen catching the cold light. The upper left third of the frame stays empty as a starless storm sky, interrupted only by one impossible second horizon low in the gap. At the far shore on the same distant depth plane, a lone witness in a heavy coat stands on wet rocks, under 0.5% of the frame, the only human shape in the scene. Shot from a boat deck with a 500mm super telephoto, flattened oppressive compression, a mirror-smooth black sea reflecting the mass in perfect symmetry, cold cyan light bleeding from bioluminescent veins against deep blue darkness, thin fog separating the layers. 3:4 vertical crop, existential dread. |
Boudoir
| Generic | Skill |
|---|---|
![]() Boudoir photography of a woman in an elegant silk slip sitting on the edge of a bed, soft morning light through sheer white curtains, tasteful and elegant, intimate atmosphere, shallow depth of field, photorealistic, ultra detailed, 8k, best quality. | ![]() A boudoir photograph of a woman sitting on the edge of an unmade bed in a softly lit bedroom, three-quarter body in a 3:4 vertical crop. She wears a champagne silk slip catching a soft sheen along its folds, one knee drawn up, hair loosely pinned, her gaze lowered to the side; a thin robe has slipped off one shoulder onto the mattress. Window light diffuses through sheer white curtains from camera right, wrapping her shoulders and laying gentle shadows across the linen sheets; the room behind settles into quiet warm greys. Shot on 50mm f/2 at seated eye level, shallow depth of field, natural skin texture with visible pores, subtle film grain, the linen weave and the fluid highlights of the silk both readable. Intimate, elegant morning mood. |
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.
- Harness: Oh My Pi (opens in new tab)
- Models (I used different models while experimenting; can’t say the results differed, but here is the full list anyway):
- Cloud (Venice.ai (opens in new tab)): GLM 5.3 Flash (opens in new tab), DeepSeek v4 Flash (0423) (opens in new tab), DeepSeek v4.1 Flash (opens in new tab)
- Local: Qwen 3.8 27b Swift (1.0/1.5) (opens in new tab), Qwen 3.8 27b GSQ-RCO (opens in new tab) (original, ISTA-DASLab), Muse Glimmer 30b (opens in new tab)
Diffusion
The “image generator” part.
- Harness: ComfyUI (opens in new tab) (I used desktop + MCP for my agent)
- Model: Krea 2 Turbo Lustify Checkpoint (opens in new tab) (I started with the standard Krea 2 Turbo, but switched to this checkpoint for
adult.md)
TL;DR
- Skill repo: github.com/rakshazi/krea2-prompting (opens in new tab)
- Works with any agent that supports skills
- Designed to work with Krea 2 Turbo specifically
- Prompting only: checkpoints and workflows are yours to figure out
- This blog post is absolutely unnecessary, just go to the skill repo
(Un-)related posts about AI
AI, SI, AGI, ASI, LLMs, and other buzzwords from the position of a backend engineer already tired of ‘Dear colleagues, we are AI-first now!’



















