Replicate's six prediction statuses vs Sume's five job statuses
Replicate has starting, processing, succeeded, failed, canceled and aborted. Sume has queued, processing, completed, failed and canceled. The map and its gap.

Replicate predictions move through starting, processing, succeeded, failed, canceled and aborted; Sume jobs move through queued, processing, completed, failed and canceled. Replicate's starting has no direct Sume name and aborted has no Sume equivalent, because Sume has one canceled state.
Replicate's definitions are on its prediction lifecycle page; Sume's are in Jobs and results and Errors and rate limits, read 2026-10-02.
What does each Replicate status mean?
starting means the prediction is starting up; the page says that if it lasts more than a few seconds it is usually because a new worker is being started. processing means the model is actively running. succeeded and failed are the normal ends. canceled means the user canceled it or it exceeded its deadline after starting. aborted means it exceeded its deadline before it could start.
How do they map to Sume?
The closest mapping is below. The starting row is an inference from the descriptions, not something either vendor states.
| Replicate | Sume | Note |
|---|---|---|
starting | queued | Waiting before work; Sume queued also covers a full concurrency slot |
processing | processing | Sume also uses it while finalizing |
succeeded | completed | Result ready |
failed | failed | Public error metadata attached |
canceled | canceled | Sume only cancels before generation starts |
aborted | canceled | Sume has no deadline field |
Where does the mapping break?
Replicate bills differently for aborted (no charge) and canceled after a start (runtime billed). Sume instead reserves a USD estimate at submit time, captures it on success and releases it on failure or cancellation before capture, and cancel after generation starts is refused with a 409.
Sume also lets a client skip the status string entirely: the status payload has terminal and result_ready booleans, and a sume_status field. A queue-shaped status field (IN_QUEUE and similar) is kept for ports from other queue APIs, but it is not a Replicate-shaped field.
What does the port code look like?
Branch on terminal, then on sume_status. Treat failed as an error object, not a string: Sume exposes a public category, stage, retryability and next action rather than raw provider payloads. For the endpoint mapping, see Sume vs Replicate.
Sources
Related posts
More in Comparisons
- Replicate webhook signature vs Sume: webhook-id or sume-v1?
Replicate signs id.timestamp.body with a whsec_ key; Sume signs timestamp.body as sume-v1. Compare headers, secrets and a Python verifier for the Sume side.
- Resemble AI vs Sume: voice, detection and watermarking vs video
Resemble AI covers TTS, speech-to-speech, deepfake detection and watermarking. Sume makes media but ships no detection API. What each covers.
- Runway lists 18 video model ids: which nine does Sume have?
Of the 18 video ids on Runway's models page, nine match a Sume id: four Seedance rows, MiniMax H3 and Max, Wan 3.0, Grok Imagine, Gemini Omni Flash 1.1.
- Runway Characters voice clone: 10 s to 5 min, 10 MB; the Sume route
Runway clones a Character voice from a 10-second to 5-minute sample up to 10 MB. Sume avatar video documents text scenes, and Fabric takes your own audio_url.
Written by Sume