live
MODEL IDkrea:krea@3

Krea 3

Krea
by

Krea 3 is Krea's image model for text-to-image generation and precise editing of existing images. Boxes mark the areas to change and the objects to bring in from up to eight reference images, each with an optional label and instruction, while the rest of the frame stays untouched. Output comes in 1K, 2K, and 4K across ten aspect ratios, with a fast or high thinking level.

Krea 3

Prompting

How to write prompts for Krea 3: layering a scene description, choosing one of the 30 output sizes and deciding when the high thinking level is worth the wait.

Introduction

Krea 3 generates an image from a written description and expands that description before it renders. A short prompt still comes back as a finished picture, because the model fills in what you left out. That expansion is also why the most reliable way to control the result is to leave it less to fill in: name the subject, the setting, the light and the camera, and the model spends its planning on the details instead of on guessing your intent.

The prompt above names every object in the frame, where the runner sits, where the empty space goes and what the camera does, and it asks for one saturated color so the shoes carry the image. The request is the whole contract: a prompt, and a size from the model's list.

Try in Playground
import { createClient } from '@runware/sdk'

const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()

const [result] = await client.run({
  model: 'krea:krea@3',
  positivePrompt: 'Lifestyle campaign photograph for a running brand. A man in his late twenties sits on the stone front steps of a Brooklyn brownstone at seven in the morning, tying the laces of bright coral running shoes, a steel water bottle and a folded gray windbreaker on the step beside him. He wears charcoal running tights, a navy long-sleeve top and wireless earbuds. Cool early daylight from the street side, soft shadows, a few parked bicycles out of focus at the curb. Low side-on shot at step height, 35mm lens, the runner in the left half of the frame and open street space on the right. Photoreal sports lifestyle photography, cool neutral palette with the coral shoes as the only saturated color.',
  width: 2736,
  height: 1536
})
import asyncio
import os

from runware import Runware


async def main():
    async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
        results = await client.run({
            "model": "krea:krea@3",
            "positivePrompt": "Lifestyle campaign photograph for a running brand. A man in his late twenties sits on the stone front steps of a Brooklyn brownstone at seven in the morning, tying the laces of bright coral running shoes, a steel water bottle and a folded gray windbreaker on the step beside him. He wears charcoal running tights, a navy long-sleeve top and wireless earbuds. Cool early daylight from the street side, soft shadows, a few parked bicycles out of focus at the curb. Low side-on shot at step height, 35mm lens, the runner in the left half of the frame and open street space on the right. Photoreal sports lifestyle photography, cool neutral palette with the coral shoes as the only saturated color.",
            "width": 2736,
            "height": 1536
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "imageInference",
      "taskUUID": "6b2e8f14-3c7a-4d59-9e1b-0a4c7d2f8e63",
      "model": "krea:krea@3",
      "positivePrompt": "Lifestyle campaign photograph for a running brand. A man in his late twenties sits on the stone front steps of a Brooklyn brownstone at seven in the morning, tying the laces of bright coral running shoes, a steel water bottle and a folded gray windbreaker on the step beside him. He wears charcoal running tights, a navy long-sleeve top and wireless earbuds. Cool early daylight from the street side, soft shadows, a few parked bicycles out of focus at the curb. Low side-on shot at step height, 35mm lens, the runner in the left half of the frame and open street space on the right. Photoreal sports lifestyle photography, cool neutral palette with the coral shoes as the only saturated color.",
      "width": 2736,
      "height": 1536
    }
  ]'
runware run krea:krea@3 \
  positivePrompt="Lifestyle campaign photograph for a running brand. A man in his late twenties sits on the stone front steps of a Brooklyn brownstone at seven in the morning, tying the laces of bright coral running shoes, a steel water bottle and a folded gray windbreaker on the step beside him. He wears charcoal running tights, a navy long-sleeve top and wireless earbuds. Cool early daylight from the street side, soft shadows, a few parked bicycles out of focus at the curb. Low side-on shot at step height, 35mm lens, the runner in the left half of the frame and open street space on the right. Photoreal sports lifestyle photography, cool neutral palette with the coral shoes as the only saturated color." \
  width=2736 \
  height=1536
{
  "taskType": "imageInference",
  "taskUUID": "6b2e8f14-3c7a-4d59-9e1b-0a4c7d2f8e63",
  "model": "krea:krea@3",
  "positivePrompt": "Lifestyle campaign photograph for a running brand. A man in his late twenties sits on the stone front steps of a Brooklyn brownstone at seven in the morning, tying the laces of bright coral running shoes, a steel water bottle and a folded gray windbreaker on the step beside him. He wears charcoal running tights, a navy long-sleeve top and wireless earbuds. Cool early daylight from the street side, soft shadows, a few parked bicycles out of focus at the curb. Low side-on shot at step height, 35mm lens, the runner in the left half of the frame and open street space on the right. Photoreal sports lifestyle photography, cool neutral palette with the coral shoes as the only saturated color.",
  "width": 2736,
  "height": 1536
}
Response
[
  {
    "taskType": "imageInference",
    "taskUUID": "6b2e8f14-3c7a-4d59-9e1b-0a4c7d2f8e63",
    "imageUUID": "d81f3a62-4b9c-4e07-a5d2-7c1e9b4f0a38",
    "imageURL": "https://im.runware.ai/image/os/a14d18/ws/2/ii/d81f3a62-4b9c-4e07-a5d2-7c1e9b4f0a38.jpg"
  }
]

This guide covers how to layer a prompt, which sizes the model renders, when to use each thinking level, and what a seed does and does not hold.

Writing the prompt

A prompt that reads like a brief for a photographer gives the expansion step the least room to wander. Write it in layers: what the image is for, what is in it, where it is, how it is lit, how it is shot, and the finish you want. Each layer answers a question the model would otherwise answer for you.

A bright two-bedroom apartment living room staged for a real estate listing., A low oatmeal linen sofa faces a white oak media console, with a round jute rug and a single olive tree in a terracotta pot by the window., Floor-to-ceiling windows on the left with sheer curtains,, late morning daylight across a herringbone oak floor., Wide shot from the doorway at chest height, 20mm lens, vertical lines kept straight., Photoreal interior photography, warm neutral palette.
PurposeSubjectSettingLightingCameraStyle

The purpose line comes first because it sets every default that follows: "staged for a real estate listing" already implies a tidy room and even light. The camera layer then carries the instruction a listing photographer would follow, "vertical lines kept straight", which keeps the room square instead of leaning.

Name objects by material and color, not by quality. "A low oatmeal linen sofa" gives the model three decisions it would otherwise make on its own. "A beautiful sofa" gives it none.

Choosing a size

A request without reference images needs width and height, and only 30 pairs are accepted: ten aspect ratios at three tiers. Any other pair is rejected, so copy the values from this table.

Aspect ratio1K2K4K
1:11024 × 10242048 × 20484096 × 4096
4:5912 × 11521824 × 22883648 × 4576
3:4880 × 11841776 × 23683552 × 4736
2:3832 × 12481680 × 25123360 × 5024
9:16768 × 13601536 × 27363072 × 5472
5:41152 × 9122288 × 18244576 × 3648
4:31184 × 8802368 × 17764736 × 3552
3:21248 × 8322512 × 16805024 × 3360
16:91360 × 7682736 × 15365472 × 3072
21:91568 × 6723136 × 13446272 × 2688

Compose for the aspect ratio you ask for. A vertical story needs the subject and the empty space arranged for a tall frame, so say where things sit in that frame rather than describing a scene and hoping the crop works.

The prompt reserves the upper third for a headline and puts the box in the lower half, which is how a story ad is laid out before any text goes on it. "No text" keeps the model from inventing a headline you would have to paint out.

The tier sets how much detail survives at full size. 4K is for print and large-screen crops, where the fine texture of a material has to hold up when someone zooms in.

The loupe sits on the earcup cushion, where the knit and the stitched seam are the details a product page zooms into. Both are named in the prompt, so name the textures a buyer will zoom into instead of leaving them to the model.

Thinking level

settings.thinkingLevel decides how much the model plans before it renders. fast quickly expands the prompt and then generates, and it is the default. high plans with a stronger reasoning step and takes longer, which is meant for complex or multi-step edits and for requests that combine several reference images.

{
  "settings": {
    "thinkingLevel": "high"
  }
}

Every image in this guide runs on fast. The four-reference fashion composition in the reference images guide and the chair swap in the edit regions guide use high, because each has several inputs to reconcile in one render.

Seeds

seed fixes the random starting point of the render, but a repeated seed does not guarantee an identical image. The prompt expansion step can come out differently between runs, so two requests with the same prompt and seed can come back different. Use a seed to keep variations of one prompt comparable, and keep the file you want instead of counting on regenerating it later.

Tips for best results

  1. Open with what the image is for. "A real estate listing photo" or "a social story ad" sets the lighting and framing defaults in one phrase.
  2. Describe placement inside the frame. "In the left half" or "the upper third left empty" is how you get room for copy and a composition that suits the aspect ratio.
  3. Name materials and colors. "Oatmeal linen" and "brushed aluminum" are decisions the model follows. "Premium" and "beautiful" are not.
  4. Write text in quotation marks. A word in quotes is a word to render exactly.
  5. Say "no text" when you want none. Packaging, signs and screens invite the model to letter them.
  6. Switch to high for multi-step edits. Several reference images or several changes in one request are what the stronger planning step is for.