Returns the current status of a generation you submitted. Use this to poll until the job finishes and the output_url is ready.
GET /api/v1/generations/5b91a581-ee19-4f86-9fea-bd29471d69d5 HTTP/1.1
Host: vivix-atelier.vercel.app
Authorization: Bearer vvx_live_…| Field | Type | Notes |
|---|---|---|
id | string (uuid) | The generation_id returned by /api/v1/generate. |
While the job is in the queue or rendering:
HTTP/1.1 200 OK
{
"generation_id": "5b91a581-ee19-4f86-9fea-bd29471d69d5",
"status": "processing",
"model": "grok-imagine-image-quality",
"credits_estimate": 211,
"elapsed_ms": 4200,
"created_at": "2026-05-10T12:34:56Z"
}HTTP/1.1 200 OK
{
"generation_id": "5b91a581-ee19-4f86-9fea-bd29471d69d5",
"status": "completed",
"model": "grok-imagine-image-quality",
"output_url": "https://pub-364da8d08c644542b169fbc7255349e7.r2.dev/5b91a581-ee19-4f86-9fea-bd29471d69d5.jpg",
"output_urls": ["https://pub-…/5b91a581-ee19-4f86-9fea-bd29471d69d5.jpg"],
"credits_used": 211,
"duration_ms": 12420,
"created_at": "2026-05-10T12:34:56Z",
"completed_at": "2026-05-10T12:35:08Z"
}output_url is the primary asset; output_urls is the full set when you requested number_results > 1 on an image model. Both are public R2 URLs — fetch without auth.
HTTP/1.1 200 OK
{
"generation_id": "5b91a581-ee19-4f86-9fea-bd29471d69d5",
"status": "failed",
"error": "PROVIDER_ERROR",
"message": "Underlying model returned an error.",
"credits_used": 0,
"created_at": "2026-05-10T12:34:56Z",
"completed_at": "2026-05-10T12:35:01Z"
}Failed jobs refundthe credit charge automatically — you're only billed for completed work. Retry with the same body if it was transient (rate-limit on the provider side, network blip).
| Status | Meaning |
|---|---|
pending | Queued. Will pick up within a few seconds usually. |
processing | Actively rendering on the underlying provider. |
completed | Done. output_url is set. |
failed | Errored. credits_used = 0; refund already applied. |
401 KEY_INVALID — bad key403 NOT_YOURS — the generation_id belongs to a different account404 NOT_FOUND — no generation with that id exists (or it's older than the retention window)