quiz avatar

Api

video.quiz/api

This connects Claude directly to Quiz.Video's platform for programmatic quiz and flashcard creation. You get tools to list existing quizzes, generate new ones from topics or content, customize question sets, and render them as platform-ready video exports for TikTok, YouTube Shorts, or Reels. Useful when you're building educational workflows, content pipelines, or social media automation that needs to spin up quiz videos without opening a browser. The API handles AI question generation, voice narration, countdown timers, and multi-platform formatting. Reach for it when you want to turn course notes, PDFs, or YouTube links into viral quiz content from your editor or chatbot.

tools
39
transport
HTTP
last updated
Apr 29, 2026

Install

From registry metadata
$ npx add-mcp https://www.quiz.video/mcp/ --name api

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http api https://www.quiz.video/mcp/

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 39 tools

Verified live against the running server on Nov 6, 2026.

get_api_catalogReturn the Quiz.Video API catalog linkset for agent discovery.

Return the Quiz.Video API catalog linkset for agent discovery.

No parameters. Call it with no arguments.

get_openapi_specReturn the Quiz.Video OpenAPI 3.1 specification.

Return the Quiz.Video OpenAPI 3.1 specification.

No parameters. Call it with no arguments.

get_llms_txtReturn a compact LLM-readable summary of the Quiz.Video API.

Return a compact LLM-readable summary of the Quiz.Video API.

No parameters. Call it with no arguments.

get_api_indexReturn the GET /api/v1 index: documentation and OpenAPI URLs, OAuth/API-key auth metadata, rate-limit and versioning policy, and every resource URL.

Return the GET /api/v1 index: documentation and OpenAPI URLs, OAuth/API-key auth metadata, rate-limit and versioning policy, and every resource URL.

No parameters. Call it with no arguments.

quiz_video_list_quizzesList quizzes owned by the authenticated user with optional pagination (page, limit).2 params

List quizzes owned by the authenticated user with optional pagination (page, limit).

Parameters* required
limitnumber
Results per page (1–100, default 20).
pagenumber
1-indexed page number.
quiz_video_get_quizFetch a single quiz (including settings and metadata) by id.1 params

Fetch a single quiz (including settings and metadata) by id.

Parameters* required
quizId*string
Quiz ID in YouTube-style 11-character base64url format.
quiz_video_create_quizCreate a quiz. Prefer sending themeDescription or themeCustomization so the saved quiz has a custom visual theme; if omitted, the server derives one from the title/description. Omit backgroundMusicId to use default YouTube-safe shared background music, or set null for silent....13 params

Create a quiz. Prefer sending themeDescription or themeCustomization so the saved quiz has a custom visual theme; if omitted, the server derives one from the title/description. Omit backgroundMusicId to use default YouTube-safe shared background music, or set null for silent....

Parameters* required
backgroundMusicIdnumber
Background music track id from /api/v1/music. Omit to use the default YouTube-safe shared track; set null for silent.
countdownSecondsnumber
Seconds of countdown shown before each question (3–15).
descriptionstring
Optional longer description shown on the quiz page.
difficultystring
Target difficulty level for the generated/created quiz.one of easy · medium · hard · rising
formatstring
Output aspect ratio: "tiktok" (9:16 vertical) or "youtube" (16:9 horizontal).one of tiktok · youtube
musicVolumenumber
Background music volume from 0 (silent) to 1 (full). Default 0.15.
questionsarray
Optional initial questions with their answers and images.
quizTypestring
Quiz mechanic: multiple_choice, reveal_answer, or picture_guess.one of multiple_choice · reveal_answer · picture_guess
templatestring
Visual template id (e.g. "neon", "minimal").
themeCustomizationobject
Explicit custom theme to save and apply to the quiz. Invalid colors/fonts are ignored by the API sanitizer.
themeDescriptionstring
Natural-language custom visual theme prompt. Example: "golden luxury game show", "ocean glass", or "cyber neon". The server saves the generated themeCustomization and applies it automatically.
title*string
Human-readable quiz title.
videoLanguagestring
Language the quiz is written in, e.g. "es" or "ar". Sets narration and the language and text direction of the play page. Defaults to en-US.
quiz_video_generate_quizAI-generate and save a quiz from a topic. Prefer providing themeDescription or themeCustomization; when omitted, the server derives and saves a topic-based custom theme. Omit backgroundMusicId to use default YouTube-safe shared background music, or set null for silent. The res...16 params

AI-generate and save a quiz from a topic. Prefer providing themeDescription or themeCustomization; when omitted, the server derives and saves a topic-based custom theme. Omit backgroundMusicId to use default YouTube-safe shared background music, or set null for silent. The res...

Parameters* required
answerOptionCountnumber
For multiple-choice quizzes, generate 3 or 4 answer options per question. Defaults to 4.one of 3 · 4
autoRenderboolean
If true, immediately queue a video render for the new quiz. The render session (sessionId, status) is returned under `data.render`; poll quiz_video_get_render with that sessionId for progress and t...
backgroundMusicIdnumber
Background music track id from /api/v1/music. Omit to use the default YouTube-safe shared track; set null for silent.
countdownSecondsnumber
Seconds of countdown shown before each question (3-15).
difficultystring
Target difficulty level.one of easy · medium · hard · rising
extraDirectionstring
Additional instructions to steer the AI (tone, focus areas, exclusions). Up to 20,000 characters.
formatstring
Output aspect ratio. Defaults to "tiktok".one of tiktok · youtube
languagestring
Language to write the quiz in, e.g. "es" or "ar". Optional: without it the quiz follows the language of the topic, or English if that is unclear.
musicVolumenumber
Background music volume from 0 (silent) to 1 (full). Default 0.15.
numberOfQuestionsnumber
How many questions to generate (1–200).
progressBarStylestring
Countdown progress indicator style.one of circle · line
quizTypestring
Quiz mechanic to generate.one of multiple_choice · reveal_answer · picture_guess
templatestring
Visual template id. If omitted, the saved custom theme can suggest a matching template.
themeCustomizationobject
Explicit custom theme to save and apply to the generated quiz. Use themeDescription for prompt-style themes.
themeDescriptionstring
Natural-language custom visual theme prompt. Example: "golden luxury game show", "ocean glass", or "cyber neon".
topic*string
Subject the AI should build the quiz around. Can be a short topic or a detailed multi-paragraph brief (up to 20,000 characters).
quiz_video_update_quizUpdate a quiz. `updates` accepts any subset of quiz settings (title, description, format, template, timing, music, TTS, publish status, etc.).2 params

Update a quiz. `updates` accepts any subset of quiz settings (title, description, format, template, timing, music, TTS, publish status, etc.).

Parameters* required
quizId*string
Quiz ID in YouTube-style 11-character base64url format.
updates*object
Partial quiz settings object; only included fields are updated.
quiz_video_delete_quizPermanently delete a quiz and all of its questions, answers, and hooks.1 params

Permanently delete a quiz and all of its questions, answers, and hooks.

Parameters* required
quizId*string
Quiz ID in YouTube-style 11-character base64url format.
quiz_video_list_quiz_questionsList questions (and their answers) for a quiz.1 params

List questions (and their answers) for a quiz.

Parameters* required
quizId*string
Quiz ID in YouTube-style 11-character base64url format.
quiz_video_add_quiz_questionsAppend one or more questions (with their answers and optional images) to an existing quiz.2 params

Append one or more questions (with their answers and optional images) to an existing quiz.

Parameters* required
questions*array
One or more questions to append to the quiz.
quizId*string
Quiz ID in YouTube-style 11-character base64url format.
quiz_video_list_quiz_hooksList video hooks configured for a quiz.1 params

List video hooks configured for a quiz.

Parameters* required
quizId*string
Quiz ID in YouTube-style 11-character base64url format.
quiz_video_create_quiz_hookCreate a hook for a quiz. `hook` is a pass-through object whose fields follow the HookInput schema (see OpenAPI spec).2 params

Create a hook for a quiz. `hook` is a pass-through object whose fields follow the HookInput schema (see OpenAPI spec).

Parameters* required
hook*object
HookInput object (hookType, positionType, title, content, plus optional styling — see OpenAPI spec).
quizId*string
Quiz ID in YouTube-style 11-character base64url format.
quiz_video_update_quiz_hookUpdate an existing hook on a quiz. Requires quizId and numeric hookId; `updates` is a partial HookInput.3 params

Update an existing hook on a quiz. Requires quizId and numeric hookId; `updates` is a partial HookInput.

Parameters* required
hookId*number
Numeric id of the hook to update (from list_quiz_hooks).
quizId*string
Quiz ID in YouTube-style 11-character base64url format.
updates*object
Partial HookInput object; only included fields are updated.
quiz_video_delete_quiz_hookDelete a single hook from a quiz.2 params

Delete a single hook from a quiz.

Parameters* required
hookId*number
Numeric id of the hook to delete.
quizId*string
Quiz ID in YouTube-style 11-character base64url format.
quiz_video_list_flashcard_decksList flashcard decks owned by the authenticated user with optional pagination.2 params

List flashcard decks owned by the authenticated user with optional pagination.

Parameters* required
limitnumber
Results per page (1–100, default 20).
pagenumber
1-indexed page number.
quiz_video_get_flashcard_deckFetch a flashcard deck (including all cards) by id.1 params

Fetch a flashcard deck (including all cards) by id.

Parameters* required
deckId*string
Flashcard deck ID.
quiz_video_create_flashcard_deckCreate a flashcard deck. Required: title (3-120 chars) and cards[] (min 1). Optional: description (≤1200 chars), tags (≤50 each).4 params

Create a flashcard deck. Required: title (3-120 chars) and cards[] (min 1). Optional: description (≤1200 chars), tags (≤50 each).

Parameters* required
cards*array
Flashcards in the deck; at least one card is required.
descriptionstring
Optional deck description (≤1200 characters).
tagsarray
Optional tags to categorize the deck (≤50 characters each).
title*string
Deck title (3–120 characters).
quiz_video_delete_flashcard_deckPermanently delete a flashcard deck and all of its cards.1 params

Permanently delete a flashcard deck and all of its cards.

Parameters* required
deckId*string
Flashcard deck ID.
quiz_video_create_renderQueue a new video render for an existing quiz. Returns the render sessionId; poll quiz_video_get_render until its status is "completed" (typically 1-5 minutes), then call quiz_video_download_render to obtain the signed MP4 URL. The quiz itself is viewable immediately at /quiz/...1 params

Queue a new video render for an existing quiz. Returns the render sessionId; poll quiz_video_get_render until its status is "completed" (typically 1-5 minutes), then call quiz_video_download_render to obtain the signed MP4 URL. The quiz itself is viewable immediately at /quiz/...

Parameters* required
quizId*string
ID of the quiz to render into a video.
quiz_video_get_renderFetch the status and progress of a render session. When status is "completed", the response also contains a signed `videoUrl` (and `filename`) so the agent can share the MP4 directly without a separate quiz_video_download_render call. In-progress polls return status + progress.1 params

Fetch the status and progress of a render session. When status is "completed", the response also contains a signed `videoUrl` (and `filename`) so the agent can share the MP4 directly without a separate quiz_video_download_render call. In-progress polls return status + progress.

Parameters* required
sessionId*string
Render session id returned when the render was started.
quiz_video_download_renderRequest a signed download URL for a completed render.1 params

Request a signed download URL for a completed render.

Parameters* required
sessionId*string
Render session id for a completed render.
quiz_video_get_accountGet the authenticated user's account info, plan, and usage limits.

Get the authenticated user's account info, plan, and usage limits.

No parameters. Call it with no arguments.

quiz_video_list_musicList available background music tracks.

List available background music tracks.

No parameters. Call it with no arguments.

quiz_video_list_templatesList the caller's saved custom templates (and optionally public ones). Templates are reusable scene-based designs that can be applied to many quizzes.3 params

List the caller's saved custom templates (and optionally public ones). Templates are reusable scene-based designs that can be applied to many quizzes.

Parameters* required
includePublicboolean
Include public templates in addition to your own. Default true.
limitnumber
pagenumber
quiz_video_get_templateFetch a single custom template (including the full scenes/layers payload) by id.1 params

Fetch a single custom template (including the full scenes/layers payload) by id.

Parameters* required
templateId*string
Template id (tpl_...).
quiz_video_create_templateSave a new custom template authored in the drag-and-drop editor. Required: template (the CustomTemplate JSON). Optional: name, description, thumbnail, isDefault, isPublic.6 params

Save a new custom template authored in the drag-and-drop editor. Required: template (the CustomTemplate JSON). Optional: name, description, thumbnail, isDefault, isPublic.

Parameters* required
descriptionstring
isDefaultboolean
Mark as your default template (replaces any existing default).
isPublicboolean
Make discoverable to other users.
namestring
template*object
CustomTemplate JSON with scenes.hook/question/answer and canvas.
thumbnailstring
Optional preview image URL or data URI.
quiz_video_update_templateUpdate an existing template. Any subset of fields may be supplied; omitted fields stay unchanged.7 params

Update an existing template. Any subset of fields may be supplied; omitted fields stay unchanged.

Parameters* required
descriptionstring
isDefaultboolean
isPublicboolean
namestring
templateobject
templateId*string
thumbnailstring
quiz_video_delete_templatePermanently delete a custom template you own. Quizzes that have a snapshot of this template are unaffected — the snapshot remains in their themeCustomization.1 params

Permanently delete a custom template you own. Quizzes that have a snapshot of this template are unaffected — the snapshot remains in their themeCustomization.

Parameters* required
templateId*string
quiz_video_share_quizGet a URL where people take a quiz in their browser with no sign-in, and set who can open it. `unlisted` (the default) works for anyone with the link and is never listed or indexed; `public` also lists it in the quiz library and search engines; `private` turns the link off. Re...2 params

Get a URL where people take a quiz in their browser with no sign-in, and set who can open it. `unlisted` (the default) works for anyone with the link and is never listed or indexed; `public` also lists it in the quiz library and search engines; `private` turns the link off. Re...

Parameters* required
quizId*string
visibilitystring
Who can open the quiz.one of private · unlisted · publicdefault: unlisted
quiz_video_get_quiz_resultsSee how people did on a quiz you own: plays, completions, average score, and the hardest questions. Results are aggregated and hold no personal data. Scores are computed from answers submitted by the browser, so treat them as engagement data, not exam records.1 params

See how people did on a quiz you own: plays, completions, average score, and the hardest questions. Results are aggregated and hold no personal data. Scores are computed from answers submitted by the browser, so treat them as engagement data, not exam records.

Parameters* required
quizId*string
quiz_video_create_media_uploadGet a presigned URL to upload your own image, video or audio file. PUT the file bytes to uploadUrl with the returned headers (Content-Type must match and the body must be exactly `size` bytes), then call quiz_video_complete_media_upload. Files go to Quiz.Video storage; quizzes...5 params

Get a presigned URL to upload your own image, video or audio file. PUT the file bytes to uploadUrl with the returned headers (Content-Type must match and the body must be exactly `size` bytes), then call quiz_video_complete_media_upload. Files go to Quiz.Video storage; quizzes...

Parameters* required
contentTypestring
MIME type, e.g. "video/mp4".
filename*string
File name including extension, e.g. "clip.mp4".
kindstring
one of image · video · audio
purposestring
one of library · musicdefault: library
size*number
Exact file size in bytes.
quiz_video_complete_media_uploadCall after the PUT succeeds. The server reads the stored file and checks it really is what it claims. A damaged or wrong file is deleted and the response explains why. Returns the asset; use asset.id in quiz_video_update_quiz_media.3 params

Call after the PUT succeeds. The server reads the stored file and checks it really is what it claims. A damaged or wrong file is deleted and the response explains why. Returns the asset; use asset.id in quiz_video_update_quiz_media.

Parameters* required
assetId*string
durationSecondsnumber
Optional: only used if the file does not state its own length.
namestring
Display name for a music track.
quiz_video_list_mediaList files you have uploaded, newest first, so a file can be re-used without uploading it again. URLs in the response are signed and expire within an hour.2 params

List files you have uploaded, newest first, so a file can be re-used without uploading it again. URLs in the response are signed and expire within an hour.

Parameters* required
kindstring
one of image · video · audio
limitnumber
quiz_video_delete_mediaPermanently delete a file from your library. Refused with a 409 while a quiz still uses it.1 params

Permanently delete a file from your library. Refused with a 409 while a quiz still uses it.

Parameters* required
assetId*string
quiz_video_get_quiz_mediaRead the media a quiz uses: background, intro and outro, sound effects, and each question and answer (their ids, images, clips and backgrounds).1 params

Read the media a quiz uses: background, intro and outro, sound effects, and each question and answer (their ids, images, clips and backgrounds).

Parameters* required
quizId*string
quiz_video_update_quiz_mediaAttach uploaded files to a quiz. Omit a slot to leave it, send null to clear it. quiz: background (image or video, with dim 0.2-0.85), intro and outro (image or video, with seconds for an image, or trimStartSeconds, trimEndSeconds, audio "keep"|"mute" and volume for a video),...4 params

Attach uploaded files to a quiz. Omit a slot to leave it, send null to clear it. quiz: background (image or video, with dim 0.2-0.85), intro and outro (image or video, with seconds for an image, or trimStartSeconds, trimEndSeconds, audio "keep"|"mute" and volume for a video),...

Parameters* required
answersarray
questionsarray
quizobject
quizId*string
quiz_video_apply_templateApply a snapshot of a custom template to one or more quizzes you own. Sets each quiz's template field to "custom" and writes the snapshot into themeCustomization.customTemplate. Future edits to the source template do not auto-propagate.2 params

Apply a snapshot of a custom template to one or more quizzes you own. Sets each quiz's template field to "custom" and writes the snapshot into themeCustomization.customTemplate. Future edits to the source template do not auto-propagate.

Parameters* required
quizIds*array
Quiz ids to apply the template to.
templateId*string

Sponsors

Details

Website
www.quiz.video
Categories
Design & Creative, Media & Entertainment, Productivity & Office
Transport
HTTP
Registry
MCP registry, active
Resources
4
Prompts
1
Tools verified
Nov 6, 2026

Related Design & Creative MCP servers

View all
1virgilvox avatarVue Harvestvirgilvox/vue-harvestExtract reusable component libraries and design tokens from Vue applications0stars
2vola-trebla avatarTailwind Context Resolver Mcpvola-trebla/tailwind-context-resolver-mcpResolves Tailwind CSS design tokens and validates utility classes against the local project config.0stars
3miapre avatarHTML to Figma — Design Systemmiapre/html-to-figma-design-systemTranslate HTML prototypes into Figma using your design system's real components and tokens.3stars
4vrun-design avatarOpenflowkit Mcpvrun-design/openflowkitArchitecture diagrams for your agent: draw on the live OpenFlowKit canvas or edit diagram files.931stars
5ivanmurzak avatarAI Game Developer: MCP for Unity, Unreal and Godotivanmurzak/unity-mcpMake games with AI: one MCP server that connects your agent to Unity, Unreal and Godot editors.4.6Kstars
6yctimlin avatarExcalidrawyctimlin/mcp_excalidrawProvides an Excalidraw canvas exposed via MCP for real-time diagramming and element CRUD from AI agents.1.9Kstars