Jobs and lifecycle
The states a job moves through and what each one means.
A job is the record of one generation. Its id (job_...) is returned by the submit call and is the key for status, result, cancel and webhooks. Store it as soon as the submit returns.
States
sume_status | status | Terminal | Meaning |
|---|---|---|---|
queued | IN_QUEUE | No | Accepted and waiting for a worker. |
processing | IN_PROGRESS | No | A worker has started the model. |
completed | COMPLETED | Yes | result.artifacts holds the output. |
failed | FAILED | Yes | error says why. The reserved price is refunded. |
canceled | CANCELED | Yes | Canceled before generation started. Refunded. |
The status endpoint returns both spellings: sume_status in lower case and status in the queue style some SDKs expect. They always agree.
What the status tells you to do
Each status response has next_action:
next_action | Do this |
|---|---|
poll_status | Wait next_poll_after_seconds, then poll again. |
fetch_result | Read result_url. |
inspect_events | The job ended without a result. Read error on the job, or its events. |
Outputs
Artifacts live on media.sume.com and are readable by anyone with the link (visibility: "public_by_link"). Copy them to your own storage if you need to control access.
Canceling
A job can be canceled only before generation starts. The status response says whether that is still possible (cancelable, cancel_url). Many models start within a second, so most jobs are no longer cancelable by the time you look. See Cancel a job.
Who can read a job
A job belongs to the workspace of the key that made it, and it shows up in that workspace's dashboard. A job id from another workspace answers 404 not_found.