Personal subscriptions are for individual, non-commercial use only. They are not available for organization billing. Commercial workloads, shared access, or abuse may result in suspension.
Plans
| Plan | Price | Included monthly usage | Concurrency |
|---|---|---|---|
| Basic | $10 / month | $20 of model usage | 2 |
| Pro | $30 / month | $75 of model usage | 3 |
| Max | $100 / month | $300 of model usage | 4 |
Live per-model discounts
While you’re spending from included subscription usage, each model also has a live discount based on current supply. The discount applies to how much included usage a request consumes:| Supply state | Discount | Usage multiplier |
|---|---|---|
| Low | 0% off | 1.00× |
| Medium | 25% off | 0.75× |
| High | 50% off | 0.50× |
| Surplus | 75% off | 0.25× |
Example
A Max subscriber pays $100/month and receives $300 of included model usage. If GLM is currently 75% off for subscriptions, a request that would normally use $1.00 of model usage uses $0.25 from the subscription balance.Where to check current discounts
- Billing page — the “Live subscription discounts” panel.
- Model cards and model detail pages — shown on personal accounts.
- Playground — the model picker when you’re in Subscription mode.
- Public status endpoint —
GET /statusreturns the top-levelcurrent_subscription_supply_updated_atplus per-model fields:- Top-level:
current_subscription_supply_updated_at
- Per model:
current_subscription_supply_statecurrent_subscription_discount_percentcurrent_subscription_credit_multiplier
- Top-level:
Usage controls
Included usage is constrained by the monthly billing period plus two reset windows. The 5-hour and 7-day windows start when your first subscription-funded request is admitted after no active window exists, then reset at the shown reset time. All windows are visible in the billing page usage panel.| Window | Cap |
|---|---|
| Monthly | 100% of plan’s included usage (resets when the Stripe billing period renews) |
| 7 days | 50% of plan’s included usage |
| 5 hours | 25% of plan’s included usage |
Using subscriptions from the API
Personal API keys can be set to one of two billing modes:- Credits — requests draw from prepaid credits.
- Subscription — requests draw from your subscription’s included usage at the current live discount.
- Monthly included usage exhausted
- 5-hour or 7-day usage window exhausted
Managing your plan
- Upgrades are requested in Lilac and confirmed through Stripe. The new plan takes effect once Stripe confirms, and the price difference is pro-rated for the remainder of the current billing period. Included usage is recalculated at the new plan’s included-usage multiplier (Basic 2×, Pro 2.5×, Max 3×) on what you’ve paid, minus what you’ve already used. For example: on Basic you pay $10 and get $20 of included usage. Upgrade to Pro halfway through the month for an extra $20 and your included usage becomes 2.5 × $30 = $75, minus anything already spent.
- Downgrades generally take effect at the next billing period.
- Payment methods, invoices, and cancellation are handled through the Stripe customer portal linked from the billing page.
FAQ
Are discounts guaranteed?
Are discounts guaranteed?
No. Discounts depend on current supply for each model and can change at any time. The discount that applies to a request is the one in effect when the request starts.
What happens when I run out of subscription usage?
What happens when I run out of subscription usage?
Requests stop drawing from subscription usage. If your API key has fallback to credits enabled, requests continue against your prepaid credit balance. Otherwise they are rate-limited until the relevant window resets.
Do discounts affect prepaid credits?
Do discounts affect prepaid credits?
No. Subscription discounts apply only to subscription-funded requests. Requests paid with credits always bill at standard per-token rates.
Where can I check current discounts?
Where can I check current discounts?
The console model pages, the billing page’s “Live subscription discounts” panel, the playground model picker in Subscription mode, or the public
GET /status endpoint.
