Install any skill in seconds. Free to start, no credit card required.
Get Started Free →sediman-agent/venice-errors
Handle Venice API errors correctly. Covers the StandardError / DetailedError / ContentViolationError / X402InferencePaymentRequired body shapes, every meaningful status code (400, 401, 402, 403, 415, 422, 429, 500, 503, 504), the 402 PAYMENT-REQUIRED header used by x402 inference, 422 content-policy suggested_prompt retry pattern, 429 rate-limit headers, and an exponential-backoff retry strategy with idempotency.
Passed 20 of 22 test cases with the skill, and 12 of 22 without it.
and 9 more in the full report
8 fixed12 passed either way2 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 8 test cases the skill fixed. Same model, same prompt, with and without the skill.
An automated agent calling Venice /crypto/rpc/mainnet received HTTP 429 even though its per-minute rate limit header X-RateLimit-Remaining showed remaining allowance. Write a handler that inspects the 429 response body to identify the root cause.
| Checked | Without skill | With skill |
|---|---|---|
| The handler checks the customMessage field in the 429 JSON payload to detect 24-hour credit limit exhaustion. | Missed | Passed |
The instructions your model reads when the skill loads.
Every Venice endpoint returns one of four error shapes. Knowing which shape you got tells you how to react.
StandardError — simple messageThe default shape for 4xx/5xx. Emitted when there's nothing structured to surface.
{ "error": "Unauthorized" }
DetailedError — Zod validation failureUsed for some 400 responses on malformed request bodies. When present, details is a Zod format() tree (_errors recursively keyed by field) alongside a flat issues array. Many 400s are plain StandardError without details — always handle both.
{
"error": "Invalid request",
"details": {
"_errors": [],
"messages": { "_errors": ["Field is required"] }
},
"issues": [
{ "code": "invalid_type", "path": ["messages"], "message": "Field is required" }
]
}
Render details / issues to the user so they can fix the input; don't retry — the request shape is wrong.
ContentViolationError — 422 content policyReturned when a prompt trips content policy. suggested_prompt (a model-provided safe alternative) is currently emitted by the audio generation pipeline (/audio/queue, /audio/retrieve); image and video endpoints return { error: "Content policy violation" } without suggested_prompt.
{
"error": "Content policy violation",
test cases passed, vs 12 / 22 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.