Token-based pricing, at our cost
Prices are our wholesale cost plus 5% to cover payment fees. Per 1M tokens, live from our billing catalog. Pay with any credit card via Stripe.
Model pricing
Per 1M tokens, cheapest first — live from our billing catalog
| Model | Input / 1M | Output / 1M |
|---|---|---|
Every model is the provider's official full version (no distillation/quantization). See the model catalog for the full list.
Image · Audio · Video · Embeddings
Billed at our cost price. Video is async (create → poll → download); polling and downloading are free.
Video is billed per generated second; seconds is 4 / 8 / 12. Full model list & examples in the docs.
No per-seat. No minimums. No markup.
Pay for forwarded traffic at our cost. Balance never expires.
FAQ
Are these the real, production Chinese models?+
Yes — DeepSeek v3.1, Qwen Plus, GLM 4.6, Kimi K2 are the same versions the labs deploy in their own consumer apps. No distillations, no fine-tunes.
How reliable is this?+
We run redundant contracts with multiple upstream providers. If a model goes down, requests failover transparently to an equivalent model (opt-in per tenant).
Do I need a Chinese entity, phone number, or visa?+
No. Sign up with any email. We handle provider-side compliance. Pay via Stripe in USD.
Can I still use GPT-4o / Claude / Gemini if I need them?+
Yes — same API. All models billed at our cost price (wholesale + 5%). Use the `model` parameter to pick, or set `model="auto"` and let our router choose the cheapest.
What does "cached" pricing mean?+
Some models charge less for prompt tokens they've already processed (e.g. a system prompt or long context you resend every turn). When a model supports it, the cached rate is shown next to its input price and applied automatically — no extra parameter needed.
Data retention?+
Request bodies are forwarded, not persisted. Only anonymized metadata (token counts, model used, latency) is stored for billing and analytics.
How do I migrate from OpenAI?+
Change `base_url` in your OpenAI SDK to `https://promptoll.com/v1`. That's it. Your existing code keeps working. Switch `model` to a cheaper one when you're ready.