PL Log inOpen Studio
Preview version. Model catalog, prices, calculator and docs are live. Generation goes live at launch.

Billing

Docs: every page

You pay Kadraris in advance. Money goes onto a balance, and each request takes its cost from there. You never sign up for a plan, there is no monthly minimum, and unused funds stay on the account with no expiry date.

Global and Polish accounts

AccountWhereCurrencyTax
Globalkadraris.comUSDNothing is added on top at checkout. The price you see is what you pay, and all of it lands on your balance
Polishkadraris.com/plPLNPrices already contain 23% VAT. Details on the Polish version of this page

Every amount the API returns uses the currency of your account. That covers cost, estimated_cost and the /v1/balance response, which show either USD or PLN.

Adding funds

Card payments are made in the dashboard. The lowest accepted amount is $10. Type your own figure or click one of the preset amounts:

  • $10
  • $25
  • $50
  • $100

Whatever you pay is credited to the balance one to one.

Billing units

Each model is charged by exactly one unit. You can read it from pricing.unit in GET /v1/models:

unitCharged perExamples
imagegenerated imageGPT Image 2.5: $0.05 per image, FLUX.2 [pro]: from $0.0688 per image
secondsecond of output video (duration), with the rate set by resolutionSeedance 2.5: from $0.261 per second, Kling 3.0: from $0.0963 per second
videofinished clip, however many seconds it runsVeo 3.1 (Quality): from $2.53 per video, Gemini Omni: from $1.45 per video
songgenerated songMureka V9: $0.15 per song
minuteminute of audio processedVocal Remover: $0.50 per minute
mtokmillion tokens in and out (chat)Claude Sonnet 5: $3.24 / $16.20 per 1M tokens

Two video models use the per-clip unit instead of per-second:

  • Veo 3.1 (Quality) always returns an 8 s clip, and resolution decides the price.
  • Gemini Omni lets you choose 4, 6, 8 or 10 s, and the clip price depends on both that length and the resolution.

In both cases estimated_cost gives you the precise figure for the parameters you sent. The full price list is on the pricing page and in GET /v1/models.

How media tasks are charged

  1. When you call POST /v1/generate, the response includes estimated_cost, and that sum is reserved on your balance.
  2. If the task ends in success, you are charged the final cost and the reservation goes away.
  3. If it ends in failure, the whole reservation is returned. You pay nothing for a failed generation.

When available is below estimated_cost, nothing is started and the call returns 402 insufficient_balance.

Chat works differently: the charge is calculated from usage once the reply has been produced.

Reading the balance

bash
curl https://kadraris.com/v1/balance -H "Authorization: Bearer $KADRARIS_API_KEY"
json
{ "balance": "12.40", "available": "11.63", "currency": "USD", "low_balance": false }
FieldMeaning
balanceEverything on the account
availablebalance with reservations for unfinished tasks taken off. New requests draw on this figure
currencyUSD or PLN
low_balanceBecomes true when funds are getting low and a top-up is due

You can check it before a large batch and alert someone if it is too low:

python
import os, requests

bal = requests.get(
    "https://kadraris.com/v1/balance",
    headers={"Authorization": f"Bearer {os.environ['KADRARIS_API_KEY']}"},
    timeout=30,
).json()

if bal["low_balance"] or float(bal["available"]) < 5:
    notify_team(f"Kadraris balance low: {bal['available']} {bal['currency']}")  # your function
javascript
const bal = await (await fetch("https://kadraris.com/v1/balance", {
  headers: { Authorization: `Bearer ${process.env.KADRARIS_API_KEY}` },
})).json();
if (bal.low_balance) console.warn(`Top up: ${bal.available} ${bal.currency} available`);

Limits on individual keys

A key can carry its own monthly cap. Once a request would cross it, the API answers 403 permission_error and your balance stays as it was. More in Authentication.

Earning through referrals

The dashboard gives you a personal link (?ref=YOURCODE). For 12 months after someone signs up through it, your balance is credited with 20% of their spending on image, video and audio models and 5% of their spending on chat models. See Affiliates for the rules.

VAT invoices for Poland

On kadraris.com/pl you pay in PLN with a card or BLIK, and you can ask for a VAT invoice by ticking the option when you top up. The Polish version of this page has the details.