Credits
What is charged
- 1 credit per photo that finishes with a usable result. Credits are reserved when a batch starts (or continues) and settled when it finishes.
- 2 credits for a re-run of one photo with our strongest model (
tier: "heavy"on the per-photo retry). Never a batch setting. - 0 credits for everything that never runs the model again: changing size, background, alignment, corrections (
/apply), previews, downloads, conversions.
What is refunded
- A photo the model could not process (
item.failed). - A photo our automatic check flags as clearly broken: it comes back with
review: "red"andrefunded: true. You keep the file; it was not charged. - A report you send (
/report) that the pixel check confirms. - Photos still waiting when you stop a batch.
In which order
An account has two pockets: plan credits (a monthly allowance from a licence code, reset every month on the activation day, no rollover) and bought credits (packs, the welcome credits, gifts; valid 12 months from the day they were added). Every batch spends plan credits first, then bought ones. Refunds go back to the pocket they came from.
Not enough credits
Starting, continuing or retrying answers 402 NO_CREDITS with how many were needed and how many you have:
{
"type": "https://trycutstack.com/docs/errors#NO_CREDITS",
"title": "Not enough credits",
"status": 402,
"code": "NO_CREDITS",
"detail": "You don’t have enough credits for this batch. Add credits and try again.",
"needed": 120,
"balance": 35
}Nothing is reserved on a 402: the batch stays a draft and can be started later. Credits are bought in the studio under Account → Credits; there is no purchase endpoint.
Reading the balance
GET/v1/account
{
"credits": { "total": 483, "plan": 300, "pack": 183, "planResetsInDays": 12, "expiring": null },
"license": { "tier": 2, "status": "active", "allowance": 500, "jobLimit": 200, "nextRefreshAt": "…", "activatedAt": "…" },
"spendOrder": ["plan", "pack"],
"limits": { "photosPerBatch": 200, "activeBatches": 2, "requestsPerMinute": 60, "photosPerHour": 2000, "resultsKeptForHours": 2 },
"auth": { "via": "key", "key": "csk_live_Ab12Cd34" }
}GET/v1/credits/ledger?limit=50&before=<ISO time>
Every movement, newest first: reserve at start, commit for clean photos, release for refunds, plus purchases, grants, refreshes and expiries. Each row carries the batch id, so a batch started through the API can be matched to its rows; the reservation note also names the key that started it.
Every photo in a batch answer carries credits (what it costs) and refunded. The sum of charged photos is exactly what your account paid for the batch; nothing else is ever deducted.
See also Review queue for how flagged photos work.
Next: Batches. Create, add photos, start, follow, download.