Back to blog

GPT Image 2 is live on Kyma

May 1, 20264 min read

GPT Image 2 on Kyma — three quality tiers side by side

OpenAI shipped GPT Image 2 on April 22, 2026. We rolled it onto Kyma yesterday. If you've been hitting the wall on text inside generated images — logos that come out garbled, posters that mangle non-English script, screenshots that misspell their own headlines — this is the model you've been waiting for.

See it before you read about it

# What you send
curl -X POST https://kymaapi.com/v1/images/generations \
  -H "Authorization: Bearer $KYMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A vintage tea brand poster reading \"KYMA TEA — since 2026\" in elegant serif typography, soft cream background, watercolor botanical illustration",
    "size": "1024x1024",
    "quality": "high"
  }'

GPT Image 2 output — KYMA TEA poster, high quality

Every letter readable. Em dash where it should be. Year correct. No retry loop, no manual touch-up in Photoshop. That's the upgrade.

What changed

The previous-generation flagship (gpt-image-1) and the open-weight competition (FLUX, Recraft, Ideogram) all rendered text well enough — readable English, sometimes a typo, occasionally a missing letter. GPT Image 2 closes the gap to "photo of the real thing":

  • Multilingual text — Japanese, Korean, Chinese, Hindi, Bengali, Arabic, Thai, and 25+ other scripts now render at the same fidelity as English. Useful if you ship product to anyone outside the US/UK.
  • Reasoning-augmented composition — describe a chart, diagram, recipe card, or data visualization and the model figures out the layout before drawing it.
  • Higher resolution ceiling — 2048×2048 supported on Kyma (4K available upstream; we'll add it when there's user demand).
  • Edit + mask support — inpainting via the same endpoint with image_url (multipart upload coming next).

Quality dropdown — the real innovation

OpenAI exposes three quality tiers in a single model: low, medium, and high. You pick per request, you pay only for what you use.

Quality1024² priceWhat it's for
low$0.014Layout drafts, ideation, rapid A/B variations. ~19s. Costs less than the cheapest GIF stock site.
medium (default)$0.081Production output for most cases. ~30s. The picker default — same fidelity ceiling as flux-2-pro at a comparable price.
high$0.297Hero shots, marketing, anything user-facing. ~60s. Near-perfect text-in-image.

A request with quality: "high" and n: 3 (three variations) bills $0.891 — the hold books that exact amount up front, so there's no refund-and-rebill drift. Holds always match settles.

Pick by your strongest constraint

If you need…Use
Text in image (logos, posters, packaging, ads, mockups)gpt-image-2
Multilingual text at the same quality as Englishgpt-image-2
Photoreal humans with multi-reference blending (up to 10 sources)flux-2-pro
Native SVG output with editable paths and layersrecraft-v4-vector
Print-ready 4MP without paying gpt-image-2 high tierrecraft-v4-pro
Sub-cent budget tier for bulk generationminimax-image-01

Picker positioning details on the model page →

Provider isolation

OpenAI is the creator and the inference provider for gpt-image-2. Per our isolation policy, creator names are public — the model page shows OpenAI as the source. There is no relay layer and no hidden gateway. Pricing is a flat per-image rate per quality tier, published on the pricing page.

How to use it

Default works for most cases — pass model: "gpt-image-2" and you get quality: "medium" at $0.081/image. Opt into low for drafts, high for hero shots:

from openai import OpenAI

client = OpenAI(
    api_key="ky-your-kyma-key",
    base_url="https://kymaapi.com/v1",
)

# Hero asset
result = client.images.generate(
    model="gpt-image-2",
    prompt="...",
    size="1024x1024",
    quality="high",
    n=1,
)
print(result.data[0].url)  # Vercel blob URL, hosted on Kyma's CDN

The endpoint is async — POST returns 202 with a job_id; poll GET /v1/jobs/{id} until status is succeeded. Output is a Vercel blob URL hosted on Kyma's CDN, not an expiring OpenAI URL — no expiry to manage in your storage layer.

What's next

Tomorrow we'll roll out the in-app composer's quality dropdown so picker users can switch tiers without dropping to the API. After that: image edit + mask support via multipart upload (/v1/images/edits), and the 4K resolution tier.

If you've been waiting for a model that takes typography seriously, grab a key and try quality: "high" on something that's been failing on your other tools. The first few generations are on the house ($0.50 signup credit covers ~6 hero shots).

— The Kyma team