Quiz.VideoQuiz.Video
Create free quiz
Quiz.VideoQuiz.Video
Developer portal

Build with Quiz.Video

Generate quizzes and flashcard decks, render them as short vertical videos, and manage them from your own code or an AI agent. API keys are free and self-serve on every plan, including the free plan.

Get an API key

API keys are self-serve and free. No sales call or credit card is needed.

  1. Create a free account (or sign in).
  2. Open Settings and choose the API Keys tab.
  3. Create a key and copy it. Keys start with qv_ and are shown once.

Send the key in the x-api-key header. Building something other people sign in to, or an agent? Use OAuth instead so each user approves access to their own account.

Quickstart

The base URL is https://www.quiz.video/api/v1. Three calls take you from a topic to a finished video.

1. Generate a quiz with AI
curl -X POST https://www.quiz.video/api/v1/quizzes/generate \
  -H "x-api-key: $QUIZ_VIDEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"topic": "The solar system", "numberOfQuestions": 5, "difficulty": "medium"}'
2. Start a render (returns 202 with a sessionId)
curl -X POST https://www.quiz.video/api/v1/renders \
  -H "x-api-key: $QUIZ_VIDEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"quizId": "QUIZ_ID"}'
3. Poll until status is completed
curl https://www.quiz.video/api/v1/renders/SESSION_ID \
  -H "x-api-key: $QUIZ_VIDEO_API_KEY"

Paid plans can then call POST /api/v1/renders/SESSION_ID/download for a signed MP4 URL. See the API reference for every endpoint, including creating quizzes from your own questions and building flashcard decks.

MCP server for AI agents

Claude, ChatGPT and other MCP clients can connect to the remote server at https://www.quiz.video/mcp/ (Streamable HTTP). The client registers itself and asks the user to approve access through OAuth, so there is no key to paste. The server exposes the same operations as the REST API as quiz_video_* tools.

Setup instructions for each client are in the MCP guide.

Authentication

API keys suit scripts and server-to-server jobs that act on your own account. Send x-api-key: qv_... (or Authorization: Bearer qv_...).

OAuth 2.1 suits apps and agents acting for other users. Quiz.Video supports dynamic client registration, the authorization code flow with PKCE, and refresh tokens. Request api:read for reads and api:write for changes, and pass resource=https://www.quiz.video/api/v1 so you receive a JWT access token.

Unauthenticated calls to protected /api/v1 endpoints return 401 with a WWW-Authenticate header that points at the protected resource metadata; MCP tool calls that need an account point at the MCP server's metadata instead. The full walkthrough is in auth.md.

Testing and sandbox

There is no separate sandbox host. Develop against production with a free account: it costs nothing, needs no card, and gives you real responses. The free plan includes 1 quiz per month and renders carry a watermark (see pricing), so create one test quiz and iterate on it with the read, update and render endpoints.

To check connectivity without credentials, call GET /api/v1/ or the discovery documents below. To test your client offline, generate a mock server from the OpenAPI spec.

Rate limits

Each API key has a budget of 1,000 requests, which refills once the key has made no requests for 24 hours. Every /api/v1 response declares the policy, and API-key requests also report what is left, using the IETF RateLimit header fields plus the familiar X-RateLimit-* trio:

RateLimit-Policy: "api-key";q=1000;w=86400
RateLimit: "api-key";r=858;t=86400
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 858
X-RateLimit-Reset: 1792389600

t is how many seconds without requests restore the full budget, and X-RateLimit-Reset is the matching Unix timestamp. When the budget is spent the API returns 429 with code RATE_LIMITED and a Retry-After header. Wait that long before retrying.

Errors

Every error, including unknown paths under /api, is JSON with a stable machine-readable code. Branch on code, show error to people, and follow hint to recover.

401 Unauthorized
{
  "error": "Missing credentials. Provide an API key via x-api-key or an OAuth access token via Authorization: Bearer.",
  "code": "UNAUTHORIZED",
  "hint": "Send an API key in the x-api-key header (create one at https://www.quiz.video/app/settings/) or an OAuth access token as Authorization: Bearer <token>. ...",
  "docs": "https://www.quiz.video/docs/api/#error-codes"
}

The error code reference lists every code. Retry 5xx and 429 with backoff; do not resend the same payload after other 4xx errors.

Versioning and deprecation policy

  • The major version is part of the path: /api/v1. Responses also carry API-Version: 1.
  • Within v1 we only make additive changes: new endpoints, new optional request fields, new response fields and new error codes. Ignore fields you do not recognise.
  • Breaking changes (removing or renaming fields or endpoints, changing types, tightening validation) only ship under a new major path such as /api/v2, which runs alongside v1.
  • Before an operation is removed it is marked deprecated: true in the OpenAPI spec and its responses send a Deprecation header (RFC 9745) and a Sunset header (RFC 8594) with the removal date, at least 90 days in advance.
  • Every /api/v1 response links here with Link: <…/developers/#versioning>; rel="deprecation".

Current deprecations: none. Every v1 operation is supported.

Machine-readable resources

Agents and code generators can discover everything from these public documents. None of them require authentication.

API referenceEvery endpoint with request and response examples.
OpenAPI 3.1 specMachine-readable contract for all /api/v1 operations.
API indexUnauthenticated JSON entry point listing every resource.
API catalogRFC 9727 linkset pointing at the spec, docs and status.
auth.mdStep-by-step credential guide written for agents.
llms.txtCompact, LLM-readable summary of when and how to use Quiz.Video.
Agent skillAgent Skills discovery index with a SKILL.md integration guide.
ARD manifestAgentic resource discovery catalog of the MCP server, API and skill.
MCP server cardMetadata for the remote MCP server at /mcp/.
OAuth metadataRFC 9728 protected resource metadata for /api/v1.

Need help?

Email support@quiz.video with the request time, endpoint and error code, and we will take a look.