getvivix is one wallet, two surfaces. The web Studio runs in your browser with cookie auth. The API runs the same models with the same credit wallet but takes Bearer-token auth and runs over HTTP — for when you need pipelines, automation, or your own customer-facing features.
Anyone on a Pro or Ultimate plan. Free and Standard tiers don't have API access — the rate-limit infrastructure costs us money to run, and we keep it for paying customers who actually need throughput. If you're on Free or Standard and want to try the API, the cheapest path is the Pro plan; you can downgrade after you've evaluated.
One API call = one generation. You send a model name + a prompt + any model-specific params, you get back a generation_id. Poll /api/v1/generations/{id} until status iscompleted, then read output_url. Credits come out of your existing balance — same as the web app — and the actual cost is whatever the matched pricing row says, computed server-side.
# 1. Start a generation
curl -X POST https://vivix-atelier.vercel.app/api/v1/generate \
-H "Authorization: Bearer vvx_live_..." \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine-image-quality",
"prompt": "a misty forest at dawn, cinematic 24mm",
"aspect_ratio": "16:9",
"resolution": "4K"
}'
# → { "generation_id": "abc123", "status": "pending", "credits_estimate": 211 }
# 2. Poll until ready (model returns in ~12s for image, ~90s for video)
curl https://vivix-atelier.vercel.app/api/v1/generations/abc123 \
-H "Authorization: Bearer vvx_live_..."
# → { "status": "completed", "output_url": "https://r2.../abc123.jpg", "credits_used": 211 }That's the entire shape of the API. Models add their own params, but the call structure never changes.
Three separate ceilings — each independent. Hitting any one of them blocks the next call until it clears.
| Limit | What it means | Pro | Ultimate |
|---|---|---|---|
| Rate limit | How fast you can call the API. Each request counts as 1 hit, regardless of cost. | 240 / minute | 600 / minute |
| Credit budget | How much GPU work you can do per 30-day cycle. Same wallet as the web app. | 15,000 credits | 50,000 credits |
| Concurrency | Max generations running in-flight at once. Excess returns 429 immediately. | 5 jobs | 20 jobs |
The API lives under /api/v1/. We bump the major version when we make breaking changes — new param names, removed endpoints, renamed fields. Within v1, we only add: new optional params, new response fields, new endpoints. Your existing code keeps working.
Deprecations are announced on the changelog with at least 90 days notice and a migration path. We'll also email every API key owner before flipping the switch.
Nothing yet — the API is brand new. This section will fill up as we ship features. Subscribe via the contact form if you want change notifications by email.