fal queue status IN_QUEUE IN_PROGRESS COMPLETED on Sume
Sume's status endpoint returns a queue-shaped status field with IN_QUEUE, IN_PROGRESS, COMPLETED, FAILED and CANCELED, mapped one-to-one onto sume_status.

Sume's status endpoint returns a queue-shaped status field with IN_QUEUE, IN_PROGRESS, COMPLETED, FAILED and CANCELED. It maps one-to-one onto sume_status, so a poller ported from fal's queue API can keep its comparisons.
fal values are from its Queue page; Sume values from Jobs and results and Errors and credits, read 2026-10-01.
What statuses does fal's queue use?
The fal Queue page lists three: IN_QUEUE (request received and stored, waiting for a runner), IN_PROGRESS (the dispatcher has routed it to a runner) and COMPLETED (result stored and available, or sent to your webhook).
What does Sume return?
The docs describe the status endpoint as returning a queue-shaped status for clients ported from other queue APIs, alongside the native job status vocabulary queued, processing, completed, failed, canceled.
| Queue-shaped `status` | Native job status | fal meaning, from its Queue page |
|---|---|---|
IN_QUEUE | queued | Received and stored, waiting for a runner |
IN_PROGRESS | processing | Routed to a runner |
COMPLETED | completed | Result stored and available |
FAILED | failed | No fal row read for this on the page |
CANCELED | canceled | No fal row read for this on the page |
Which field should I poll on?
The docs say to poll on the booleans (terminal, result_ready) or on sume_status. The two vocabularies never disagree, but do not mix them in one client. Only GET /v1/jobs/:id/result for a completed job; before that it answers 409 job_not_completed, so read a failure off the job record instead.
How do I port a fal poller?
Point the loop at GET /v1/jobs/{id}/status, keep your IN_QUEUE and IN_PROGRESS branches, and stop when terminal is true. Sleep for next_poll_after_seconds when present, otherwise back off. Add handling for FAILED and CANCELED, since a Sume job can end in either. More on the poll-then-read pattern: jobs result 409 job_not_completed.
Sources
Related posts
More in Developers
- x-fal-billable-units header: WebSocket billing vs Sume receipts
fal bills WebSocket sessions via x-fal-billable-units headers. Sume has no such header: cost is a per-job ledger row you read back by job or run.
- x-fal-needs-retry header: what Sume uses to signal a retry
fal marks retryable errors with X-Fal-Needs-Retry. Sume signals retry through error category and code, retry-after on 429, and the same idempotency key.
- x-fal-no-retry header: safe retries with a Sume Idempotency-Key
fal retries queued requests; X-Fal-No-Retry turns that off. On Sume you keep retries and make them safe with an Idempotency-Key on every paid submit.
- FFmpeg 8.1 AV1 and ProRes encoding: Sume has no codec field
FFmpeg 8.1 adds D3D12 H.264/AV1 and Vulkan ProRes encoding. Sume compiles ffmpeg server-side and rejects codec and crf fields, so you cannot pick an encoder.
Written by Sume