Overview
TokenLab uses pay-as-you-go pricing. You only pay for what you use, with no subscriptions or minimum commitments.How Billing Works
- Add credits to your account
- Use the API - costs are deducted per request
- Monitor usage in your dashboard
- Top up when your balance is low
Pricing Models
Live prices can change as providers, routes, and model details change. Treat the Dashboard, the Models page,GET /v1/models/:model/pricing, and Pricing API to check current support.
Token-Based Pricing
Most chat, reasoning, embedding, rerank, and some image models are priced by input, output, cache, or image-output tokens.| Pricing family | Examples | Verify current price |
|---|---|---|
| Chat / Responses | gpt-5.4, claude-sonnet-4-6, gemini-3.5-flash | Models page or Pricing API |
| Embeddings / rerank | text-embedding-3-small, qwen3-vl-rerank | Model pricing detail |
| Token-priced images | gpt-image-2 | GET /v1/models/gpt-image-2/pricing |
Avoid copying static price tables into production logic. Store only model IDs in code and fetch or review current pricing before launch.
Request and Task Pricing
Image, video, music, 3D, audio, and world-generation models may be priced per request, per image, per second/minute, per task, or by provider-specific usage. Check the selected model details before production usage.| Family | Examples |
|---|---|
| Image | flux-pro, qwen-image-plus |
| Video | veo3.1, seedance-2.0 |
| Music | suno-music |
| 3D | tripo-h3.1 |
| Audio | tts-1, whisper-1 |
Async Task Billing (Video/Music/3D and Some Image Models)
For task-based generation, creating the task may reserve or pre-deduct the estimated cost. Final settlement happens only after the async task reaches a terminal success state during polling or finalization.
- Submit the task. TokenLab may place an estimated pre-deduction or reservation to verify balance and spending limits.
- Follow the returned
poll_url, or callGET /v1/tasks/{id}, until the task reaches a terminal status. - When the task completes successfully, final settlement records the usage and the task response includes
billing_transaction_id. - If creation fails or the terminal status is failed, the pending amount is refunded or released and the request is marked non-billable.
Billing Transaction IDs
Successful billable OpenAI-compatible non-streaming JSON responses includebilling_transaction_id when settlement has completed before the response is finalized. The same value is also exposed as the X-Billing-Transaction-ID response header for browser and server integrations. Native compatibility routes, such as Gemini /v1beta, may expose the value via the header only to preserve the provider-native response shape. For async media tasks, poll the returned poll_url or GET /v1/tasks/{id}; the task response includes billing_transaction_id once settlement is complete. Streaming responses may settle after the stream has already been sent, so use the dashboard usage logs for reconciliation when the header is absent.
Token Counting
Tokens are the basic units of text processing:- ~4 characters = 1 token (English)
- ~1-2 characters = 1 token (Chinese)
- 1 image = varies by size and detail
Estimating Tokens
Usage Tracking
Dashboard
Monitor your usage in the Dashboard:- Real-time balance
- Usage history by model
- Cost breakdown
- API key usage
API Response
Each response includes usage information:Cost Optimization
Use appropriate models
Use appropriate models
Use smaller models (GPT-4o-mini, Gemini Flash) for simple tasks.
Implement caching
Implement caching
Cache responses for repeated identical requests.
Optimize prompts
Optimize prompts
Keep prompts concise while maintaining clarity.
Set max_tokens
Set max_tokens
Limit response length when full responses aren’t needed.
Use streaming for long responses
Use streaming for long responses
Streaming doesn’t cost extra but improves perceived performance.
Low Balance Alerts
Configure alerts when your balance drops:- Go to Dashboard → Settings → Notifications
- Set your threshold amount
- Receive email notifications
Adding Credits
Payment Methods
- Stripe (Visa, Mastercard)
Steps
- Log in to Dashboard
- Click Add Credits
- Select amount and payment method
- Complete payment
API Key Limits
You can set spending limits on individual API keys:- Go to Dashboard → API Keys
- Click on a key to edit
- Set Usage Limit
402 Payment Required.