JanuslySign up
API reference

Errors & limits

Every error is JSON with a stable machine-readable code — switch on the code, not the message. Rate limits are per account, not per key.

The error envelope

{
  "error": {
    "code": "insufficient_credits",
    "message": "This render costs 200 credits; balance is 40."
  },
  "needed": 200,
  "balance": 40
}

Some codes carry extra top-level fields alongside the envelope, like needed / balance above or retryAfterSeconds on rate limits.

Status codes

FieldTypeDescription
401 unauthorizedMissing, malformed, or revoked API key.
402 insufficient_creditsNot enough render credits; includes needed and balance.
403 plan_requiredThe key's account is on the free plan, or the requested model/resolution sits behind a higher tier.
404 not_foundNo render with that id on this account.
422 invalid_requestValidation failure; the message names the field.
429 rate_limitedToo many requests — respect the Retry-After header.

Rate limits

  • Renders: 10/min per account
  • Status polls: 60/min per account
  • Uploads: 20/min per account
  • Account checks: 60/min per account

Limits are per account, not per key — multiple keys share the same budget. If you need more, contact support@janusly.com.