Billing & Subscriptions
Understanding Your Plan
Manage your organization's subscription plan, billing interval, payment methods, and usage from the Billing page.
Accessing Billing#
Navigate to Billing in the sidebar (visible to users with billing permissions). The billing page is available at /settings/billing.
Current Plan & Status#
The top of the billing page shows:
- Current Plan: Your active plan name and description.
- Organization Status: Active, Trial, Past Due, Suspended, or Cancelled.
- Billing Interval: Whether you're billed monthly or annually.
- Next Billing Date: When your next payment is due.
- Next Billing Amount: The amount of your upcoming invoice.
Account Lifecycle States#
Your organization transitions through the following states during its lifecycle. Each state determines what actions are allowed.
| Status | Meaning | API Access | Write Operations | Data |
|---|---|---|---|---|
| Trial | Free trial period (14 days). All features available within trial plan limits. | Full access | Allowed | Fully accessible |
| Active | Subscription is current and all features are available. | Full access | Allowed | Fully accessible |
| Past Due | A payment has failed. A 14-day grace period begins. Full access continues but a warning banner is shown. | Full access | Allowed | Fully accessible |
| Suspended | Grace period expired or trial expired without subscribing. Read-only access only. | Read-only | Blocked | Viewable but not editable |
| Cancelled | Subscription has been fully cancelled. Read-only access. Data retained for 90 days. | Read-only | Blocked | Viewable for 90 days |
What Happens During Each State#
Trial
- Your organization starts with a 14-day free trial.
- A blue banner shows the number of trial days remaining.
- Usage limits are based on the trial plan.
- At the end of the trial, if no subscription is active, the organization is automatically suspended.
Active
- Normal operating state with full access to all plan features.
- No banners are displayed unless usage approaches limits.
Past Due
- Triggered when a payment fails (e.g., expired card, insufficient funds).
- Stripe automatically retries the payment according to its retry schedule.
- Organization owners see an amber warning banner with an "Update Payment" link.
- Other members see a notice that there is a billing issue.
- If payment succeeds during retries, the organization returns to Active.
- If 14 days pass without successful payment, the organization is Suspended.
Suspended
- All API keys are automatically paused (not deleted).
- All write operations (creating templates, rendering images, uploading assets) are blocked.
- Read-only access continues: you can view templates, assets, renders, and settings.
- Organization owners see a red banner with instructions to update payment.
- Once payment is resolved, the organization is reactivated and paused API keys are automatically resumed.
Cancelled
- All API keys are permanently revoked (cannot be resumed).
- All write operations are blocked.
- Read-only access continues for 90 days (data retention period).
- After 90 days, data may be permanently deleted.
- A red banner displays the cancellation status.
API Key Behavior During Lifecycle Changes#
| Event | API Key Action |
|---|---|
| Organization suspended | All active keys are paused (can be resumed later) |
| Organization reactivated | All paused keys are resumed automatically |
| Organization cancelled | All keys are permanently revoked (cannot be recovered) |
Subscribing to a Plan#
- Click Change Plan on the billing page.
- Select Monthly or Annual billing.
- Choose the plan that fits your needs.
- Click Continue to Checkout — you'll be redirected to a secure Stripe checkout page.
- Complete payment. You'll be redirected back to the billing page.
Upgrading or Downgrading#
- Follow the same flow as subscribing: click Change Plan, select a different plan, and complete checkout.
- Stripe automatically calculates prorations — you'll receive credit for unused time on your old plan and be charged the difference for the new plan.
Switching Billing Interval#
If your plan supports both monthly and annual billing:
- Find the Billing Interval section on the billing page.
- Click Monthly or Annual to switch.
- Stripe handles proration automatically. Annual billing typically offers savings displayed as a percentage.
Payment Method Management#
- Click Manage Payment Method to open the Stripe Customer Portal.
- From the portal, you can add, update, or remove payment methods securely.
- All payment details are managed by Stripe — we never store your card information.
Cancellation#
- Scroll to the Cancel Subscription section at the bottom of the billing page.
- Click Cancel Subscription and confirm in the dialog.
- Your organization retains full access until the end of the current billing period.
- A banner shows the date when access will end.
- You can click Reactivate Subscription at any time before the period ends to reverse the cancellation.
Failed Payments#
- If a payment fails, your organization status changes to Past Due.
- A warning banner is displayed to organization owners.
- Stripe automatically retries the payment according to its retry schedule.
- If payment succeeds during retries, your organization status returns to Active.
- If the grace period (14 days) expires without successful payment, your organization is Suspended.
Usage & Limits#
The Usage section shows progress bars for:
- Templates: Number of templates created vs. plan limit.
- Renders: Monthly render count vs. plan limit.
- Assets: Number of uploaded assets vs. plan limit.
- Team Members: Active members vs. plan limit.
- API Keys: Active API keys vs. plan limit.
Usage Notifications & Thresholds#
The system monitors your usage and displays warnings at the following thresholds:
| Threshold | Notification |
|---|---|
| 80% used | An amber "Approaching Limit" banner appears. Dismissible; reappears next session. |
| 95% used | An amber "Near Limit" warning appears. Dismissible; reappears next session. |
| 100% used | A red "Limit Reached" banner appears. Not dismissible for structural resources. |
| Overage (if enabled) | An info banner shows current overage usage and estimated charges. |
Usage warnings are shown in the notification banner at the top of the application. The highest-priority warning is displayed first.
Resource Types#
Resources are classified into two categories:
Structural Resources (always hard-stop at limit):
- Templates
- Assets
- API Keys
- Team Members (Users)
- Image Cache Entries
When you reach the limit for a structural resource, you must delete an existing item or upgrade your plan before creating more.
Metered Resources (may allow overage):
- Renders
- Asset Storage (MB)
- LLM Calls (AI Assistant)
Metered resources reset at the beginning of each billing period. Depending on your plan, they may allow overage usage beyond the base limit.
Overage Charges#
Overage charges apply when your usage of metered resources (renders, storage, LLM calls) exceeds your plan's base allowance, and your plan supports overage billing.
How Overages Work#
- Base Allowance: Each plan includes a set number of renders, storage MB, and LLM calls per billing period.
- Beyond the Limit: When you exceed the base allowance, additional usage is billed as overage.
- Per-Unit Rate: Each overage unit is charged at a per-unit rate defined by your plan (e.g., $0.03 per render).
- Overage Cap: Some plans have an overage cap — a maximum number of overage units allowed. Once the cap is reached, the resource is blocked until the next billing period.
- Billing: Overage charges are billed at the end of your billing period via Stripe usage-based billing.
Overage Behavior Types#
| Behavior | Description |
|---|---|
| Hard Stop | Usage is blocked when the base limit is reached. No overage charges. This is the default. |
| Allow Overage | Usage continues beyond the base limit. Each additional unit incurs an overage charge. |
| Allow Overage with Cap | Usage continues beyond the base limit up to a maximum overage cap. Once the cap is reached, usage is blocked. |
Reading the Overage Display#
On the billing page, progress bars for metered resources provide detailed overage information:
- The progress bar extends beyond 100% with a distinct color when in overage.
- Below the bar: "1,350 / 1,000 renders used" shows current vs. base allowance.
- Overage detail: "350 overage renders" shows how many units are beyond the base.
- Estimated charge: "Est. overage charge: $10.50" shows the projected cost.
- If an overage cap is set: "1,350 / 1,000 (+2,000 max) renders" shows the cap.
Current Period Overage Charges#
The Current Period Overage Charges section on the billing page shows:
- A per-resource breakdown of overage usage and charges.
- Example: "Renders: 350 overage x $0.03 = $10.50"
- The total estimated overage charge for the current billing period.
- Overage charges are finalized and billed at the end of the billing period.
API Response Headers#
When using the API, overage-related information is included in response headers for metered resources:
| Header | Description |
|---|---|
X-Usage-Renders-Used | Current number of renders used this period |
X-Usage-Renders-Limit | Base render allowance for your plan |
X-Usage-Renders-Overage | Number of overage units used (if applicable) |
X-Usage-Renders-Overage-Cap | Maximum overage units allowed (if cap is set) |
X-Usage-Renders-Overage-Rate | Per-unit overage rate in dollars |
Similar headers are available for other metered resources (AssetStorageMb, LlmCalls).
AI Assistant Add-On#
The AI Assistant is an intelligent chat interface that can answer questions about your templates, assets, renders, and platform features. Depending on your plan, AI access works differently.
AI Access by Plan#
| Plan Level | AI Availability |
|---|---|
| Free / Trial | Not available |
| Pro | Available as a paid add-on |
| Business | Included in plan |
| Enterprise | Included in plan with higher limits |
Purchasing the AI Add-On#
If your plan supports the AI Assistant as an add-on but you haven't purchased it:
- Navigate to AI Assistant in the sidebar or the Billing page.
- You'll see a promotional section describing the AI Assistant features and pricing.
- Click Add AI Assistant (only available to organization owners).
- Complete the purchase through Stripe.
- The AI Assistant is immediately available after purchase.
Non-owners will see a message: "Ask your organization owner to add the AI Assistant."
Cancelling the AI Add-On#
- Go to the Billing page.
- In the AI Assistant section, click Remove Add-On.
- Confirm the removal.
- The AI Assistant remains available until the end of the current billing period.
AI Usage Limits#
The AI Assistant has a monthly limit on LLM calls (messages that trigger an AI response):
- Your current usage and limit are displayed in the AI chat interface.
- When you reach the usage cap, the chat input is disabled.
- Your chat history remains viewable in read-only mode.
- Usage resets at the beginning of each billing period.
AI Access States#
| State | What You See |
|---|---|
| Included in plan | Full AI chat access with usage counter |
| Add-on active | Full AI chat access with usage counter |
| Add-on not purchased | Promotional section with purchase option (owners) or "Ask your owner" message |
| Not available on plan | AI sidebar icon is grayed out; message that AI is not available on your plan |
| At usage cap | Chat history shown read-only; input disabled with "Usage limit reached" message |
| Admin disabled | Message: "AI Assistant is temporarily unavailable" |
Invoice History#
The Invoice History section shows all past invoices with:
- Invoice number and date
- Payment status (Paid, Open, etc.)
- Amount paid
- Link to view the full invoice on Stripe
Permissions#
- billing:view: Required to access the billing page and see subscription details.
- billing:manage: Required to change plans, manage payment methods, cancel/reactivate subscriptions, and manage add-ons. Typically limited to organization owners.