Skip to content
English

Krea 3 Text to Image API

POST Base URL: https://api.hiapi.ai /v1/tasks

Image, video, and audio models are called through theUnified Async API POST /v1/tasks endpoint; only the input fields differ (see input parameters below).

Model summary

Model name krea-3/text-to-image
Type Image generation (text-to-image)
Endpoint POST /v1/tasks
Pricing See HiAPI Pricing

Krea 3: reasons about your prompt before drawing, with berry and jam variants at the same price, six sizes up to 1024 × 1024, negative prompt (berry only) and seed.

Production guidance

Production guidance
  • For production, pass callback.url at the top level of the request body so HiAPI can notify your service when the task reaches a terminal state.
  • GET /v1/tasks/:id is better for local debugging, low-volume jobs, or fallback reconciliation if a callback is missed.
  • Result URLs expire — copy the output to your own storage once the task succeeds.

Best suited for

Product and e-commerce shots

Describe materials and light, then fix the seed for a consistent set.

promptseed
Exploring directions

Short prompts with reasoning_level=medium let the model fill in the scene.

promptreasoning_level
Two framings per prompt

Run the same prompt on berry and on jam to get two compositions to choose from.

variantseed

Request parameters

model string required

Fixed value krea-3/text-to-image.

example krea-3/text-to-image
input object required

Business parameters.

prompt string required

Image description, 1–5000 characters.

image_size enum optional

Output size preset: square_hd 1024×1024, square 512×512, portrait_4_3 768×1024, portrait_16_9 576×1024, landscape_4_3 1024×768, landscape_16_9 1024×576. auto and custom sizes are not supported.

default square_hd enum: square_hdsquareportrait_4_3portrait_16_9landscape_4_3landscape_16_9
variant enum optional

Variant: berry (default) or jam, same price and inputs except negative_prompt, which applies to berry only; the same seed gives different framing on each.

default berry enum: berryjam
reasoning_level enum optional

How deeply the prompt is reasoned about before drawing; medium is slower but fuller.

default medium enum: lowmedium
negative_prompt string optional

What to keep out of the image, up to 1024 characters; berry only.

seed integer optional

Random seed, 0–2147483647, for reproducible results.

output_format enum optional

Output image format.

default png enum: pngjpeg
callback object optional

Optional callback configuration. When set, HiAPI notifies your service when the task reaches a terminal state.

url string required

Required when callback is set; HTTPS URL that receives terminal task notifications.

example https://your-domain.com/hiapi/callback
when enum optional

Callback trigger timing. Use final.

default final enum: final

Example requests

berry product shot

square_hd, berry, reasoning medium, fixed seed.

Request body
{
  "model": "krea-3/text-to-image",
  "input": {
    "prompt": "Studio product photograph of a frosted glass perfume bottle with a brushed brass cap standing on a block of travertine, hard afternoon sunlight casting a long palm-leaf shadow across a warm beige wall, crisp reflections, high-end editorial look",
    "image_size": "square_hd",
    "variant": "berry",
    "reasoning_level": "medium",
    "seed": 31017
  }
}
Cinematic jam banner

jam with reasoning low, JPEG output.

Request body
{
  "model": "krea-3/text-to-image",
  "input": {
    "prompt": "Cinematic film still of a lone astronaut walking across red sand dunes toward a crashed silver capsule, two moons low on the horizon",
    "image_size": "landscape_16_9",
    "variant": "jam",
    "reasoning_level": "low",
    "output_format": "jpeg"
  }
}
Negative prompt

Use negative_prompt with berry to keep people and text out.

Request body
{
  "model": "krea-3/text-to-image",
  "input": {
    "prompt": "A winding forest path through tall birch trees in autumn, golden leaves, soft fog, morning sun rays",
    "image_size": "landscape_4_3",
    "variant": "berry",
    "negative_prompt": "people, animals, text, watermark"
  }
}

Getting the result

  1. The response returns a taskId immediately without waiting for generation to finish.
  2. In production, prefer waiting for callback.url to receive the terminal notification. For local debugging, poll GET /v1/tasks/:id.
  3. When status=success, download the image from output[].url.
  4. When status=fail, fix the request based on the returned error instead of retrying the same invalid payload.

FAQ

What is Krea 3 good for?

Photoreal shots, portraits, product images, food, architecture, illustration and concept art, plus posters with headline text. Even a short prompt yields a complete scene, which makes it handy for exploring directions.

What is the difference between berry and jam?

They are two variants of the same model that share most inputs (negative_prompt applies to berry only): Krea positions berry for quality and jam for speed, at the same price. Switch with input.variant; the default is berry. In side-by-side runs, the same seed gives different framing and color at similar quality, so it is worth trying both.

What is reasoning_level and which should I use?

It sets how much effort goes into understanding and expanding the prompt before drawing: low or medium (default). Use medium for short or abstract prompts and low when your prompt is already specific and you want speed.

Which sizes are supported?

image_size accepts six presets: square_hd (1024 × 1024, default), square (512 × 512), portrait_4_3 (768 × 1024), portrait_16_9 (576 × 1024), landscape_4_3 (1024 × 768) and landscape_16_9 (1024 × 576).

Can I get 2K or a custom width and height?

No. This page offers the 1K tier; auto and custom sizes are not supported and are rejected as invalid parameters without any charge.

How is it billed?

Per successfully generated image. All six sizes cost the same and berry and jam cost the same; see the live page price for the current rate. Requests that fail validation are not charged.

How many images per request?

One image per request. Submit several tasks, or rerun with different seeds, when you need more.

How do I use the negative prompt?

List what you want kept out in negative_prompt, for example people, text, watermark, up to 1024 characters. It applies to berry only: with jam the Playground hides the field and does not send it, and jam ignores it if sent via the API.

How do I get reproducible results?

Pass a fixed seed (0–2147483647) and keep the prompt, size, variant and reasoning_level unchanged. For a series, change one detail at a time.

How accurate is in-image text?

Short headlines usually come out right. Put the exact words in quotes and describe placement and type style; for text-heavy layouts use berry with reasoning medium.

What is the output format?

output_format accepts png (default) or jpeg. Download the image from output[].url once the task succeeds; URLs expire, so copy results to your own storage.

Do I need a reference image?

No. It is a text-to-image model and accepts a text description only.

Does the same seed give the same image on jam?

No. A seed reproduces results within one variant; berry and jam with the same seed produce different framing and color. To compare them, treat each as a separate option and run both.

Next steps