Omni Flash API errors: which to retry and which to fix
A retry policy for Gemini Omni Flash 1.1 calls on Sume: 400, 401, 402, 409, 429 rate_limited, 429 queue_full and 503 each mapped to retry, wait or fix.

Retry 429 and 503, never 400, 401 or 402. For 409, read the code first. That is the policy; the table below ties each Sume error to the action and to what an Omni job holds at the moment it happens.
Policy
| Status and code | Meaning | Action |
|---|---|---|
| 400 invalid_request | Body, query or headers not valid | Fix the request; do not retry |
| 401 unauthorized | Key missing or invalid | Fix the key |
| 402 insufficient_credits | Balance cannot cover the reservation | Wait for included Gen$ or upgrade the plan, or submit a cheaper request, then resubmit |
| 409 job_not_completed / job_not_cancelable / job_generation_already_started | Operation invalid for the job state | Poll status; do not repeat the action |
| 429 rate_limited | Too many requests in the window | Back off, honor retry-after |
| 429 queue_full | Workspace concurrency and queue both full | Wait for a job to finish, then retry |
| 503 provider_capacity_exceeded | Sume's provider dispatch queue is full | Retry later with the same Idempotency-Key |
What the 402 means in dollars
Omni reserves at submit, so the 402 threshold is the clip price: $0.1125 for 3 seconds at 360p up to $3.75 for 10 seconds at 4K. A balance of $3.00 refuses a 10 second 4K job and still accepts a 10 second 1080p one at $1.875.
Retry rules
- Send an
Idempotency-Keyon every submit so a retried POST returns the original job. - A failed job (not a failed request) shows a public error category such as
validation(correct the input),quota(add funds or decrease the request cost) orqueue(retry later with the same key); read its next action. - Include the
request_idfrom the error body if you contact support, never the API key or signed URLs.
Sources
Related posts
More in Developers
- Omni job status names: pending vs queued, cancelled vs canceled
Sume's /v1/videos poll uses pending, in_progress, completed, failed and cancelled; /v1/jobs uses queued, processing and canceled. Mapping table for Omni code.
- Replace videos.create_and_poll with a requests helper on Sume
The OpenAI Python SDK's create_and_poll and download_content have no Sume twin. Here is a 25-line requests helper with the same call shape and a safe retry key.
- OpenRouter video client on Sume: swap the base URL, change webhooks
A client written for OpenRouter /videos works on Sume after you change the base URL, key and model ids. The webhook body and signature are different.
- PHP: submit a 30-second Wan 3.0 clip, poll it, save the MP4
Plain PHP 8 with curl and no SDK: send a 30-second wan-3.0 request, poll the job, and write the MP4 to disk. The 720p run is reserved at $3.75.
Written by Sume