Documentation
Generations
Start and track Raywake generations. Learn job statuses, safe polling, idempotent retries, stored outputs and signed download links.
Generations run asynchronously. Start one, then poll the job until it reaches a terminal status.
Statuses
| Name | Type | Description |
|---|---|---|
queued | running | Accepted and waiting to start. Credits are held. |
submitting | running | Being handed to the model. Credits are held. |
submitted | running | The model is working. Credits are held. |
finalizing | running | The result is ready and being saved to storage. Credits are captured; outputs appear in a few seconds. |
succeeded | terminal | Outputs are available. Credits were captured. |
failed | terminal | No result. Credits were released. |
submission_unknown | terminal | Delivery could not be confirmed. Credits stay held until reconciled; this is not a refund. |
needs_review | terminal | A result arrived but could not be read. Credits stay held until reviewed. |
needs_reconciliation | terminal | The job passed its settlement deadline. Credits stay held until reconciled. |
Polling
Poll GET /v1/jobs/{job_id} every 2–5 seconds. For short jobs you can instead pass ?wait=true to POST /v1/generate; the request then returns when the job is terminal or after about three minutes, whichever comes first.
Idempotency
Every generation requires an Idempotency-Key header. Retrying with the same key and the same body returns the original job instead of charging twice; the same key with a different body returns 409. Use a fresh UUID per intended generation.
Storage
Outputs are stored for 30 days. Their URLs are signed for 7 days; fetch the job again for a fresh link. Download anything you need to keep.
Next: Inputs and files →