Kinoseed

Guide

Image generation API with credits: prepaid, quoted, refunded

An image generation API with credits: one prepaid balance for Nano Banana Pro, GPT Image 2, FLUX.2 and more, a free quote per call and refunds on failure.

Kinoseed is an image generation API with credits: a plan adds credits every month, and every call to any of its 13 image models spends from that one balance. Nothing is billed to a card per request, and nothing can be spent beyond what the account holds.

That model suits two kinds of buyer. A developer who wants a hard ceiling on what a script or an agent can spend, and a team that wants several models without several provider accounts, keys and invoices. This guide covers what a call costs, how the balance behaves, and the code.

Sign in, create a key on your account page, and call any model with one key.

What one image costs, per model

One image from a prompt, at each model's default size. "About" is at the headline credit price of $0.02.

ModelIdCreditsAbout
GPT Image 2gpt-image-225$0.50
Nano Banana 2nano-banana16$0.32
Nano Banana Pronano-banana-pro30$0.60
Seedream 5.0 · Liteseedream-5-lite8$0.16
GPT Image 1.5gpt-image-1-525$0.50
Grok Imaginegrok-imagine5$0.10
FLUX 3flux-310$0.20
FLUX 3 Kleinflux-3-klein3$0.06
Nano Banana 2.1nano-banana-2-18$0.16
GPT Image 2.5gpt-image-2-525$0.50
FLUX.2flux-27$0.14
Revereve8$0.16
Z-Imagez-image2$0.04

The rates behind GPT Image 2, Grok Imagine, Nano Banana 2.1, GPT Image 2.5, Reve, Z-Image are estimates until the provider publishes a price, and POST /quote says so with estimated: true. The charge is still the quoted number.

Why credits instead of a bill

Per-request billing is simple until something loops. Credits change three things:

  • A ceiling. A key spends its account's balance and stops. When the balance is short the call is refused with 402 insufficient_credits and a details.topUpUrl, and nothing is charged.
  • One price for every model. A credit is worth the same on Nano Banana Pro, FLUX.2 or GPT Image 2, so a cost check is one comparison, not a lookup per provider.
  • No charge for failures. A run the provider refuses or fails comes back in full, automatically, and the job shows credits.refunded.

What changes the price of a call

The model sets the base. The default model, Seedream 5.0 · Lite, is 8 credits an image. On Nano Banana Pro, one image is 30 credits, count: 4 is 110 in one call, and one image with two reference images is 30.

References route the call to the model's edit endpoint, which some providers price differently. The quote follows the endpoint the call will actually use, so POST /quote is always the number to trust.

The code

POST /api/v1/images charges the call and answers with a job. Images usually finish inside one GET /jobs/{id}?wait=50, which returns as soon as the job is final.

curl -X POST https://kinoseed.app/api/v1/images \
  -H "Authorization: Bearer ks_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-1042-hero" \
  -d '{
    "prompt": "a ceramic mug on a sunlit desk, product photo",
    "model": "nano-banana-pro",
    "aspect": "1:1",
    "count": 2
  }'
# Hold the response up to 50 seconds while the job runs.
curl "https://kinoseed.app/api/v1/jobs/JOB_ID?wait=50" \
  -H "Authorization: Bearer ks_live_YOUR_KEY"

The Idempotency-Key header in the first sample means a retry after a timeout returns the same job instead of charging again. Reference images go in referenceImageUrls as public https URLs, or upload a local file with POST /files first.

Reading the balance

GET /api/v1/credits returns the balance, the plan if there is one, and creditUsd, so a dashboard can show both credits and dollars without hard-coding a rate.

curl https://kinoseed.app/api/v1/credits \
  -H "Authorization: Bearer ks_live_YOUR_KEY"

Buying credits

Generating begins with a plan from $10 a month (500 credits a month). Every tool page is open to browse without an account.

Plans are Basic $10 a month for 500 credits, Starter $20 for 1,200, Creator $100 for 7,000, Studio $200 for 15,000; Studio brings a credit down to $0.0133. Basic, the cheapest plan, sells credits at $0.0200, and credits you already hold stay when you cancel. The same balance runs every tool in the web app, so a designer on the team can use what the API does not.

Full tables are on Pricing. For an agent that generates images, the MCP server for image generation guide shows the same calls as tools.

Questions

Do credits expire?

Plans add their credits every month, and credits you already hold stay; see Pricing for the current plans.

What happens when the balance runs out mid-batch?

The next call is refused with 402 insufficient_credits before anything is charged, and runs already started finish normally. Top up and send the same request again.

Is there a free tier?

No. Generating starts with a plan. Reading the model catalog and asking for a quote spend no credits.

Can I generate several images in one call?

Yes, count takes 1 to 8 and the price multiplies. Each image comes back in output.imageUrls.

Are there watermarks?

No. Results carry no watermark and you keep ownership of them under the terms.

Sign in, create a key on your account page, and call any model with one key.