Credits & Billing
All AI generation in CutX is powered by credits. New accounts start with 25 free credits.
Check Balance
Section titled “Check Balance”GET /api/credits/balanceAuthorization: Bearer <token>Response (200):
{ "balance": 120, "lifetime_purchased": 250, "lifetime_used": 155}Purchase Credits
Section titled “Purchase Credits”Get Available Options
Section titled “Get Available Options”GET /api/checkout/sessionAuthorization: Bearer <token>Response (200):
{ "creditPacks": [ { "id": "starter_50", "credits": 50, "price": 9.99 }, { "id": "pro_150", "credits": 150, "price": 24.99 }, { "id": "agency_500", "credits": 500, "price": 69.99 }, { "id": "mega_1000", "credits": 1000, "price": 119.99 } ], "subscriptionPlans": [ { "id": "starter", "credits": 120, "price": 24.99, "period": "month" }, { "id": "pro", "credits": 350, "price": 44.99, "period": "month" }, { "id": "agency", "credits": 1000, "price": 84.99, "period": "month" } ]}Create Checkout Session
Section titled “Create Checkout Session”POST /api/checkout/sessionAuthorization: Bearer <token>Content-Type: application/jsonOne-time credit pack:
{ "type": "one_time", "pack": "pro_150"}Subscription:
{ "type": "subscription", "plan": "starter"}Response (200):
{ "sessionId": "cs_...", "url": "https://checkout.stripe.com/..."}Redirect the user to url to complete payment. After successful payment, credits are automatically added to their balance.
Credit Costs
Section titled “Credit Costs”| Generation Type | Credits | Approx. API Cost |
|---|---|---|
| Ad Copy (5 variants) | 1 | ~$0 (Workers AI) |
| Static Ad Image | 3 | ~$0.04 |
| TTS Audio (30s) | 2 | ~$0.045 |
| UGC Video (TTS + lip sync) | 40 | ~$4.50 |
| Image-to-Video | 10 | ~$0.75 |
| Video Reframe | 20 | ~$2.50 |
| Product Scrape | 0 | Free |
Subscription Tiers
Section titled “Subscription Tiers”| Tier | Price | Credits/mo | Ad Spend Fee | Platforms |
|---|---|---|---|---|
| Starter | $24.99/mo | 120 | 6% | Meta + TikTok |
| Pro | $44.99/mo | 350 | 6% | All |
| Agency | $84.99/mo | 1,000 | 4% | All + API + white-label |
Error Responses
Section titled “Error Responses”| Status | Meaning |
|---|---|
| 402 | Insufficient credits — balance too low |
| 503 | Stripe not configured |