Aller au contenu principal

PageToVid pour les assistants IA

PageToVid parle le Model Context Protocol : un assistant IA peut donc créer une vidéo pour vous. Connectez-le une fois, puis demandez en langage naturel — l'assistant lance le rendu, le suit, et vous rend le MP4 fini.

Vous débutez ? Lisez comment diriger un film avec Claude →

Installation pour Claude, ChatGPT et chaque assistant, étape par étape →

Point d'entrée
https://pagetovid.com/mcp
Streamable HTTP. Parle le protocole 2026-07-28, et répond aux clients plus anciens sur la même URL.

Connexion en moins d'une minute

  1. 1. Ajoutez le serveur à votre assistant avec la commande ou le lien ci-dessous, puis autorisez l'accès quand le navigateur s'ouvre. Rien à copier, aucune clé à coller. Si vous préférez une clé API — pour la CI, un script ou un agent sans interface — créez-en une sur votre page compte et envoyez-la dans un en-tête Authorization.
  2. 2. Votre assistant vous connecte à PageToVid à la première connexion, et vous montre exactement ce qu'il demande.
  3. 3. Demandez une vidéo. L'assistant appellera create_video puis suivra l'avancement jusqu'à la fin.
claude code
claude mcp add --transport http pagetovid https://pagetovid.com/mcp

Installation

Chaque extrait est généré depuis le point d'entrée réel : aucun ne peut devenir obsolète. La connexion se fait dans le navigateur à la première utilisation — aucun de ces extraits n'a besoin d'une clé API.

Claude Code

shell
claude mcp add --transport http pagetovid https://pagetovid.com/mcp

Lancez /mcp dans Claude Code et authentifiez-vous : un navigateur s'ouvre, vous vous connectez une fois à PageToVid, et c'est tout.

Claude (web, ordinateur, mobile)

Customize → Connectors → Add custom connector → paste https://pagetovid.com/mcp

Claude ouvre une connexion à PageToVid et vous demande d'autoriser l'accès. Les connecteurs personnalisés fonctionnent avec toutes les offres Claude ; un compte Free peut en ajouter un.

Cursor

Installer

Ouvre Cursor avec le serveur déjà rempli. Cursor lance ensuite la connexion pour vous.

VS Code (mode agent Copilot)

Installer

VS Code vous connecte à la première utilisation. Ou ajoutez-le à la main dans .vscode/mcp.json.

VS Code — à la main

.vscode/mcp.json
json
{ "servers": { "pagetovid": { "type": "http", "url": "https://pagetovid.com/mcp" } } }

Codex

~/.codex/config.toml
toml
[mcp_servers.pagetovid] url = "https://pagetovid.com/mcp"

Codex lance la connexion à la première utilisation. Pour un agent sans interface, ajoutez plutôt http_headers = { Authorization = "Bearer cp_live_…" }.

Gemini CLI

shell
gemini mcp add --transport http pagetovid https://pagetovid.com/mcp

API Claude (Messages)

json
{ "mcp_servers": [ { "type": "url", "url": "https://pagetovid.com/mcp", "name": "pagetovid", "authorization_token": "YOUR_KEY" } ] }

À passer avec votre requête messages ; le modèle peut alors appeler les outils directement.

Tout autre client

json
{ "mcpServers": { "pagetovid": { "type": "http", "url": "https://pagetovid.com/mcp" } } }

Le format que la plupart des clients acceptent pour un serveur Streamable HTTP distant. Un client qui ne peut pas se connecter peut envoyer une clé API dans un en-tête — voir plus bas.

Quoi demander

Voici le genre de demandes autour desquelles les outils sont conçus.

  • “Transformez https://example.com en pub verticale de 30 secondes en français.”
  • “Faites une démo produit de 60 secondes de ma landing page, ton calme, sans musique.”
  • “Faites une vidéo de notre page tarifs en mettant en avant l'offre de lancement — le public, ce sont des CTO.”
  • “Ma vidéo est prête ?”
  • “Donne-moi le code d'intégration et les balises Open Graph de cette vidéo.”
  • “Planifiez toutes les vidéos que mon site devrait avoir, puis faites celles qui manquent.”
  • “Crée une émission hebdomadaire depuis le flux de notre changelog — 30 secondes en vertical, en français, confirme la première diffusion avec moi.”
  • “La scène 3 doit filmer la barre de recherche : tape « terrassement Lyon », reste sur les résultats, puis relance le rendu.”
  • “Transformez cette présentation en une vidéo de 60 secondes.”

Comment obtenir un film qui se regarde

Six choses qui séparent un bon résultat d'un résultat moyen. Votre assistant les connaît déjà — elles figurent dans les instructions que le serveur lui envoie — mais autant les connaître vous aussi, car la plupart sont des décisions que vous seul pouvez prendre.

  1. 1.La narration fait la durée

    Une scène dure exactement le temps des mots prononcés dessus, car la voix est une piste continue. Pour un film plus court, écrivez moins de mots — jamais en demandant une durée. Un script que vous écrivez est lu à environ 138 mots par minute en anglais (de 113 à 148 selon la langue).

  2. 2.Visez le produit, pas la bannière

    Demandez d'abord un inspect_page, dans le format que vous allez réellement tourner — le 9:16 filme la version mobile de votre page, donc les plans diffèrent. Puis préférez une page dont les meilleurs sujets sont la chose elle-même : une liste, un champ de recherche, une grille de prix. Un film d'une bannière est un film d'un titre.

  3. 3.Une idée par scène

    Deux idées dans une scène : la raison la plus fréquente qu'une vidéo paraisse précipitée. Si une phrase tient deux pensées avec un « et », ce sont deux scènes.

  4. 4.Dites ce qui doit être dit au mot près

    Mettez entre guillemets toute phrase exacte — un prix, une promesse, une mention légale — et indiquez les faits et l'offre dans le brief. Tout ce qui n'est pas donné est écrit d'après la page, et ce que la page ne soutient pas est refusé plutôt qu'inventé.

  5. 5.Réparez le film, ne le refaites pas

    get_storyboard montre chaque scène, ce qui la dessine et où chaque plan a été capturé. Changez une chose — un chiffre, un plan, la façon dont une scène arrive — et relancez le rendu. Des sous-titres décalés sont recalés gratuitement, sans nouvel enregistrement.

  6. 6.Lisez les avertissements avant de conclure

    Un film peut se terminer sans être entier. get_video renvoie des phrases claires quand une scène a perdu son visuel, a duré moins que sa propre narration, ou a été dégradée parce que l'offre ne l'inclut pas. Le statut dit « done » dans les deux cas.

Les plans que votre page ne peut pas vous donner

Certains moments n'ont rien à filmer. Sur une offre payante ou avec un pass film, décrivez-en un et il est dessiné : une image photoréaliste pour une idée, ou quelques secondes de mouvement cinéma. Nommez un personnage et le même visage revient à chaque scène. Demandez « un clip d'un fondateur à un bureau encombré, la tête dans les mains » et vous obtenez le plan qu'aucune capture de votre site n'allait fournir. Une image coûte 40 crédits et le clip maison 311 ; un clip d'un modèle nommé est facturé à la seconde selon son coût réel, que quote_cost indique d'avance — et ai_budget plafonne la note avant toute génération.

Outils

Ce que l'assistant peut faire. Les outils en lecture seule s'exécutent sans demander ; tout ce qui dépense des crédits ou modifie des données vous demande d'abord.

  • create_video — [40 credits] [paid plans: + 40 per AI still unless ai_mode none; dry_run quotes] Turns a public web page into a narrated, captioned video.
  • create_animation — [40 credits] From content you hold (figures, notes, story), no URL.
  • cancel_video — [Free] Stops a running render and refunds its render credit and any AI visual still in flight; AI visuals already made stay (reused free).
  • get_video — [Free] Reads this account.
  • release_video — [Free] Publishes a video its quality_gate held (status "held") as it is: status becomes done.
  • get_video_embed — [Free] Returns ready-to-paste markup for a finished PageToVid video: an HTML video element, Open Graph and Twitter player meta tags so the page unfurls as a playable video, and…
  • list_models — [Free] Every model this account can generate clips and stills with — capabilities, limits and the exact credit price — before spending anything.
  • quote_cost — [Free] What something will cost, spending nothing: one generation (kind clip or image, optional model, duration_s, resolution, role, count), or a video_id's next rerender_video…
  • list_video_options — [Free] Lists what create_video accepts: goals, aspect ratios, languages, voices, background music beds (9, each with a family: calm, energetic, serious, playful) and the…
  • list_motions — [Free] How a scene can look: 26 visuals, 1129 animations, motions, transitions, fx.
  • list_themes — [Free] Lists what the theme parameter accepts: the built-in presets, the modes, the type faces the renderer can load, and the contrast and palette rules enforced before a…
  • inspect_page — [Free] Use this, not web browsing, to check a page: it sees what the recorder will.
  • detect_brand — [Free] Reads a public page's design tokens from its live CSS: accent colours, heading typeface, light or dark ground, corner style.
  • get_account — [Free] Reads this account.
  • list_videos — [Free] Reads this account.
  • get_storyboard — [Free] Reads this account.
  • update_storyboard — [Free] Edits a video's storyboard in 24 operations, each described on its branch: words, captions, visuals (incl.
  • rerender_video — [40 credits] [free: captions_only once per paid render, then 10 credits; a missed length target once] A new film from the video's current storyboard, without re-planning, plus…
  • translate_video — [40 credits] per language: a NEW video from an existing one — same storyboard and pictures, narration translated, re-voiced and re-captioned, card text (rushie cards too)…
  • get_site_plan — [Free] Up to 5 ranked videos a site should have, one per subject: goal, pitch, the real page it films (checked), the video made; detail full adds the brief, sources and shots.
  • generate_site_videos — [40 credits] Per video started.
  • create_show — [Free] A show makes a video from each new item in a feed: a weekly release video from a changelog, a daily listing video from an RSS feed, a clip per new post.
  • list_shows — [Free] Reads this account.
  • run_show — [40 credits] Per episode started.
  • update_show — [Free] Changes a show's switch, cadence, caps or name, or moves it to another format or format version.
  • create_format — [Free] A format is how an episode is made — aspect, language, voice, music, tone, goal, length, cards, brand, theme, the brief or the scene templates — and knows nothing about…
  • update_format — [Free] Changes any of a format's template fields.
  • get_format — [Free] The format's current template, its version history and the shows that run it, with each show's pin.
  • list_formats — [Free] The account's formats, newest change first, with versions and the shows running each.
  • fork_format — [Free] A new format whose version 1 is the original's latest version, unpinned from its parent.
  • validate_format — [Free] Compiles the template against a sample item, touching no database or feed: the catalogue checks (voice, music, language, theme…), the scene templates filled and checked…
  • preview_episode — [Free] Runs the format's resolvers against the item (real calls, cached) and compiles the storyboard: every beat's final text, the beats dropped and why, the integrity report…
  • verify_episode — [Free] The proof behind a film: the format version that made it (template SHA-256), every resolver source and what it fetched, the integrity report, the claim ledger (which…
  • register_mcp_connection — [Free] Stores a connection under an alias — the URL and, optionally, a credential kept encrypted on this account — and REPLACES the alias if it already exists, which changes…
  • create_character — [Free or 40 credits] Names a character so generated clips that name it keep one identity.
  • list_characters — [Free] The reusable characters on this account, each with its reference images and description.
  • list_commons_assets — [Free] Media people shared from their banks for anyone's films — logos, product shots, illustrations, recorded flows — with tags, a licence and the site to credit.
  • generate_asset — [40 or 311 credits] One AI still (40 credits each) or clip (house 311, a named model its list_models price) straight into your bank — no render.
  • list_assets — [Free] Your PRIVATE bank: every image, clip and audio file, by origin and subject, with id, URL, brief, tags and facets.
  • list_connections — [Free] Every registered connection with its alias, kind and URL.
  • create_object — [Free] Names a product, logo, packaging, place, vehicle or UI screen from reference images so films keep it identical.
  • list_objects — [Free] The reusable objects on this account, with reference images, kind and metadata (price, brand, sku).
  • update_object — [Free] Changes only the fields sent.
  • delete_object — [Free] Deletes an object by name.
  • import_objects — [Free] Creates or replaces up to 50 objects from a product feed.
  • save_scene — [Free] Saves a scene for reuse: narration, visual, data, style AND its footage and generated media (a copy).
  • list_scenes — [Free] Saved scenes, newest first: name, id, visual, aspect, whether footage is kept, the {{placeholders}} each needs as params, and tags.
  • copy_scene — [Free] Copies a scene into another of your videos with its footage and generated media, so nothing is filmed or generated again.
  • create_motion — [Paid plans] Designs a custom motion graphic from a brief (one text-model call; AI plans or a film pass; no credits charged), checks layout, legibility, contrast and timing,…
  • list_motion_templates — [Free] Your saved motion graphics (visual "motion") and the commons, with their params.
  • get_motion_template — [Free] One template with its full spec (layers, motion tokens, declared params).
  • update_motion_template — [Free] Renames, retags, sets param defaults or visibility, or replaces the spec of a template you wrote.
  • get_motion_grammar — [Free] The grammar for writing your own animation as a motion spec: no topic → a short index and the authoring loop; topic → one rule file (layers, params, timing, motion,…
  • validate_motion_spec — [Free] Dry-run a spec: deterministic repairs, schema, params, layout/legibility/contrast/timing on four frames and the motion doctrine.
  • preview_motion — [Free] Frames back without a render: per aspect (16:9, 9:16, 1:1) a PNG sheet of four beats (entering, landed, hold, exit) — a deterministic LAYOUT wireframe from the DSL's…
  • save_motion_spec — [Free] Saves a spec you wrote as a private template once it passes validate_motion_spec (repairs applied).
  • upload_asset — [Free] Puts a file in your bank from a public https url.
  • create_upload — [Free] A one-hour address to send a file you hold (picture, clip, music, font, PDF/PPTX deck, ≤ 30 MB): curl -sS -T <file> "<upload_url>".
  • list_voices — [Free] The narrator voices with measured pitch (band and median Hz) and a short sample in the chosen language where one exists (else sample_url is null).
  • get_timeline — [Free] Each scene's start and end in the finished MP4 (seconds), what drew it (recording, page still, AI clip/still, footage, graphic, card, inset), its transition, its slice…
  • get_frames — [Free] JPEG stills (≤ 1280 px wide) cut from the finished MP4 at 1–6 moments in seconds, as URLs.
  • set_brand_kit — [Free] Partial update of a site's brand kit: logo, palette, face (named or an uploaded font), intro/outro templates, watermark and logo corner, default…
  • get_brand_kit — [Free] A site's brand kit, what a film paints from it (and what it cannot, with why), the effective watermark, and the account defaults beneath it.
  • set_account_defaults — [Free] Partial update of the options every film starts from (below a site's brand kit).
  • list_options — [Free] Every enum and range a film accepts (voices, languages, beds, looks, captions, motions, transitions, visuals, aspects, faces, brand kit), the models with a credit…
  • invite_member — [Free] Emails an invite to this workspace with a role, optional site limits and monthly credit cap.
  • list_members — [Free] Members with role, sites, cap and spend this month; seats; your workspaces (send one as the X-PageToVid-Workspace header to act in it).
  • update_member — [Free] Changes only the fields sent.
  • remove_member — [Free] Removes a member or cancels an invite, freeing the seat; your own member id leaves the workspace.
  • request_approval — [Free] Opens an approval round for the named approvers; supersedes a pending one.
  • approve — [Free] Approves the pending round, as one of its approvers.
  • request_changes — [Free] Closes the pending round as changes requested.
  • list_comments — [Free] Timestamped comments from members and review-link guests, oldest first, and the approval round.
  • add_comment — [Free] Adds a timestamped comment; open comments feed the editor's AI revision.
  • get_audit_log — [Free] Who did what here, newest first: members, spending, review links, approvals, comments.
  • set_webhook — [Free] Sets (or with null clears) the account-wide URL that receives a signed JSON event whenever a render ends.
  • rotate_webhook_secret — [Free] Replaces the secret completion events are signed with and returns the new one, once.
  • list_revisions — [Free] Every storyboard edit, newest first: what changed and a revision_id.
  • restore_revision — [Free] Puts the storyboard back as it was before a revision, undoing that edit and every later one.
  • update_character — [Free] Changes a character's references, description or name; anything not given is kept.
  • delete_character — [Free] Deletes a character by name.

La référence complète : les 82 outils, chaque paramètre, type et valeur par défaut (en anglais) →

Ce tableau est généré à partir des définitions d’outils du serveur — celles-là mêmes que lit votre assistant — il ne peut donc pas se périmer.

Coûts et limites

  • Crédits : 40 crédits par vidéo terminée ; les images et clips IA sont facturés à l'unité, et list_models et quote_cost (gratuits tous les deux) donnent chaque prix avant que vous dépensiez. Un rendu qui échoue pour une raison technique est remboursé automatiquement.
  • Offre gratuite : votre première vidéo est gratuite sur n'importe quel site. Vous commencez avec 120 crédits, de quoi faire 3 vidéos, et chaque site web a droit à 3 vidéos gratuites, tous comptes gratuits confondus ; les vidéos gratuites, la première comprise, sont en 1080p avec un petit badge « Made with PageToVid » et un carton de fin. Un pass film (24 $) achète une vidéo avec IA et sans badge, sans abonnement. Tous les outils s'appellent sur l'offre gratuite ; les images, clips et motion designs générés par IA (create_motion, generate_motion) demandent une offre payante ou un pass film ; une spec de motion que vous écrivez vous-même fonctionne sur toutes les offres.
  • Débit : 10 rendus par minute et par compte.
  • Durée : 15 à 180 s (par défaut 45 s).
  • Formats : 16:9, 9:16, 1:1, 4:5 · explainer, ad, demo, tutorial, article.
  • Langues : en, fr, es, de, it, pt, nl, ar, hi, ko, pl, tr, sv. ce sont celles que nous vérifions de bout en bout après chaque rendu.
  • Vos propres fichiers : images jusqu'à 20 Mo, polices jusqu'à 2 Mo, clips, musiques et présentations (PDF ou PowerPoint) jusqu'à 30 Mo par fichier, envoyés avec create_upload — ou directement dans l'appel jusqu'à 2 Mo. Une présentation est lue diapositive par diapositive, jusqu'à 40 diapositives.
  • Pages derrière une connexion : filmées une fois que vous avez enregistré une session de capture pour le site depuis l'extension VS Code ou l'extension navigateur (à partir du plan Scale).

Pour les implémenteurs

Si vous construisez un client plutôt que d'en utiliser un :

  • • Streamable HTTP en POST uniquement. Le flux GET/SSE a été retiré en 2026-07-28 ; il n'y a ni identifiant de session ni handshake initialize.
  • • Les clients plus anciens fonctionnent tels quels. Les requêtes 2025-11-25 et 2025-06-18 sont servies sur la même URL, avec le handshake qu'elles attendent.
  • • L'authentification est OAuth 2.1 avec PKCE. Une requête non authentifiée reçoit un 401 dont l'en-tête WWW-Authenticate pointe vers /.well-known/oauth-protected-resource/mcp, d'où le client découvre le serveur d'autorisation. Les clients peuvent s'enregistrer dynamiquement ou présenter un Client ID Metadata Document. Une clé API en bearer fonctionne aussi, pour les scripts et la CI.
  • • tools/list est cachable une heure et identique pour tous les appelants : votre cache de prompt reste chaud.
http
POST https://pagetovid.com/mcp Authorization: Bearer cp_live_… MCP-Protocol-Version: 2026-07-28 Mcp-Method: tools/call Mcp-Name: create_video

Dépannage

Le connecteur est ajouté mais n'affiche aucun outil.

Retirez-le puis rajoutez-le : le connecteur doit terminer la connexion une fois. Si la fenêtre du navigateur se ferme sur une erreur, l'URL de retour du client n'est pas acceptée ; envoyez-nous l'erreur et nous regarderons.

Il dit que la page renvoie une erreur.

PageToVid vérifie l'URL avant de dépenser le moindre crédit. Un 404 ou 403 signifie que la page a bougé, ou qu'elle demande une connexion — rien n'a été facturé.

La vidéo prend beaucoup de temps.

Un rendu prend plusieurs minutes et varie selon le poids de la page, la durée demandée et la charge de la file d'attente — get_video donne une estimation en direct, recalculée à partir du temps déjà écoulé pour ce rendu précis. Un rendu qui cesse de répondre pendant huit minutes est abandonné et les crédits rendus automatiquement.

Puis-je annuler un rendu ?

Oui : cancel_video arrête un rendu en cours et le crédit du rendu revient. Les visuels IA déjà générés restent sur votre film et sont réutilisés au prochain rendu : ils ne sont pas facturés deux fois. Un rendu déjà terminé ne peut pas être annulé.

L'assistant ne voit pas le set_shot d'update_storyboard, create_show ni get_site_plan.

Sa copie de la liste des outils est mise en cache environ une heure. Retirez puis rajoutez le connecteur : il récupère l'ensemble actuel (82 outils) ; la version du serveur figure dans chaque réponse tools/list.

Commencer

Collez une commande dans votre assistant, connectez-vous une fois dans le navigateur, et demandez une vidéo.