accueil / serveurs / Médias / video.quiz/api
video.quiz/api
serveur MCP (Model Context Protocol) · video.quiz/api 0.1.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que video.quiz/api est sûr ?
Au dernier audit MCP Hub, le serveur MCP « video.quiz/api » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 31 outils
- get_api_catalog≈ 65 tokens
Return the Quiz.Video API catalog linkset for agent discovery.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_api_catalog", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_api_index≈ 85 tokens
Return the GET /api/v1 index: documentation and OpenAPI URLs, OAuth/API-key auth metadata, rate-limit and versioning policy, and every resource URL.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_api_index", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_llms_txt≈ 64 tokens
Return a compact LLM-readable summary of the Quiz.Video API.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_llms_txt", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_openapi_spec≈ 64 tokens
Return the Quiz.Video OpenAPI 3.1 specification.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_openapi_spec", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_add_quiz_questions≈ 712 tokens
Append one or more questions (with their answers and optional images) to an existing quiz.
Paramètres, retour & exemple (2)
ParamètresquizId· string · requis
Quiz ID in YouTube-style 11-character base64url format.questions· array · requis
One or more questions to append to the quiz.
Exemple d'appel{"name": "quiz_video_add_quiz_questions", "arguments": {"quizId": "texte", "questions": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_apply_template≈ 184 tokens
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.
Paramètres, retour & exemple (2)
ParamètresquizIds· array · requis
Quiz ids to apply the template to.templateId· string · requis
Exemple d'appel{"name": "quiz_video_apply_template", "arguments": {"quizIds": [], "templateId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_create_flashcard_deck≈ 375 tokens
Create a flashcard deck. Required: title (3-120 chars) and cards[] (min 1). Optional: description (≤1200 chars), tags (≤50 each).
Paramètres, retour & exemple (4)
Paramètrestags· array · optionnel
Optional tags to categorize the deck (≤50 characters each).cards· array · requis
Flashcards in the deck; at least one card is required.title· string · requis
Deck title (3–120 characters).description· string · optionnel
Optional deck description (≤1200 characters).
Exemple d'appel{"name": "quiz_video_create_flashcard_deck", "arguments": {"cards": [], "title": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_create_quiz≈ 1412 tokens
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[].
Paramètres, retour & exemple (12)
Paramètrestitle· string · requis
Human-readable quiz title.format· string · optionnel · tiktok | youtube
Output aspect ratio: "tiktok" (9:16 vertical) or "youtube" (16:9 horizontal).quizType· string · optionnel · multiple_choice | reveal_answer | picture_guess
Quiz mechanic: multiple_choice, reveal_answer, or picture_guess.template· string · optionnel
Visual template id (e.g. "neon", "minimal").questions· array · optionnel
Optional initial questions with their answers and images.difficulty· string · optionnel · easy | medium | hard | rising
Target difficulty level for the generated/created quiz.description· string · optionnel
Optional longer description shown on the quiz page.musicVolume· number · optionnel
Background music volume from 0 (silent) to 1 (full). Default 0.15.countdownSeconds· number · optionnel
Seconds of countdown shown before each question (3–15).themeDescription· string · optionnel
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.backgroundMusicId· number|null · optionnel
Background music track id from /api/v1/music. Omit to use the default YouTube-safe shared track; set null for silent.themeCustomization· object · optionnel
Explicit custom theme to save and apply to the quiz. Invalid colors/fonts are ignored by the API sanitizer.
Exemple d'appel{"name": "quiz_video_create_quiz", "arguments": {"title": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_create_quiz_hook≈ 188 tokens
Create a hook for a quiz. `hook` is a pass-through object whose fields follow the HookInput schema (see OpenAPI spec).
Paramètres, retour & exemple (2)
Paramètreshook· object · requis
HookInput object (hookType, positionType, title, content, plus optional styling — see OpenAPI spec).quizId· string · requis
Quiz ID in YouTube-style 11-character base64url format.
Exemple d'appel{"name": "quiz_video_create_quiz_hook", "arguments": {"hook": {}, "quizId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_create_render≈ 180 tokens
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/{slug}/ regardless of render status.
Paramètres, retour & exemple (1)
ParamètresquizId· string · requis
ID of the quiz to render into a video.
Exemple d'appel{"name": "quiz_video_create_render", "arguments": {"quizId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_create_template≈ 246 tokens
Save a new custom template authored in the drag-and-drop editor. Required: template (the CustomTemplate JSON). Optional: name, description, thumbnail, isDefault, isPublic.
Paramètres, retour & exemple (6)
Paramètresname· string · optionnelisPublic· boolean · optionnel
Make discoverable to other users.template· object · requis
CustomTemplate JSON with scenes.hook/question/answer and canvas.isDefault· boolean · optionnel
Mark as your default template (replaces any existing default).thumbnail· string · optionnel
Optional preview image URL or data URI.description· string · optionnel
Exemple d'appel{"name": "quiz_video_create_template", "arguments": {"template": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_delete_flashcard_deck≈ 114 tokens
Permanently delete a flashcard deck and all of its cards.
Paramètres, retour & exemple (1)
ParamètresdeckId· string · requis
Flashcard deck ID.
Exemple d'appel{"name": "quiz_video_delete_flashcard_deck", "arguments": {"deckId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_delete_quiz≈ 122 tokens
Permanently delete a quiz and all of its questions, answers, and hooks.
Paramètres, retour & exemple (1)
ParamètresquizId· string · requis
Quiz ID in YouTube-style 11-character base64url format.
Exemple d'appel{"name": "quiz_video_delete_quiz", "arguments": {"quizId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_delete_quiz_hook≈ 138 tokens
Delete a single hook from a quiz.
Paramètres, retour & exemple (2)
ParamètreshookId· number · requis
Numeric id of the hook to delete.quizId· string · requis
Quiz ID in YouTube-style 11-character base64url format.
Exemple d'appel{"name": "quiz_video_delete_quiz_hook", "arguments": {"hookId": 1, "quizId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_delete_template≈ 125 tokens
Permanently delete a custom template you own. Quizzes that have a snapshot of this template are unaffected — the snapshot remains in their themeCustomization.
Paramètres, retour & exemple (1)
ParamètrestemplateId· string · requis
Exemple d'appel{"name": "quiz_video_delete_template", "arguments": {"templateId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_download_render≈ 120 tokens
Request a signed download URL for a completed render.
Paramètres, retour & exemple (1)
ParamètressessionId· string · requis
Render session id for a completed render.
Exemple d'appel{"name": "quiz_video_download_render", "arguments": {"sessionId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_generate_quiz≈ 1084 tokens
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 response `data` always includes a `watchUrl` (the public quiz-viewer page, instantly playable). When autoRender is true, `data.render` also contains the queued render session so the agent can poll quiz_video_get_render for the MP4.
Paramètres, retour & exemple (15)
Paramètrestopic· string · requis
Subject the AI should build the quiz around. Can be a short topic or a detailed multi-paragraph brief (up to 20,000 characters).format· string · optionnel · tiktok | youtube
Output aspect ratio. Defaults to "tiktok".quizType· string · optionnel · multiple_choice | reveal_answer | picture_guess
Quiz mechanic to generate.template· string · optionnel
Visual template id. If omitted, the saved custom theme can suggest a matching template.autoRender· boolean · optionnel
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 the final videoUrl. Rendering typically takes 1-5 minutes. Quiz creation is not blocked by render-queue failures — the quiz is returned either way.difficulty· string · optionnel · easy | medium | hard | rising
Target difficulty level.musicVolume· number · optionnel
Background music volume from 0 (silent) to 1 (full). Default 0.15.extraDirection· string · optionnel
Additional instructions to steer the AI (tone, focus areas, exclusions). Up to 20,000 characters.countdownSeconds· number · optionnel
Seconds of countdown shown before each question (3-15).progressBarStyle· string · optionnel · circle | line
Countdown progress indicator style.themeDescription· string · optionnel
Natural-language custom visual theme prompt. Example: "golden luxury game show", "ocean glass", or "cyber neon".answerOptionCount· number · optionnel · 3 | 4
For multiple-choice quizzes, generate 3 or 4 answer options per question. Defaults to 4.backgroundMusicId· number|null · optionnel
Background music track id from /api/v1/music. Omit to use the default YouTube-safe shared track; set null for silent.numberOfQuestions· number · optionnel
How many questions to generate (1–200).themeCustomization· object · optionnel
Explicit custom theme to save and apply to the generated quiz. Use themeDescription for prompt-style themes.
Exemple d'appel{"name": "quiz_video_generate_quiz", "arguments": {"topic": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_get_account≈ 66 tokens
Get the authenticated user's account info, plan, and usage limits.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "quiz_video_get_account", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_get_flashcard_deck≈ 100 tokens
Fetch a flashcard deck (including all cards) by id.
Paramètres, retour & exemple (1)
ParamètresdeckId· string · requis
Flashcard deck ID.
Exemple d'appel{"name": "quiz_video_get_flashcard_deck", "arguments": {"deckId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_get_quiz≈ 107 tokens
Fetch a single quiz (including settings and metadata) by id.
Paramètres, retour & exemple (1)
ParamètresquizId· string · requis
Quiz ID in YouTube-style 11-character base64url format.
Exemple d'appel{"name": "quiz_video_get_quiz", "arguments": {"quizId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_get_render≈ 158 tokens
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.
Paramètres, retour & exemple (1)
ParamètressessionId· string · requis
Render session id returned when the render was started.
Exemple d'appel{"name": "quiz_video_get_render", "arguments": {"sessionId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_get_template≈ 110 tokens
Fetch a single custom template (including the full scenes/layers payload) by id.
Paramètres, retour & exemple (1)
ParamètrestemplateId· string · requis
Template id (tpl_...).
Exemple d'appel{"name": "quiz_video_get_template", "arguments": {"templateId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_list_flashcard_decks≈ 130 tokens
List flashcard decks owned by the authenticated user with optional pagination.
Paramètres, retour & exemple (2)
Paramètrespage· number · optionnel
1-indexed page number.limit· number · optionnel
Results per page (1–100, default 20).
Exemple d'appel{"name": "quiz_video_list_flashcard_decks", "arguments": {"page": 1, "limit": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_list_music≈ 61 tokens
List available background music tracks.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "quiz_video_list_music", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_list_quiz_hooks≈ 105 tokens
List video hooks configured for a quiz.
Paramètres, retour & exemple (1)
ParamètresquizId· string · requis
Quiz ID in YouTube-style 11-character base64url format.
Exemple d'appel{"name": "quiz_video_list_quiz_hooks", "arguments": {"quizId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_list_quiz_questions≈ 108 tokens
List questions (and their answers) for a quiz.
Paramètres, retour & exemple (1)
ParamètresquizId· string · requis
Quiz ID in YouTube-style 11-character base64url format.
Exemple d'appel{"name": "quiz_video_list_quiz_questions", "arguments": {"quizId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_list_quizzes≈ 128 tokens
List quizzes owned by the authenticated user with optional pagination (page, limit).
Paramètres, retour & exemple (2)
Paramètrespage· number · optionnel
1-indexed page number.limit· number · optionnel
Results per page (1–100, default 20).
Exemple d'appel{"name": "quiz_video_list_quizzes", "arguments": {"page": 1, "limit": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_list_templates≈ 153 tokens
List the caller's saved custom templates (and optionally public ones). Templates are reusable scene-based designs that can be applied to many quizzes.
Paramètres, retour & exemple (3)
Paramètrespage· number · optionnellimit· number · optionnelincludePublic· boolean · optionnel
Include public templates in addition to your own. Default true.
Exemple d'appel{"name": "quiz_video_list_templates", "arguments": {"page": 1, "limit": 1, "includePublic": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_update_quiz≈ 1104 tokens
Update a quiz. `updates` accepts any subset of quiz settings (title, description, format, template, timing, music, TTS, publish status, etc.).
Paramètres, retour & exemple (2)
ParamètresquizId· string · requis
Quiz ID in YouTube-style 11-character base64url format.updates· object · requis
Partial quiz settings object; only included fields are updated.
Exemple d'appel{"name": "quiz_video_update_quiz", "arguments": {"quizId": "texte", "updates": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_update_quiz_hook≈ 204 tokens
Update an existing hook on a quiz. Requires quizId and numeric hookId; `updates` is a partial HookInput.
Paramètres, retour & exemple (3)
ParamètreshookId· number · requis
Numeric id of the hook to update (from list_quiz_hooks).quizId· string · requis
Quiz ID in YouTube-style 11-character base64url format.updates· object · requis
Partial HookInput object; only included fields are updated.
Exemple d'appel{"name": "quiz_video_update_quiz_hook", "arguments": {"hookId": 1, "quizId": "texte", "updates": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quiz_video_update_template≈ 177 tokens
Update an existing template. Any subset of fields may be supplied; omitted fields stay unchanged.
Paramètres, retour & exemple (7)
Paramètresname· string · optionnelisPublic· boolean · optionneltemplate· object · optionnelisDefault· boolean · optionnelthumbnail· string|null · optionneltemplateId· string · requisdescription· string|null · optionnel
Exemple d'appel{"name": "quiz_video_update_template", "arguments": {"templateId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».