Skip to main content
This section covers the API at api.quiver.ai.
If you are using the app at app.quiver.ai, start with the App docs.

Authentication

The QuiverAI API uses API keys with bearer authentication.
  • Create and manage keys in API Keys.
  • Follow the Quickstart to run your first call.
  • Keep keys server-side and load them from environment variables or secret managers.
Authorization: Bearer <QUIVERAI_API_KEY>

Base URL and headers

Send API requests to: https://api.quiver.ai/v1 Use these headers on JSON requests:
Authorization: Bearer <QUIVERAI_API_KEY>
Content-Type: application/json
When stream is false, SVG endpoints return JSON with id, created, data, and optional usage. When stream is true, they return text/event-stream with reasoning, draft, and content events, followed by data: [DONE].

Core endpoints

  • GET /v1/models
  • GET /v1/models/{model}
  • POST /v1/svgs/generations
  • POST /v1/svgs/vectorizations

Billing and usage records

  • Each generated or vectorized SVG uses 1 credit.
  • Requests with n > 1 consume n credits when they succeed.
  • In Usage, API calls appear with a request ID.

Errors and rate limits

The API returns standard HTTP status codes and a JSON error payload. Current public API rate limit for SVG endpoints:
  • 20 requests per 60 seconds
  • Scoped per organization
  • Applied to POST /v1/svgs/generations and POST /v1/svgs/vectorizations
  • Exposed through X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset
{
  "status": 429,
  "code": "rate_limit_exceeded",
  "message": "Rate limit exceeded",
  "request_id": "550e8400-e29b-41d4-a716-446655440000"
}
  • 400 Bad Request: malformed body, missing required fields, or invalid parameter values.
  • 401 Unauthorized: API key missing, malformed, revoked, otherwise invalid, or the organization could not be resolved for billing. Machine-readable codes include invalid_api_key and unauthorized.
  • 402 Payment Required: insufficient credits. Purchase more at Billing.
  • 403 Forbidden: frozen accounts return the account_frozen code.
  • 404 Not Found: the requested model does not exist.
  • 429 Too Many Requests: rate limit exceeded. Retry after the period in the Retry-After header.
  • 500 Internal Server Error: unexpected server error.
  • 502 Bad Gateway: an upstream processing dependency returned an error.
  • 503 Service Unavailable: an upstream processing dependency could not be reached.
Use exponential backoff for retries and respect Retry-After when present.

SDKs

QuiverAI provides an official Node.js SDK:
npm install @quiverai/sdk
For other languages, call the REST API directly.