Skip to main content
Kyara Intelligence uses a subscription with a built-in compute budget instead of pay-per-token invoicing. Your plan grants credits into buckets that refresh on a schedule, every request spends from those buckets, and you can never wake up to a surprise bill.

Plans

Both plans include every model in the catalog. The only difference is the size of your compute budget.
In API responses such as /v1/balance, Spark appears as the plan id lite and Ember as premium.

Credits

Balances are tracked in credits at a fixed rate: 10,000,000 credits = $1.00 USD So a Spark plan’s Weekly bucket holds 40,000,000 credits ($4.00) and its Base bucket holds 1,000,000 credits ($0.10). The balance endpoint reports raw credit amounts; divide by 10,000,000 to convert to dollars.

The bucket system

Your balance is split across three buckets. Every request spends from them in a fixed order: Base first, then Weekly, then Additional.
1

Base

A small allowance that refreshes to full every 8 hours. Every request draws from Base first. It does not roll over: whatever is left when the window ends is replaced, not added, so each refresh starts you fresh at the cap.
2

Weekly

Your main compute budget, granted a week at a time. Once Base is empty, requests draw from here. It refreshes to full every 7 days, counted from the start of your current weekly window.
3

Additional

Optional one-time top-up credits purchased from the store. They have no cap, never expire, and are only touched after Base and Weekly are both empty.

Why a Base bucket?

The 8-hour Base bucket absorbs everyday usage so your Weekly budget drains slowly. Light, regular use may never dip into Weekly at all, while a heavy session simply spills over into it. This smooths usage across the week instead of letting one busy day consume everything.

Can my balance go negative?

Slightly, yes. Costs are settled after a response finishes, so your final request before running out can push the Weekly bucket a little below zero. That small shortfall is deducted from the next weekly refresh. Purchased Additional credits are never driven negative.

What a request costs

Each request is metered by its actual token usage at the model’s listed prices, quoted per million input and output tokens. The prices shown in the model catalog are exactly what you are billed, with no separate fees on top. Two things happen around every request:
  1. Before the request runs, Kyara estimates its cost from your prompt size and requested output length. If your total balance across all three buckets cannot cover the estimate, the request is rejected with a 403 error and the code insufficient_balance. The estimate is deliberately conservative and is used only for this check, never for billing.
  2. After the response finishes, the actual usage is billed and split across your buckets in the spend order above.
Bigger prompts, longer outputs, and more expensive models consume your budget faster. You do not need to do any token math yourself: the dashboard and the balance endpoint always show what you have left and when each bucket refreshes.

Running out and topping up

When all three buckets are empty, requests fail with 403 insufficient_balance until your Base bucket refreshes (at most 8 hours away) or you add credits. You have two options:

Wait for a refresh

Base refills every 8 hours and Weekly every 7 days. Check refreshesAt on the balance endpoint to see exactly when.

Buy a credit pack

One-time packs of $5, $10, $25, or $50 from the store. They stack on either plan and never expire. An active subscription is required to purchase.

Checking your balance

  • Dashboard: the usage page shows each bucket, its refresh timer, and a ledger of every grant and debit.
  • API: call GET /v1/balance with your API key to read exact credit amounts, plan caps, and refresh timestamps programmatically.