Billing
SmartAPI uses usage-based billing: all usage is charged in credits. Chat models are billed by tokens consumed; image and video models are billed per generation. Pricing for every model is listed on the Models page.
Credit exchange rate#
Credits are the single unit of account across the platform:
- Top-up rate: $1 = 100 credits (see Pricing for packages).
- Usage conversion: model prices are stored in USD internally and converted to credits at the same rate — 1 USD = 100 credits.
How token billing works#
For usage-based (USAGE) models, cost is computed from the token counts reported
in the response usage object and the model’s per-token prices. Prices on the
Models page are shown in credits per 1,000,000 tokens, with
separate rates for input, output, and cached input.
The cost of a request is, conceptually:
cost_credits =
(non_cached_input_tokens * input_price_usd
+ cached_input_tokens * cached_input_price_usd
+ output_tokens * output_price_usd) / 1,000,000 * 100| Price field | Applies to |
|---|---|
input | Standard (non-cached) prompt tokens. |
output | Generated completion tokens. |
cached_input | Prompt tokens served from the provider’s cache (when supported). |
Token-based billing uses the input / output / cached-input dimensions, and applies only to token-billed chat models.
Image / video billing (credits)#
Image and video models are not billed by tokens but in credits (billing type
MODEL). The charge is determined on a successful call (task creation for video):
- Image (
FLAT): total = credits-per-image × countn.gpt-image-2also applies a quality multiplier (low ×1,medium ×2.5,high ×5). - Video (
PER_SECOND): total = credits-per-second × duration. - Video (
PER_SECOND_RESOLUTION): total = credits-per-second × duration × resolution multiplier. - If
generateAudiois enabled and the model configures an audio multiplier, the result is multiplied again.
See per-model credit prices and resolution multipliers on the Models page; see Image Generation and Video Generation for how to call them.
Balance and credits#
Your account holds a credit balance that is drawn down as you make requests. Each call’s cost is calculated in credits and deducted asynchronously after the call completes.
A positive balance is required to call the API. If your balance reaches zero,
requests fail with 402 insufficient_quota before reaching the model. Top up
on the Pricing page.
Tracking usage#
- View aggregated usage and spend on the Usage and Overview console pages.
- Each response’s
usageobject lets you reconcile token counts on your side.
Related#
- Rate Limits & Quotas — request-count limits, separate from balance.
- Models — per-model pricing.