You pay only for success
Credits are charged when a job reachessucceeded. You are not charged for:
- jobs that
failortimeout, - the time a job spends queued or processing,
- requests rejected before generation (e.g. invalid input, content policy).
Per-model pricing
Each model has a published price, returned byGET /v1/models:
- Images are priced per output image (
credits_per_generation). Most requests return one image and cost that price. A request that returns several — see multiple images per request — is charged per image, so a 3-image result costs3 × credits_per_generation. - Video is priced per second (
credits_per_unitwithunit_type: second), so total cost scales withlength_seconds. Some models (e.g. SeeDance 2.0) charge a different per-second rate per resolution —GET /v1/modelsreturns aresolution_pricingmap, and the cost isthat rate × length_seconds.
-
flux-2-pro prices by output size:
0.5MP= 15,1MP= 25 (default),2MP= 50,4MP= 80 credits per image. -
grok-imagine-image-2 prices by
quality×size— both parameters move the price together:Omitting either parameter uses the cheapest cell (low/1K= 50 credits). This model has nohighquality tier, and the optional inputimageis free — editing costs the same as generating. Example:{"size": "2K", "quality": "medium"}costs 100 credits. -
seedream-5.0-pro prices by output size and input images:
1K= 55 (default) or2K= 110 credits per image, plus 5 credits perreference_imagesitem after the first (the first input image is free). The input fee applies per generated image — each output is its own generation call carrying its own inputs. Example: a2Krequest with 3 reference images andnum_images: 1costs110 + 2 × 5 = 120credits. -
minimax-h3 (video) prices per second of output (160 credits/sec at 2K) plus
per second of reference-video input: each
reference_videosclip is measured and billed at 160 credits per second of input (rounded up on the combined total).reference_images(up to 5) andreference_audiosare free. Example: a 5-second generation guided by a 8.2s reference clip costs5 × 160 + 9 × 160 = 2240credits. -
seedance-2.5 (video) prices per second of output by resolution (480p = 150,
720p = 330, 1080p = 750 credits/sec) plus per second of reference-video input at half
the output rate (480p = 80, 720p = 160, 1080p = 375 credits per input second, rounded
up on the combined total).
reference_images(up to 15) andreference_audiosare free. Example: a 5-second 720p generation guided by a 8.2s reference clip costs5 × 330 + 9 × 160 = 3090credits. -
seedance-2.0 / seedance-2.0-fast / seedance-2.0-mini (video) price video-edit
the same way: when a
videoinput is supplied (2–15s), its measured duration is billed at half the model’s output per-second rate for that resolution on top of the output (rounded up). Example: a 5-second 480pseedance-2.0-miniedit of a 4s clip costs5 × 60 + 4 × 30 = 420credits. Text/image/reference-image requests are unaffected — output seconds only. -
wan-2.7-video prices per second of output by resolution (720p = 100,
1080p = 150 credits/sec). When a
videoinput is supplied the request becomes a video edit, which bills the input clip’s measured duration at the same full per-second rate on top of the output — there is no half-rate discount here. Video edit also takes its output length from the input clip (length_secondsis ignored), so a clip is billed twice over: once as input, once as output. Example: editing an 8.2s clip at 720p costs9 × 100 + 9 × 100 = 1800credits.reference_images(up to 4, video edit only) are free. Text-to-video and image-to-video requests are unaffected — output seconds only.
POST /v1/cost resolves all of this — send the exact body
you plan to generate with.
Your plan’s perks follow you to the API. Model discounts and active promotions
apply to API charges exactly as they do on the web (
POST /v1/cost quotes your
discounted price), and the Pro/Ultra daily free-models allowance — a shared pool
of free generations per day (Pro 100, Ultra 300) across qualified image models like
flux-2-klein and the Qwen Image series — covers API requests too. Once the day’s
pool is used, those models charge their standard price until the reset (midnight UTC).
Other promotional free daily generations remain web/app-only.Utility pricing (conversions & posts)
These endpoints aren’t models, so they don’t appear inGET /v1/models — their
pricing is flat and stated here and on each endpoint’s reference page:
Charged on success only, like generation.
POST /v1/cost also resolves them — send
{ "model": "convert-image" } (or convert-video / convert-audio / create-post).
A post that is later hidden by content review is not refunded — it was published.
Estimating cost up front
To know what a request will cost before running it, POST the same body to/v1/cost
with model added:
exact is true for deterministic pricing; for seedream’s sequential mode (the model decides
how many images, up to max_images) credits is the ceiling and exact is false — the real
charge is always ≤ it.
Checking your balance
total_available is what you can spend right now (monthly remaining plus any
purchased extra credits). If a request would exceed your available balance, it’s
rejected before the job is created. For a multi-image request we reserve the maximum it
could cost (max_images × credits_per_generation) up front, then charge only for the
images actually returned.