Krea API
Krea API on WaveSpeedAI — Krea V3 text-to-image and multi-reference edit, plus Krea 2 Large, Medium, Medium Turbo and the open-weights Krea 2 Turbo with LoRA support, all through one REST API.
Generate images with Krea V3 (quality and speed variants, custom dimensions, seed control), edit and combine up to eight reference images, or pick a Krea 2 model: Large, Medium, Medium Turbo, or the 8-step Turbo with custom LoRAs. Same REST prediction flow as every other model on WaveSpeedAI.
/filters:quality(82)/examples/8e475af85e3a133ce72395fa4d13b142/7a8e5730-8675-4a6e-99bb-7001856bfce9-a6d82fb72d54.webp)
Overview
About the Krea API
What Krea does, how it fits in the Krea model lineup, and why teams reach for it.
Krea is a image generation and editing model from Krea, available through the WaveSpeedAI REST API. Krea API on WaveSpeedAI — Krea V3 text-to-image and multi-reference edit, plus Krea 2 Large, Medium, Medium Turbo and the open-weights Krea 2 Turbo with LoRA support, all through one REST API.
Generate images with Krea V3 (quality and speed variants, custom dimensions, seed control), edit and combine up to eight reference images, or pick a Krea 2 model: Large, Medium, Medium Turbo, or the 8-step Turbo with custom LoRAs. Same REST prediction flow as every other model on WaveSpeedAI.
The Krea family on WaveSpeedAI ships 7 REST endpoints covering Image-To-Image, Text-To-Image workflows. Each variant carries its own pricing, parameter knobs, and example outputs — pick the one that matches your input modality and production constraints, or call several from the same API key to compose multi-step pipelines.
Run Krea through the same API key, billing account, and rate-limit envelope you use for the other 1,000+ AI models on WaveSpeedAI. No separate vendor setup, no per-provider SDKs, no per-vendor rate-limit envelopes — one integration covers everything from text-to-image and text-to-video through audio synthesis, 3D generation, upscaling, and editing.
Endpoints
All Krea API endpoints
7 Krea endpoints available now on WaveSpeedAI — pick the variant that matches your workflow.
/filters:quality(82)/media/images/a2e353a9-d1bb-4170-bd12-5ed15618f595.webp)
v3 Edit
Krea V3 Image Edit edits and combines up to eight reference images with natural-language instructions, supporting quality and speed variants, custom dimensions, seed control, multi-image composition, creative edits, and production workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
/filters:quality(82)/media/images/e65ddbc6-5ad1-45b7-8daf-4a8a238ed388.webp)
v3 Text To Image
Krea V3 Text-to-Image generates images from text prompts with selectable quality and speed variants, custom dimensions, and seed control for flexible creative and production workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
/filters:quality(82)/media/images/1779943610167150689_a31rYmzL.webp)
Krea v2 Large Text To Image
Krea 2 Large Text to Image is a fast AI image generation model that creates high-fidelity images from text prompts with aspect ratio, creativity, and optional style reference controls. Ready-to-use REST inference API for creative design, marketing visuals, product mockups, brand assets, social media content, concept art, and professional text-to-image workflows with simple integration, no coldstarts, and affordable pricing.
/filters:quality(82)/media/images/1780596132754154120_Yivuwsso.webp)
Krea v2 Medium Turbo Text To Image
Krea 2 Medium Turbo Text to Image is a fast AI image generation model that creates high-quality images from text prompts with aspect ratio, creativity, and optional style reference controls. Ready-to-use REST inference API for rapid creative design, marketing visuals, product mockups, brand assets, social media content, concept art, and professional text-to-image workflows with simple integration, no coldstarts, and affordable pricing.
/filters:quality(82)/media/images/1779943597135969967_zg3bluEN.webp)
Krea v2 Medium Text To Image
Krea 2 Medium Text to Image is a fast AI image generation model that creates high-quality images from text prompts with aspect ratio, creativity, and optional style reference controls. Ready-to-use REST inference API for creative design, marketing visuals, product mockups, brand assets, social media content, rapid ideation, and professional text-to-image workflows with simple integration, no coldstarts, and affordable pricing.
/filters:quality(82)/media/images/1786952803431859313_nSktCM3c.webp)
Krea v2 Turbo Lora
Krea 2 Turbo with LoRA support runs custom LoRAs and generates personalized images natively at 1K to 2K resolution, with both text-to-image and image-to-image support. Ready-to-use REST inference API, best performance, no cold starts, affordable pricing.
/filters:quality(82)/media/images/1786952778439497591_n1qzJS1a.webp)
Krea v2 Turbo
Krea 2 Turbo generates aesthetic-first images natively at 1K to 2K resolution in seconds, supporting both text-to-image and image-to-image. Ready-to-use REST inference API, best performance, no cold starts, affordable pricing.
Examples
See Krea in action
Real outputs generated by the Krea API. Hover any video to preview, click to open the full-size viewer.
How to
How to use the Krea API
Four steps from signup to a finished generation. Full Python, Node.js, and cURL examples are in the API section below.
- 01
Get an API key
Sign up for a WaveSpeedAI account and copy your API key from the dashboard. New accounts come with free starter credits — enough to run the playground a few dozen times before billing kicks in.
- 02
Submit a prediction
POST your input as JSON to https://api.wavespeed.ai/api/v3/krea/v3/text-to-image. The endpoint returns a prediction id immediately — generations are async so you don't hold an open connection during inference.
- 03
Poll for completion
GET https://api.wavespeed.ai/api/v3/predictions/{request_id}/result. Return outputs on completed; stop with an error on failed, cancelled, timeout, or deleted; continue polling for every other status.
- 04
Read the output URL
Once status is "completed", read the URL from data.outputs[0]. The URL points to your generated media on the WaveSpeedAI CDN — image, video, audio, or 3D file depending on the Krea variant you called.
Use cases
What you can build with Krea
Common workflows developers and creators use the Krea API for.
Text-to-image with Krea V3
krea/v3/text-to-image generates images from prompts with quality and speed variants, custom dimensions and seed control.
Combine up to eight references
krea/v3/edit edits and combines up to eight reference images with quality and speed variants, custom dimensions and seed control.
Krea 2 Large and Medium
wavespeed-ai/krea-v2-large, krea-v2-medium and krea-v2-medium-turbo text-to-image add aspect ratio, creativity and optional style-reference controls.
Fast 1K-2K images with Krea 2 Turbo
wavespeed-ai/krea-v2/turbo is the 12.9B open-weights diffusion transformer distilled to 8 steps, generating aesthetic-first images at 1K to 2K in seconds, text-to-image and image-to-image.
Custom LoRAs on Krea 2
wavespeed-ai/krea-v2/turbo-lora runs your own LoRAs on the 8-step Krea 2 engine for personalized styles and characters.
Tips
Tips for prompting Krea
Practical advice for getting better outputs from Krea — drawn from the patterns that work across image models in production pipelines.
- 01
Describe lighting, composition, and style — not just subject
Move past 'a cat' to 'a tabby cat on a windowsill, soft afternoon light streaming in, shallow depth of field, cinematic 35mm composition'. Subject + scene + lighting + camera language is the prompt formula that pulls best from image-model training data.
- 02
Use style anchors instead of artist names
'In the style of editorial photography' or 'studio product shot, white seamless background' beats vague 'high quality, masterpiece' boilerplate AND avoids the legal / licensing concerns that come with naming living artists in commercial work.
- 03
Specify resolution and aspect ratio explicitly
Don't rely on defaults. Set the target aspect ratio (1:1, 4:3, 16:9) and resolution up front. Cropping or upscaling later loses fidelity that the model could have placed correctly in the first generation.
- 04
Iterate on a locked seed before re-rolling
Lock the seed, change one prompt element at a time. Much faster than re-rolling random seeds for every change — you isolate cause-and-effect on each prompt edit and reach the target image with fewer total generations.
- 05
Use the edit endpoint for refinements, not full re-generation
Generate the base image once, then use the model's edit / inpaint endpoint to refine specific elements — text, lighting, individual subjects. Edits preserve everything you liked about the base and cost less per iteration than full re-generations.
Pricing
Krea API pricing
Pricing is per-output. The final charge scales with the parameters you set in each variant's playground (resolution, duration, output count, references).
| Endpoint | Type | Starting price |
|---|---|---|
| krea/ | image-to-image | $0.03 |
| krea/ | text-to-image | $0.03 |
| wavespeed-ai/ | text-to-image | $0.06 |
| wavespeed-ai/ | text-to-image | $0.015 |
| wavespeed-ai/ | text-to-image | $0.03 |
| wavespeed-ai/ | text-to-image | $0.018 |
| wavespeed-ai/ | text-to-image | $0.012 |
API
Call the Krea API
Sign up for an API key at wavespeed.ai/accesskey, then submit a prediction via REST. The playground generates ready-to-paste samples for any combination of inputs.
POSThttps://api.wavespeed.ai/api/v3/krea/v3/text-to-image
# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
-X POST "https://api.wavespeed.ai/api/v3/krea/v3/text-to-image" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $WAVESPEED_API_KEY" \
-d '{
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"size": "1024*1024",
"reasoning_level": "low",
"model": "berry",
"output_format": "png"
}')
TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
printf 'Submission response did not contain a prediction id
' >&2
exit 1
fi
RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
# 2. Poll until the prediction finishes.
while true; do
RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
-H "Authorization: Bearer $WAVESPEED_API_KEY")
RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
case "$STATUS" in
completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
failed|cancelled|timeout|deleted) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
*) sleep 2 ;;
esac
doneconst submitUrl = "https://api.wavespeed.ai/api/v3/krea/v3/text-to-image";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');
async function requestJson(url, options = {}) {
const response = await fetch(url, options);
if (!response.ok) throw new Error(await response.text());
return response.json();
}
// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"size": "1024*1024",
"reasoning_level": "low",
"model": "berry",
"output_format": "png"
}),
});
const task = body.data ?? body;
const resultUrl = `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;
// 2. Poll until the prediction finishes.
while (true) {
const resultBody = await requestJson(resultUrl, {
headers: { "Authorization": `Bearer ${apiKey}` },
});
const result = resultBody.data ?? resultBody;
if (result.status === "completed") {
console.log(result.outputs);
break;
}
if (["failed", "cancelled", "timeout", "deleted"].includes(result.status)) throw new Error(JSON.stringify(result));
await new Promise(resolve => setTimeout(resolve, 2000));
}import json
import os
import time
from urllib.request import Request, urlopen
api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"size": "1024*1024",
"reasoning_level": "low",
"model": "berry",
"output_format": "png"
}
def request_json(url, data=None):
request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
with urlopen(request) as response:
return json.load(response)
# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/krea/v3/text-to-image", json.dumps(payload).encode())
task = body.get("data", body)
result_url = f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"
# 2. Poll until the prediction finishes.
while True:
result_body = request_json(result_url)
result = result_body.get("data", result_body)
status = result.get("status")
if status == "completed":
print(result.get("outputs", []))
break
if status in {"failed", "cancelled", "timeout", "deleted"}:
raise RuntimeError(result)
time.sleep(2)Compare
Krea vs alternatives
When to pick Krea over similar models on WaveSpeedAI.
Krea vs Seedream 5 Pro
Seedream 5 Pro emphasizes design understanding and multi-reference editing with output format controls. Krea adds style-reference controls and an open-weights Turbo model with LoRA support.
Krea vs FLUX.2
FLUX.2 is Black Forest Labs' open-weight family. Krea 2 Turbo is another open-weights option, distilled to 8 steps for 1K-2K output.
FAQ
Krea API — Frequently asked questions
Pricing, license, integration — common questions about running Krea on WaveSpeedAI.
What is the Krea API?
Krea is a Krea image generation model exposed as a REST API on WaveSpeedAI. Krea API on WaveSpeedAI — Krea V3 text-to-image and multi-reference edit, plus Krea 2 Large, Medium, Medium Turbo and the open-weights Krea 2 Turbo with LoRA support, all through one REST API. You can call it programmatically or try it from the playground linked above.
How do I call the Krea API?
Sign up for a WaveSpeedAI account, copy your API key from /accesskey, then POST to https://api.wavespeed.ai/api/v3/krea/v3/text-to-image with your input as JSON. The endpoint returns a prediction id. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. Production-oriented Python / Node.js / cURL examples are above.
How much does the Krea API cost?
Krea starts at $0.012. The exact cost scales with the parameters you set (resolution, duration, output count, references). The live cost preview next to the Generate button in the playground shows the exact price for your current input.
Which Krea variants are available?
WaveSpeedAI hosts 7 live Krea endpoints: krea/v3/edit, krea/v3/text-to-image, wavespeed-ai/krea-v2-large/text-to-image, wavespeed-ai/krea-v2-medium-turbo/text-to-image, wavespeed-ai/krea-v2-medium/text-to-image, wavespeed-ai/krea-v2/turbo-lora, wavespeed-ai/krea-v2/turbo. Each variant has its own playground page and pricing.
Can I use Krea outputs commercially?
Commercial usage rights follow the Krea model license. Most Krea models permit commercial output use; see each model's playground page for the specific license summary, and WaveSpeedAI's Terms of Service for platform-level conditions.
Why use Krea on WaveSpeedAI instead of going direct?
One API key + one billing account across Krea AND 1,000+ other AI models from other providers. No per-vendor SDK setup, no separate rate-limit envelopes, no rewrite-per-vendor integration code. Pricing is typically at parity with or below Krea's direct API.
Start building with Krea on WaveSpeedAI
Free starter credits on signup. One API key across 1,000+ AI models from Krea and every other provider.
/filters:quality(82)/examples/4bb6ef29c9b56853a8a2bc6001edecb4/e1b47191-a880-470d-b50e-8b60750e62c6-ea67aba708b4.webp)
/filters:quality(82)/examples/dcab15e6170737109981665db231e229/c90815fa-a511-45fd-b7a5-0e986aa16771-9c4cbb2e4a54.webp)
/filters:quality(82)/examples/75ea083e76269df3e6c3ca9339f63e0c/e02dba7d-449d-422b-9737-c8305b1d9b20-427d1a5739be.webp)
/filters:quality(82)/examples/823d31db72be42efd8a245685b272e33/1783684093924802752_T8h6foxG.webp)