Skip to main content
Kyma serves four image-generation models behind a single async endpoint, billed per image (not per token). Pick the right model for the output you need; the API shape is identical across all four.
curl -X POST https://kymaapi.com/v1/images/generations \
  -H "Authorization: Bearer $KYMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "model": "flux-1.1-ultra", "prompt": "a cinematic hourglass on a wooden desk, golden hour" }'
The endpoint is asynchronous. POST returns 202 with a job_id immediately; poll GET /v1/jobs/{job_id} until status is succeeded.

Pick a model

ModelBest forCost / imageInput
flux-1.1-ultraCinematic photos, hero shots, editorial$0.081text
flux-kontext-proImage edit — inpaint, refine, modify$0.054text + image
ideogram-v3Typography, logos, posters, packaging$0.108text
recraft-v3Vector illustration, brand assets$0.054text
Prices reflect Kyma’s 1.35× markup on the underlying provider cost. See pricing for the per-image breakdown.

flux-1.1-ultra

Highest-fidelity FLUX. Hero shots, cinematic photo, editorial-grade output. Use this when the result is going on a landing page, ad, or above-the-fold position.
{
  "model": "flux-1.1-ultra",
  "prompt": "an architectural photo of a modernist house at dusk, long exposure",
  "size": "16:9"
}
  • Cost: $0.081 per image
  • Aspect ratios: 1:1, 16:9, 9:16, 4:3, 3:4, 21:9
  • n: up to 4 images per request

flux-kontext-pro

Image-to-image editor. Takes an existing image plus a text instruction; returns a modified image. Use for inpainting, style refinement, prop swaps, background changes.
{
  "model": "flux-kontext-pro",
  "prompt": "replace the sky with a stormy sunset",
  "image_url": "https://example.com/source.jpg"
}
  • Cost: $0.054 per image
  • Requires: image_url (HTTPS URL to the source image). A request without image_url returns 400 image_url_required.

ideogram-v3

Text-in-image specialist. Best model on Kyma for typography, packaging mockups, posters, and logos where readable text matters.
{
  "model": "ideogram-v3",
  "prompt": "minimalist coffee bag label that reads 'KYMA ROAST', cream background, gold foil"
}
  • Cost: $0.108 per image
  • Strengths: legible text, brand-safe layouts, packaging design

recraft-v3

Vector illustration and brand style. Use for icons, marketing illustrations, brand-consistent illustration sets, and anything that benefits from flat / vector aesthetics.
{
  "model": "recraft-v3",
  "prompt": "isometric vector illustration of a cloud server rack, blue and gold accent"
}
  • Cost: $0.054 per image
  • Strengths: vector look, brand styles, illustration sets

Billing flow

  1. POST creates a job and places a hold for estimated_cost (price × n images, markup applied).
  2. On succeeded, the hold is finalized as a usage transaction at the actual cost.
  3. On failed or expired, the hold is fully refunded — you only pay for images you receive.
You can verify the charge on GET /v1/jobs/{id}: charged_amount is the final billed amount, estimated_cost is what was held up front.

Idempotency

Pass idempotency_key to make POST safe to retry. The same (user_id, idempotency_key) pair always returns the same job — no duplicate charges, no duplicate generations.
{
  "model": "ideogram-v3",
  "prompt": "...",
  "idempotency_key": "checkout-flow-card-3"
}

See also