Pricing & billing
Credits, packs, auto-reload and Stripe.
Credits
$1 buys 1,000 credits and every successful image delivery costs 1 credit — cached or freshly generated, any size, any format. New accounts start with 100 free credits. Credits never expire.
- Keyed image request → 1 credit on 200.
- Signed URL → 1 credit at creation; redemptions are free.
- 304 Not Modified → free.
- Failed render (502) → refunded.
- Search, resolve, options, account, feedback → free.
Packs
| Price | Credits | Per image |
|---|---|---|
| $5.00 | 5,000 | $0.00 |
| $10.00 | 10,000 | $0.00 |
| $25.00 | 25,000 | $0.00 |
| $100 | 100,000 | $0.00 |
Packs are bought through Stripe Checkout from the dashboard; card details never touch our servers. Credits are added the moment Stripe confirms the payment.
Auto-reload
With a saved payment method you can enable auto-reload: whenever the balance drops below 1,000 credits we charge the card for 10,000 credits ($10.00). Attempts are rate-limited to one per ten minutes, and a failed charge turns auto-reload off and shows the reason in the dashboard.
Billing from the API
Keys with billing:write (created through the CLI device flow) can create hosted Stripe pages. Creating a session never charges anyone — a human still completes the purchase in the browser.
/api/v1/billing/checkout| Parameter | Type | Description |
|---|---|---|
creditsrequired | 5000 | 10000 | 25000 | 100000 | Which pack to buy. Returns a hosted Checkout URL in 201. |
curl -X POST https://carimage.dev/api/v1/billing/checkout \
-H "Authorization: Bearer $CAR_IMAGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"credits": 10000}'/api/v1/billing/portalReturns a Stripe Customer Portal URL for invoices and payment methods. Requires a previous purchase.
billing:write, offer the Checkout URL; never open or complete a payment autonomously.Watching the balance
X-Credits-Remaining is on every image response, and GET /api/v1/account returns the balance, auto-reload state and current prices at any time — free of charge.