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.
Base URL and headers
Send API requests to:https://api.quiver.ai/v1
Use these headers on JSON requests:
stream is false, SVG endpoints return JSON with id, created, data, and credits.
Deprecated usage token fields may still appear for compatibility. When stream is true, the
endpoints return text/event-stream with reasoning, draft, and content events, followed by
data: [DONE].
Core endpoints
GET /v1/modelsGET /v1/models/{model}POST /v1/svgs/generationsPOST /v1/svgs/vectorizations
Billing and usage records
- Current released models include Arrow 1.0, Arrow 1.1, and Arrow 1.1 Max. Arrow 1.1 is the default recommendation for most API use cases; Arrow 1.1 Max trades more runtime and credits for higher output fidelity.
- Usage is billed in pricing credits. Each model lists
pricing_credits(svg_generate,svg_vectorize) fromGET /v1/models(andGET /v1/models/{model}). - Successful generations debit
n × svg_generatecredits (ndefaults to 1). - Successful vectorizations debit
svg_vectorizecredits once per request. - For purchase limits, defaults, and legacy
model.pricingfields, see API pricing. - 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:20requests per60seconds- Scoped per organization
- Applied to
POST /v1/svgs/generationsandPOST /v1/svgs/vectorizations - Exposed through
X-RateLimit-Limit,X-RateLimit-Remaining, andX-RateLimit-Reset
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 includeinvalid_api_keyandunauthorized.402 Payment Required: insufficient credits. Purchase more at Billing.403 Forbidden: frozen accounts return theaccount_frozencode.404 Not Found: the requested model does not exist.429 Too Many Requests: rate limit exceeded. Retry after the period in theRetry-Afterheader.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.
Retry-After when present.