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 fieldApplies to
inputStandard (non-cached) prompt tokens.
outputGenerated completion tokens.
cached_inputPrompt 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 × count n. gpt-image-2 also 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 generateAudio is 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 usage object lets you reconcile token counts on your side.