Skip to content
Docs

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

Generation statuses
NameTypeDescription
queuedrunning
Accepted and waiting to start. Credits are held.
submittingrunning
Being handed to the model. Credits are held.
submittedrunning
The model is working. Credits are held.
finalizingrunning
The result is ready and being saved to storage. Credits are captured; outputs appear in a few seconds.
succeededterminal
Outputs are available. Credits were captured.
failedterminal
No result. Credits were released.
submission_unknownterminal
Delivery could not be confirmed. Credits stay held until reconciled; this is not a refund.
needs_reviewterminal
A result arrived but could not be read. Credits stay held until reviewed.
needs_reconciliationterminal
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 →