MiniMax video API error 1026 and 1027: sensitive content
MiniMax returns 1026 when the input is flagged and 1027 when the generated video is. What 1002, 1008 and 2013 mean, and how Sume reports failures.

MiniMax's video API returns code 1026 when the input contains sensitive content and 1027 when the generated video does (read 2026-10-02). The first means your prompt or image was refused before generation; the second means a finished render was withheld. Sume does not pass MiniMax codes through: a failed job exposes a public error category, and Sume's docs list no content-policy code of their own.
Which MiniMax codes should you handle?
The text-to-video page lists the request-time codes and the query page lists the task-time codes.
| Code | Meaning | Where listed |
|---|---|---|
| 1002 | Rate limit triggered, retry later | Create and query |
| 1004 | Authentication failed | Create and query |
| 1008 | Insufficient balance | Create |
| 1026 | Sensitive content in the input | Query |
| 1027 | Sensitive content in the generated video | Query |
| 2013 | Invalid parameters | Create |
| 2049 | Invalid API key | Create |
How does Sume report the same situations?
Sume's errors and credits docs define HTTP errors at submit time and categories on failed jobs. The mapping below is by meaning, not an exact one-to-one translation.
| MiniMax code | Closest Sume signal |
|---|---|
| 1002 rate limit | 429 rate_limited, or 429 queue_full when the queue is out of room |
| 1008 balance | 402 insufficient_credits before provider work starts |
| 2013 parameters | 400 validation, job category validation |
| 1004 and 2049 key | Job category auth, or an authentication error on the request |
| 1026 and 1027 content | A failed job; read its public error and events, usually category generation_rejected |
What should your client do?
Split retryable from terminal. Rate limit and queue errors are retryable with backoff; Sume asks you to reuse the same Idempotency-Key so a replay returns the original job. Balance and parameter errors need a human or a code fix. Sensitive-content failures should not be retried unchanged, because the same input will be refused again.
On Sume, a failed job carries retryability and a next action in its public error metadata, so branch on those fields rather than on the message text. Sume's docs say internal provider payloads are not public API fields, so there is no provider code to match against.
What to be careful about
Do not read the table as a promise that Sume maps every refusal to generation_rejected; the docs describe that category as inspect events and fix unsupported input, and a moderation refusal may surface differently. Check the failed job's events for the real reason, and keep MiniMax's 1027 case in mind: a withheld output still costs you attention even when the input looked clean.
Sources
Related posts
More in Models
- MiniMax video callback_url: echo the challenge in 3 seconds
MiniMax checks a callback_url by POSTing a challenge you must echo within 3 seconds. Sume skips the handshake and signs each terminal webhook instead.
- MiniMax video tasks are queryable for 7 days: poll every 10 s
MiniMax says video tasks can be queried for the last 7 days and suggests polling every 10 seconds. What that means for your pipeline, and Sume's 30 s example.
- Where are the lyrics in a Lyria 3.5 result? Gemini vs Sume
Google returns Lyria 3.5 lyrics and song structure as text beside the audio. Sume puts model-reported lyrics or a section map in result.lyrics when present.
- Nano Banana 2 Lite model id: Vertex hyphens vs Gemini API dots
Google's Gemini API names Nano Banana 2 Lite gemini-3.1-flash-lite-image; its Cloud post writes gemini-3-1-flash-lite-image. Sume's image catalog lists neither.
Written by Sume