How Models Are Billed
Billing mechanics for LLM, image, video, and audio models — token pricing, per-generation pricing, and cost estimation
This page explains how each model type is priced and exactly when your balance is charged. For current rates, see the Pricing Page or each model's detail page. For step-by-step calculations on typical models, see Billing Examples.
LLM models (token-based)
LLM models are priced per million tokens, with separate rates for input (prompt) and output (completion) tokens:
Additional pricing rules that apply to some models:
- Cached input tokens — models that support prompt caching bill repeated (cached) input tokens at a lower cache rate, which can significantly reduce cost for long system prompts and multi-turn conversations.
- Multimodal input — image or audio input tokens may have their own rates.
- Long-context tiers — a few models charge higher rates once the input exceeds a size threshold (for example, above 32K input tokens). Tiers are listed on the model's detail page.
- Per-request pricing — a small number of models charge a flat price per request instead of per token.
How LLM charging works:
- You are charged after the request completes, based on the actual token usage reported in the response's
usagefield. Streaming and non-streaming requests are billed identically. - Requests that fail with a provider error are not billed.
- Charges are settled asynchronously and appear in your usage history shortly after the request.
Image models (per generation)
Image generation is priced per generated image. The unit price varies by model and can depend on resolution and other request parameters. Requesting multiple images multiplies the price accordingly.
- The full amount is reserved from your balance when you submit the task and captured when the task succeeds. If the task fails, the reserved amount is automatically released — see Refunds & Failed Tasks.
- For batch endpoints, if the model delivers fewer images than requested, you are only charged for the images actually delivered.
- Some image models (for example, the GPT Image family) are token-billed like LLMs, with rates for input and output image tokens shown on the model page.
Image tools (upscaling, background removal, face swap, etc.) are billed the same way, per operation.
Video models (per generation)
Most video models are priced with a per-second rate that depends on the output resolution:
Some models add smaller per-unit charges for extra inputs, such as reference images. The per-second rates for each resolution tier are listed on the model's detail page. Like image tasks, the amount is reserved at submission, captured on success, and released automatically if the task fails.
Token-billed video models
Some newer video models (for example, the Seedance 2.x family) are billed by the amount of video they actually generate, measured in output video tokens:
- The token rate is the model's price per million video tokens. Models that accept reference-video input may apply a lower rate to requests that include one.
- The resolution multiplier scales the cost for higher output tiers (for example, 2K, 4K, or super-resolution variants) relative to the base tier.
- Because the final cost depends on the generated output, the exact charge is computed when the task completes. A small temporary hold is placed on your balance at submission and released as soon as the task is billed.
- Failed tasks are not charged.
Audio models (per generation)
Audio generation is billed per generation. The unit depends on the model (for example, output duration or character count) and is shown on the model's detail page.
Estimating cost before you generate
Use the calculate endpoint to get the exact price of an image, video, or audio request before submitting it. It accepts the same request body as the corresponding generation endpoint and does not create a task or charge your balance:
curl -X POST "https://api.atlascloud.ai/api/v1/model/calculate" \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "bytedance/seedance-2.0/text-to-video",
"prompt": "A hummingbird hovering over a flower, macro shot",
"resolution": "1080p",
"duration": 5
}'The response data object contains:
| Field | Description |
|---|---|
price | The amount you would be charged, with your account discount applied |
origin_price | The list price before discount |
discount | Percentage of the list price you pay (100 = no discount, 70 = 30% off) |
estimated | Present and true for token-billed models — the price is an estimate based on the requested resolution and duration |
estimated_tokens | For token-billed models, the estimated output video tokens |
Token-billed models return an estimate
For token-billed video models, /calculate returns an estimate derived from the requested resolution, duration, and (for reference-to-video requests) the duration of your input videos. The final charge is computed from the actual generated output and may differ slightly.
Discounts
Negotiated account discounts and model promotions are applied automatically — you never need to pass a coupon at request time. The /calculate endpoint always returns your effective price. For volume pricing, contact [email protected].