Credits system
$1 = 1000 credits — AI generation, text recognition, TTS synthesis, and web search are all metered by real cost.
The base conversion
VizChat uses credits as a unified unit of measure:
$1 = 1,000 credits
This ratio is hard-coded as CREDITS_PER_DOLLAR = 1000 in quota_config.py and does not vary by tier. Think of credits as "prepaid dollar fractions" — a typical AI message costs single to double digits of credits.
All costs are first expressed as "raw dollar cost", then multiplied by COST_MARKUP_MULTIPLIER = 2.0 (preserving 50% gross margin) before being converted to credits.
Monthly allowances
| Tier | Monthly credits | BYOK / personal models | Notes |
|---|---|---|---|
| Free | 1,000 | Not available | Default tier for new users |
| Starter | 1,000 | Available | Auto-activated 30-day trial on first signup |
| Pro | 19,000 | Available | Suited to heavy individual usage |
| Max | 69,000 | Available | Teams / intensive AI workflows |
When credits run out, new paid AI calls are blocked for the current period until the next reset. The period anchor day equals your subscription start date (or signup date if no subscription).
Consumption categories
Credits are consumed across four independent metering dimensions:
1. AI generation (the primary driver)
Per agent call:
credits = ((prompt_tokens - cached_tokens) × input_price + cached_tokens × cached_price
+ output_tokens × output_price) × markup × 1000Taking the default gemini-3.5-flash-lite:
| Component | Raw price ($/M tokens) |
|---|---|
| input | 0.30 |
| cached input | 0.03 |
| output | 2.50 |
One call with 1,000 input + 500 output tokens ≈ 3 credits.
2. Web search (tool calls)
| Tool | Raw price |
|---|---|
search_web | $0.001 / call |
→ 2 credits per search (markup included).
3. Text recognition (PDFs and images)
Uploading a PDF costs nothing: the text a PDF carries is extracted for free right after upload, so it's searchable straight away. The first time a PDF or image is read (you open its extracted text, or the AI reads its text), the whole file goes through text recognition once, charged per page; the result is kept, so reading it again costs nothing. An image counts as one page.
| OCR provider | Raw price |
|---|---|
glm-ocr | $0.0005 / page |
paddle-ocr | $0.00025 / page |
→ Recognizing a 100-page PDF once with GLM-OCR ≈ 100 credits.
4. TTS
| Provider | Raw price |
|---|---|
gemini TTS | $0.0000758 / character |
qwen TTS | $0.000015 / character |
cosyvoice | $0.000015 / character |
BYOK: no platform credits consumed
With BYOK (Bring Your Own Key) enabled, agents call your configured model provider using your own API key (see BYOK model providers for the full list) — and:
- No platform credits are consumed
- No monthly allowance limits apply
- But platform tools (text recognition, TTS, web search) still cost credits at raw rate — they use the platform's own vendors
BYOK is available on Starter and above. See BYOK setup.
Checking usage
Settings → Usage shows credits consumed this period, remaining balance and the next reset date, plus a breakdown of this period by category: Chat (talking to the AI, including conversation titles, summaries and web search), Voiceover, Text recognition and Translation (multilingual copy for Marketplace listings).
Next step
Workspace
Isolate projects, clients, or research topics with multiple workspaces — FileTree + WorkbenchTabBar + shared AI context.
Canvas Overview
The canvas is where you compose a VizChat document — a storyboard for step-by-step narration, or a dashboard for a static layout — with the AI reading and writing it directly.