Images · Text to image · Image to image
Krea (latest) API
The latest Krea image model — currently Krea 3. Pin krea_3 to stay on a version.
- Price
- From $0.01 per run $0.024/MP
- Typical time
- ~15 s
- Model id
krea
Krea (latest) runs on one varg API key and one credit balance, the same as every other model here. You pay the provider's price, with no markup.
curl -X POST https://api.varg.ai/v2/tools/image/call \
-H "Authorization: Bearer $VARG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "krea",
"prompt": "A ceramic teapot on a linen tablecloth, soft window light, film grain",
"aspect_ratio": "4:3"
}'Krea (latest) pricing
From $0.01 per run. Prices are in US dollars and are the provider's own, with no markup. Krea (latest) has 3 routes: "model": "krea" picks one automatically, or pass a route key as "model" to pin it. For the exact price of a request, send the same body to POST https://api.varg.ai/v2/estimate.
- krea from $0.03/image
krea:image/krea/krea-3Text to image, Image to image Krea 3 (early access) — Krea's newest image model: text-to-image and edits with up to 8 input images, fast / high / ultra thinking, 1K or 2K.
- Resolution 2k
- $0.06/image
- Other
- $0.03/image
- Extra per image_urls
- +$0.02
- Extra when thinking_mode is high
- +$0.02
- Extra when thinking_mode is ultra
- +$0.02
- Minimum charge
- $0.03
- Most one request can cost
- $0.24
- Typical time
- ~15 s
- fal from $0.125/image
fal:krea/v3/editImage to image Krea 3 edit on fal — edits and combines 1-8 reference images from a text instruction; low / medium / high / ultra reasoning.
- Reasoning level ultra
- $0.35/image
- Reasoning level high
- $0.25/image
- Other
- $0.125/image
- Minimum charge
- $0.125
- Most one request can cost
- $0.35
- Typical time
- ~30 s
- fal $0.024/MP
fal:krea/v3/text-to-imageText to image Krea 3 text-to-image on fal — Krea's newest image model; berry (quality) or jam (speed).
- Per megapixel
- $0.024
- Minimum charge
- $0.01
- Most one request can cost
- $0.11
- Typical time
- ~30 s
Krea (latest) inputs
The JSON body of the request. Media inputs are URLs: upload a local file with POST /v2/files and pass the URL it returns. Full JSON Schema, no key needed: api.varg.ai/v2/tools/image?model=krea
| Field | What it does |
|---|---|
model string required | krea picks a route automatically. To pin one, pass a route key from Pricing above. |
prompt string | — |
files array of { url } | — |
aspect_ratio string | Allowed e.g. 16:9 | 9:16 | 1:1 | 4:3 | 3:4 | 21:9 | auto |
Provider options
Optional, under provider_options.<provider>. Only the options of the provider that runs the job apply; pin a route to choose it.
provider_options.krea
| Field | What it does |
|---|---|
prompt string | Text description of the image to generate, or the edit to apply to the input images. |
negative_prompt string | What to keep out of the image. |
image_urls array of URL strings | — |
seed number | Random seed for reproducible generation. |
width number | Explicit output width in pixels (with height; instead of resolution). Allowed 0–4096 |
height number | Explicit output height in pixels (with width; instead of resolution). Allowed 0–4096 |
resolution string | Allowed 1k | 2k |
aspect_ratio string | Allowed 1:1 | 4:5 | 3:4 | 2:3 | 9:16 | 5:4 | 4:3 | 3:2 | 16:9 | 21:9 |
thinking_mode string | Allowed fast | high | ultra |
provider_options.fal
| Field | What it does |
|---|---|
prompt string | Description of the image to generate. |
negative_prompt string | What to keep out of the image. Used by berry only. |
image_urls array of URL strings | — |
sync_mode boolean | Return images as data URIs instead of saving them in request history. |
output_format string | Allowed png | jpeg |
reasoning_level string | Allowed low | medium | high | ultra |
enable_safety_checker boolean | Check output images for unsafe content. Disabling requires account authorization. |
Call the Krea (latest) API
POST https://api.varg.ai/v2/tools/image/call with Authorization: Bearer $VARG_API_KEY. It answers 202 with a job right away.
1. Send the request
curl -X POST https://api.varg.ai/v2/tools/image/call \
-H "Authorization: Bearer $VARG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "krea",
"prompt": "A ceramic teapot on a linen tablecloth, soft window light, film grain",
"aspect_ratio": "4:3"
}'JavaScript
const headers = {
Authorization: `Bearer ${process.env.VARG_API_KEY}`,
'Content-Type': 'application/json',
}
const res = await fetch('https://api.varg.ai/v2/tools/image/call', {
method: 'POST',
headers,
body: JSON.stringify({
"model": "krea",
"prompt": "A ceramic teapot on a linen tablecloth, soft window light, film grain",
"aspect_ratio": "4:3"
}),
})
const job = await res.json() // { id: "job_…", status: "queued" }Python
import os
import requests
headers = {"Authorization": f"Bearer {os.environ['VARG_API_KEY']}"}
job = requests.post(
"https://api.varg.ai/v2/tools/image/call",
headers=headers,
json={
"model": "krea",
"prompt": "A ceramic teapot on a linen tablecloth, soft window light, film grain",
"aspect_ratio": "4:3"
},
).json() # {"id": "job_…", "status": "queued"}2. Get the result
Poll the job until its status is completed, failed or cancelled; Krea (latest) typically takes about 15 s. The result is at output.outputs[0].url.
curl https://api.varg.ai/v2/jobs/$JOB_ID \
-H "Authorization: Bearer $VARG_API_KEY"
# Poll until "status" is completed, failed or cancelled.
# The result is in output.outputs[0].urlJavaScript
let current = job
while (!['completed', 'failed', 'cancelled'].includes(current.status)) {
await new Promise((resolve) => setTimeout(resolve, 3000))
current = await (await fetch(`https://api.varg.ai/v2/jobs/${current.id}`, { headers })).json()
}
console.log(current.output?.outputs?.[0]?.url)Python
import time
while job["status"] not in ("completed", "failed", "cancelled"):
time.sleep(3)
job = requests.get(f"https://api.varg.ai/v2/jobs/{job['id']}", headers=headers).json()
print(job["output"]["outputs"][0]["url"])Or take a webhook instead of polling
Add options.webhook_url and varg POSTs the finished job to it.
{
"model": "krea",
"prompt": "A ceramic teapot on a linen tablecloth, soft window light, film grain",
"aspect_ratio": "4:3",
"options": {
"webhook_url": "https://your-app.com/varg-webhook"
}
}From Claude, ChatGPT or Cursor (MCP)
The varg MCP server, https://mcp.varg.ai/mcp, runs Krea (latest) with call_tool. Sign in with varg, no API key to paste. How to connect it
{
"tool": "image",
"input": {
"model": "krea",
"prompt": "A ceramic teapot on a linen tablecloth, soft window light, film grain",
"aspect_ratio": "4:3"
},
"wait": true
}Krea (latest) API: questions
- How much does Krea (latest) cost on varg?
- Krea (latest) costs from $0.01 per run on varg ($0.024/MP on the cheapest route). varg charges the provider's price with no markup, from one credit balance. For the exact price of a request before you run it, send the same body to POST https://api.varg.ai/v2/estimate.
- How do I call the Krea (latest) API?
- Send POST https://api.varg.ai/v2/tools/image/call with the header "Authorization: Bearer $VARG_API_KEY" and a JSON body that includes "model": "krea". The call answers 202 with a job right away. Poll GET https://api.varg.ai/v2/jobs/{id} until "status" is "completed", then read output.outputs[0].url, or pass options.webhook_url to be called back.
- Can I use Krea (latest) from Claude, ChatGPT or Cursor?
- Yes. Add the varg MCP server (https://mcp.varg.ai/mcp) to Claude, ChatGPT, Cursor or any other MCP client and sign in with varg, with no API key to paste. The agent runs Krea (latest) with call_tool, passing tool "image" and "model": "krea".
- How long does a Krea (latest) request take?
- Typically about 15 s on the fastest route, by the catalog's estimate. The API answers at once with a job id, so nothing waits on an open connection while it runs.
For AI agents: this page as Markdown is varg.ai/models/krea.md, and every model is listed in varg.ai/models/llms.txt.