Higgsfield 423 and 503 model errors vs Sume provider capacity
Higgsfield returns 404, 423 or 503 for a model you cannot use now. Sume uses provider_not_configured and provider_capacity_exceeded. What to retry.

Higgsfield's docs say a model that your account cannot use can return 404, 423 or 503, with 423 meaning the model is temporarily blocked and 503 meaning it is disabled or not ready. Sume splits the same situation in two: provider_capacity_exceeded means the dispatch queue is full and you should retry later, and provider_not_configured means provider execution is not available in this runtime.
Higgsfield: three codes, one question
Higgsfield marks 423 and 503 as retry later, and 404 as no. That leaves you guessing between a model that is blocked for a while and a model your account was never given. Check the model list for your account before you build a retry loop on either code.
| Situation | Higgsfield | Sume |
|---|---|---|
| Model not available to you | 404, 423 or 503 | Model id missing from the catalog list |
| Model blocked for now | 423, later | 503 provider_capacity_exceeded, retry later with the same key |
| Model off or not ready | 503, later | 503 provider_not_configured, do not retry aggressively |
| Check before submit | Console model access | GET /v1/video-router/models and GET /v1/videos/models |
Listed only when configured
Sume's Video Router docs say higgsfield-genjutsu (Motion Transfer) is listed only when its provider is configured. If the model is missing from GET /v1/video-router/models, a submit for it cannot be treated as a transient error: the id is simply not offered in that runtime. The docs also say to read capabilities from the models endpoint rather than assuming one envelope for every model.
What to do on each side
For provider_capacity_exceeded, wait and retry with the same idempotency key. For provider_not_configured, do not hammer: check the catalog and runtime status first. The error page says the same for job_ledger_not_configured, which you should treat as service unavailable.
- Fetch the model list at startup and when a submit fails with a model error.
- Retry capacity errors with backoff and jitter, not in a tight loop.
- Keep the same
Idempotency-Keyacross the retry. - Quote the request id when you contact support.
Cap the retries
Neither API gives a retry time for a blocked model on the pages read, so cap your retries and fail the order with a clear message once the cap is reached.
Sources
Related posts
More in Developers
- Higgsfield cancel queued request: 202 or 400, and the Sume match
Higgsfield cancels only queued requests (202, else 400). Sume cancels a job before generation starts, or returns 409 job_generation_already_started.
- Higgsfield concurrency limit returns 400, not 429: Sume's answer
Higgsfield answers 400 at your concurrency cap and sends no Retry-After. Sume queues valid jobs and returns 429 queue_full only when the queue is full.
- Higgsfield hf_webhook query parameter vs Sume callback_url
Higgsfield takes the webhook as an hf_webhook query parameter; Sume takes callback_url in the body and signs the delivery. Payload shapes and a Python verifier.
- Higgsfield Idempotency-Key: 422 on a changed body, vs Sume 409
Both APIs replay the original job for a repeated Idempotency-Key. A changed body gets 422 on Higgsfield and 409 idempotency_conflict on Sume. Rules compared.
Written by Sume