Skip to main content
Glama

Create a quiz

quiz_video_create_quiz

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. Required: title. Optional: description, format, quizType, template, countdownSeconds, difficulty, musicVolume, and questions[].

Input Schema

NameRequiredDescriptionDefault
titleYesHuman-readable quiz title.
formatNoOutput aspect ratio: "tiktok" (9:16 vertical) or "youtube" (16:9 horizontal).
quizTypeNoQuiz mechanic: multiple_choice, reveal_answer, or picture_guess.
templateNoVisual template id (e.g. "neon", "minimal").
questionsNoOptional initial questions with their answers and images.
difficultyNoTarget difficulty level for the generated/created quiz.
descriptionNoOptional longer description shown on the quiz page.
musicVolumeNoBackground music volume from 0 (silent) to 1 (full). Default 0.15.
videoLanguageNoLanguage 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.
countdownSecondsNoSeconds of countdown shown before each question (3–15).
themeDescriptionNoNatural-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.
backgroundMusicIdNoBackground music track id from /api/v1/music. Omit to use the default YouTube-safe shared track; set null for silent.
themeCustomizationNoExplicit custom theme to save and apply to the quiz. Invalid colors/fonts are ignored by the API sanitizer.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / properties / themeCustomization / properties / answerTextColorOverride
      Added value: +{
      +  "description": "Hex color of answer text.",
      +  "pattern": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",
      +  "type": "string"
      +}
    • changedInput schema / properties / themeCustomization / properties / fontFamilyOverride / description
      Previous value: -"Approved font family used for question and answer text."New value: +"Font for all video text. A font without letters for the quiz language falls back to that language's own font for those letters."
    • changedInput schema / properties / themeCustomization / properties / fontFamilyOverride / enum
      Previous value: -[
      -  "Inter",
      -  "Poppins",
      -  "Roboto",
      -  "Montserrat",
      -  "Open Sans",
      -  "Lato",
      -  "Oswald",
      -  "Raleway",
      -  "Playfair Display",
      -  "Source Sans Pro"
      -]New value: +[
      +  "Inter",
      +  "Poppins",
      +  "Roboto",
      +  "Montserrat",
      +  "Open Sans",
      +  "Lato",
      +  "Raleway",
      +  "Source Sans 3",
      +  "Space Grotesk",
      +  "Manrope",
      +  "Work Sans",
      +  "DM Sans",
      +  "Lexend",
      +  "Nunito",
      +  "Quicksand",
      +  "Outfit",
      +  "Sora",
      +  "Albert Sans",
      +  "Bricolage Grotesque",
      +  "Playfair Display",
      +  "Merriweather",
      +  "Cormorant Garamond",
      +  "Fraunces",
      +  "Crimson Pro",
      +  "Cinzel",
      +  "Oswald",
      +  "Bebas Neue",
      +  "Anton",
      +  "Archivo Black",
      +  "Big Shoulders",
      +  "Bungee",
      +  "Bangers",
      +  "Lilita One",
      +  "Fredoka",
      +  "Baloo 2",
      +  "Exo 2",
      +  "Orbitron",
      +  "Press Start 2P",
      +  "Caveat",
      +  "Dancing Script",
      +  "Pacifico",
      +  "Permanent Marker",
      +  "Noto Sans",
      +  "Noto Naskh Arabic",
      +  "Vazirmatn"
      +]
    • addedInput schema / properties / themeCustomization / properties / styleControls
      Added value: +{
      +  "description": "Set automatically by the API when an override is sent. Makes overrides reach every scene and custom templates, not just preset question and answer slides.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / themeCustomization / properties / textColorOverride
      Added value: +{
      +  "description": "Hex color of question and on-screen text.",
      +  "pattern": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",
      +  "type": "string"
      +}
    • addedInput schema / properties / videoLanguage
      Added value: +{
      +  "description": "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.",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / backgroundMusicId / description
      Previous value: -"Background music track id from /api/v1/music. Omit to use the default shared track; set null for silent."New value: +"Background music track id from /api/v1/music. Omit to use the default YouTube-safe shared track; set null for silent."
  3. Changed2 schema fields changed
    • addedInput schema / properties / questions / items / properties / answers / items / properties / ttsText
      Added value: +{
      +  "description": "Optional exact narration line for the answer reveal.",
      +  "type": "string"
      +}
    • addedInput schema / properties / questions / items / properties / ttsText
      Added value: +{
      +  "description": "Optional exact narration line for this question.",
      +  "type": "string"
      +}
  4. First observed

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a write operation that is non-destructive, non-idempotent, and open-world. The description adds meaningful behavior beyond the annotations: the server derives a theme when omitted, and omitting backgroundMusicId uses a default YouTube-safe track while null means silence.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and remains compact. The required/optional summary is somewhat incomplete and repeats schema information, but there is little wasted wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex create tool with 13 parameters and nested question objects, the description covers the main defaults but does not say what is returned, such as the created quiz or its id. It also omits videoLanguage and does not clarify how this tool relates to sibling generation and question-addition tools, though the rich schema and annotations fill some gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already defines the parameters in detail. The description adds some useful meaning around theme preference/fallback and music omission versus null, but its optional-parameter list omits videoLanguage, themeDescription, themeCustomization, and backgroundMusicId despite discussing some of them elsewhere.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: "Create a quiz." It is clear what the tool does, but it does not distinguish it from close siblings such as quiz_video_generate_quiz, quiz_video_add_quiz_questions, or quiz_video_create_quiz_hook.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives useful parameter-choice guidance, especially preferring themeDescription or themeCustomization and explaining backgroundMusicId omission versus null. However, it does not explain when to use this tool instead of generate_quiz, update_quiz, or add_quiz_questions, and it gives no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources