Skip to content

Krea v2 image generation

Krea v2 is Krea's text-to-image family, hosted through FAL. The orchestrator exposes both tiers — medium for fast everyday generation and large for higher-quality hero shots — under a single engine: "fal", model: "krea2" entry, with a size field selecting the tier.

Default choice for new integrations: size: "medium". Step up to size: "large" when quality matters more than throughput or cost.

Prerequisites

Tiers

sizeFAL endpointBest for
medium (default)krea/v2/medium/text-to-imageFast iteration, lower cost
largekrea/v2/large/text-to-imageHigher-fidelity output for hero shots

Both tiers accept exactly the same input shape.

Text-to-image — medium

http
POST https://orchestration.civitai.com/v2/consumer/workflows?wait=60
Authorization: Bearer <your-token>
Content-Type: application/json

{
  "steps": [{
    "$type": "imageGen",
    "input": {
      "engine": "fal",
      "model": "krea2",
      "operation": "createImage",
      "size": "medium",
      "prompt": "A photorealistic portrait of a woman with flowers in her hair, golden hour lighting",
      "aspectRatio": "1:1",
      "creativity": "medium"
    }
  }]
}
POST/v2/consumer/workflows
Set your Civitai API token via the Token button in the navbar to enable Try It.
Request body — edit to customize (e.g. swap the image URL or prompt)
Valid JSON

Parameters

FieldDefaultRangeNotes
prompt— ✅1–5000 charsNatural-language prompts work well.
size"medium""medium" / "large"Picks the FAL tier and pricing.
aspectRatio"1:1"1:1 / 4:3 / 3:2 / 16:9 / 2.35:1 / 4:5 / 2:3 / 9:16Krea returns a fixed-resolution image per ratio — no width/height.
creativity"medium"raw / low / medium / highHigher creativity gives Krea more interpretive license; raw follows the prompt most literally.
quantity1110Krea has no native batch — quantities > 1 fan out to parallel FAL calls.
seedrandomuint32Pin for reproducibility. The same seed is used for every image in a quantity batch (matches the FAL-Qwen2 path).
imageStyleReferences[]up to 10 itemsSee Style references below. Triggers a small price premium.

Krea v2 does not accept LoRAs, negative prompts, or explicit width/height — use the Flux 2 or Qwen recipes if you need any of those.

Text-to-image — large

Swap size to "large" for the higher-quality tier. The input shape is identical:

json
{
  "steps": [{
    "$type": "imageGen",
    "input": {
      "engine": "fal",
      "model": "krea2",
      "operation": "createImage",
      "size": "large",
      "prompt": "An epic fantasy battle scene with dragons, cinematic lighting, intricate details",
      "aspectRatio": "16:9",
      "creativity": "high"
    }
  }]
}
POST/v2/consumer/workflows
Set your Civitai API token via the Token button in the navbar to enable Try It.
Request body — edit to customize (e.g. swap the image URL or prompt)
Valid JSON

Style references

Pass up to 10 reference images to nudge Krea toward a specific visual style. Each entry needs an imageUrl (publicly fetchable) and an optional strength from -2.0 to 2.0 (default 1.0). Negative strengths repel from the reference style — useful for stylistic exclusion.

json
{
  "steps": [{
    "$type": "imageGen",
    "input": {
      "engine": "fal",
      "model": "krea2",
      "operation": "createImage",
      "size": "medium",
      "prompt": "A serene mountain landscape with the same artistic style",
      "aspectRatio": "3:2",
      "creativity": "medium",
      "imageStyleReferences": [
        { "imageUrl": "https://image.civitai.com/.../reference.jpeg", "strength": 1.0 }
      ]
    }
  }]
}
POST/v2/consumer/workflows
Set your Civitai API token via the Token button in the navbar to enable Try It.
Request body — edit to customize (e.g. swap the image URL or prompt)
Valid JSON

Style references trigger a small price premium — see Cost.

Reading the result

Krea emits the standard imageGen output — an images[] array with one entry per quantity:

json
{
  "status": "succeeded",
  "steps": [{
    "name": "0",
    "$type": "imageGen",
    "status": "succeeded",
    "output": {
      "images": [
        { "id": "blob_...", "url": "https://.../signed.jpeg" }
      ]
    }
  }]
}

Blob URLs are signed and expire — refetch the workflow or call GetBlob for a fresh URL.

Runtime

TierTypical wall time per imagewait recommendation
medium5–15 swait=60 is comfortable for quantity: 1
large15–40 swait=60 usually fine; fall back to wait=0 on busy periods

Large quantity pushes toward the 100-second request timeout — submit with wait=0 and poll.

Cost

Billed in Buzz on the workflow's transactions. Use whatif=true for an exact preview; see Payments (Buzz) for currency selection.

TierWithout style refsWith imageStyleReferences
medium39 Buzz / image45.5 Buzz / image
large78 Buzz / image84.5 Buzz / image

Total = base × quantity. Style references add a flat 6.5 Buzz / image regardless of how many references are attached.

Troubleshooting

SymptomLikely causeFix
400 with "size must be one of"Typo in sizeLowercase "medium" or "large" — no other values are accepted.
400 with "aspectRatio must be one of"Invalid aspect ratioPick one of the listed ratios — Krea doesn't accept width/height.
400 with "creativity must be one of"Invalid creativity levelUse raw, low, medium, or high — case-sensitive.
400 with "imageStyleReferences maxItems"More than 10 referencesTrim the array to ≤ 10.
400 with "strength out of range"strength outside [-2, 2]Krea clamps to [-2.0, 2.0]; default 1.0 is a safe baseline.
Style reference fetch failsURL is private or expiredKrea fetches each imageUrl server-side from FAL — make sure it's publicly reachable.
Output ignores the promptcreativity too highDrop to low or raw for stricter prompt adherence.
Request timed out (wait expired)Large quantity or busy FAL queueResubmit with wait=0 and poll.
Step failed, reason = "blocked"Prompt or reference image hit content moderationDon't retry the same input — see Errors & retries → Step-level failures.

Civitai Developer Documentation