Zum Hauptinhalt springen

PageToVid für KI-Assistenten

PageToVid spricht das Model Context Protocol, also kann ein KI-Assistent ein Video für dich erstellen. Einmal verbinden, dann in normaler Sprache fragen — der Assistent startet den Render, verfolgt ihn und gibt dir das fertige MP4.

Neu hier? So führst du bei einem Film mit Claude Regie →

Einrichtung für Claude, ChatGPT und jeden Assistenten, Schritt für Schritt →

Endpunkt
https://pagetovid.com/mcp
Streamable HTTP. Spricht das Protokoll 2026-07-28 und beantwortet ältere Clients unter derselben URL.

In unter einer Minute verbunden

  1. 1. Füge den Server mit dem Befehl oder Link unten hinzu und bestätige den Zugriff, wenn sich der Browser öffnet. Nichts zu kopieren, kein Schlüssel einzufügen. Wenn du lieber einen API-Schlüssel nutzt — für CI, ein Skript oder einen Agenten ohne Oberfläche — erstelle einen auf deiner Kontoseite und sende ihn im Authorization-Header.
  2. 2. Dein Assistent meldet dich beim ersten Verbinden bei PageToVid an und zeigt dir genau, worum er bittet.
  3. 3. Frag nach einem Video. Der Assistent ruft create_video auf und fragt den Fortschritt ab, bis es fertig ist.
claude code
claude mcp add --transport http pagetovid https://pagetovid.com/mcp

Installation

Jeder Ausschnitt wird aus dem echten Endpunkt erzeugt — keiner kann veralten. Die Anmeldung passiert beim ersten Mal im Browser; keiner davon braucht einen API-Schlüssel.

Claude Code

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

Führe /mcp in Claude Code aus und melde dich an: Ein Browser öffnet sich, du meldest dich einmal bei PageToVid an, fertig.

Claude (Web, Desktop, Mobil)

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

Claude öffnet eine PageToVid-Anmeldung und bittet dich, den Zugriff zu bestätigen. Benutzerdefinierte Connectoren funktionieren in jedem Claude-Tarif; auch ein Free-Konto kann einen hinzufügen.

Öffnet Cursor mit vorausgefülltem Server. Cursor startet danach die Anmeldung für dich.

VS Code (Copilot-Agentenmodus)

Installieren

VS Code meldet dich beim ersten Einsatz an. Oder trag ihn von Hand in .vscode/mcp.json ein.

VS Code — von Hand

.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 startet die Anmeldung beim ersten Einsatz. Für einen Agenten ohne Oberfläche füge stattdessen http_headers = { Authorization = "Bearer cp_live_…" } hinzu.

Gemini CLI

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

Claude API (Messages)

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

Gib es mit deiner messages-Anfrage mit; das Modell kann die Tools dann direkt aufrufen.

Alle anderen Clients

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

Das Format, das die meisten Clients für einen entfernten Streamable-HTTP-Server akzeptieren. Ein Client, der sich nicht anmelden kann, sendet stattdessen einen API-Schlüssel im Header — siehe unten.

Was du fragen kannst

Das sind die Anfragen, um die herum die Werkzeuge gebaut sind.

  • “Mach aus https://example.com eine 30-sekündige vertikale Anzeige auf Französisch.”
  • “Mach eine 60-sekündige Produktdemo meiner Landingpage, ruhiger Ton, ohne Musik.”
  • “Mach ein Video unserer Preisseite und stell das Launch-Angebot voran — Zielgruppe sind CTOs.”
  • “Ist mein Video schon fertig?”
  • “Gib mir den Einbettungscode und die Open-Graph-Tags für dieses Video.”
  • “Plane alle Videos, die meine Website haben sollte, und mach dann die fehlenden.”
  • “Lege eine wöchentliche Sendung aus unserem Changelog-Feed an — 30 Sekunden vertikal, Französisch, den ersten Lauf bestätigst du mit mir.”
  • “Szene 3 soll das Suchfeld filmen: tippe „terrassement Lyon“, bleib auf den Ergebnissen, dann neu rendern.”
  • “Mach aus dieser Präsentation einen 60-Sekunden-Film.”

So entsteht ein Film, den man ansieht

Sechs Dinge, die ein gutes Ergebnis von einem mittelmäßigen trennen. Dein Assistent kennt sie bereits — sie stehen in den Anweisungen, die der Server schickt — aber es lohnt sich, sie selbst zu kennen, denn die meisten sind Entscheidungen, die nur du treffen kannst.

  1. 1.Die Erzählung bestimmt die Länge

    Eine Szene dauert genau so lange wie die Worte darüber, denn die Stimme ist eine durchgehende Spur. Für einen kürzeren Film schreib weniger Worte — nie eine Dauer verlangen. Ein selbst geschriebenes Skript wird auf Englisch mit etwa 138 Wörtern pro Minute gelesen (je nach Sprache 113 bis 148).

  2. 2.Ziel auf das Produkt, nicht auf die Headline

    Lass zuerst inspect_page laufen, im Format, das du wirklich drehst — 9:16 filmt die mobile Ansicht deiner Seite, die Einstellungen sind also andere. Bevorzuge dann eine Seite, deren beste Motive die Sache selbst sind: eine Liste, ein Suchfeld, eine Preistabelle. Ein Film über einen Hero ist ein Film über eine Überschrift.

  3. 3.Eine Idee pro Szene

    Zwei Ideen in einer Szene sind der häufigste Grund, warum ein Video geheztt wirkt. Hält ein Satz mit einem „und“ zwei Gedanken zusammen, sind es zwei Szenen.

  4. 4.Sag wörtlich, was wörtlich sein muss

    Setz jede exakte Zeile — einen Preis, ein Versprechen, eine Rechtsformel — in Anführungszeichen und gib Fakten und Angebot ins Briefing. Was du nicht angibst, wird aus der Seite geschrieben, und was die Seite nicht hergibt, wird abgelehnt statt erfunden.

  5. 5.Reparier den Film, dreh ihn nicht neu

    get_storyboard zeigt jede Szene, wie sie gezeichnet ist und wo jede Einstellung aufgenommen wurde. Ändere eine Sache — eine Zahl, eine Einstellung, wie eine Szene einsetzt — und rendere neu. Untertitel, die nicht sitzen, werden kostenlos neu getimt, ohne neue Aufnahme.

  6. 6.Lies die Warnungen, bevor du fertig sagst

    Ein Film kann fertig werden und trotzdem nicht vollständig sein. get_video liefert klare Sätze, wenn eine Szene ihr Bild verloren hat, kürzer lief als ihre eigene Erzählung oder heruntergestuft wurde, weil der Tarif sie nicht enthält. Der Status sagt in beiden Fällen „done“.

Die Einstellungen, die deine Seite nicht hergibt

Manche Momente haben nichts zu filmen. Mit einem bezahlten Tarif oder einem Film-Pass beschreibst du einen, und er wird gezeichnet: ein fotorealistisches Bild für eine Idee oder ein paar Sekunden filmische Bewegung. Nenn eine Figur, und dasselbe Gesicht kommt in jeder Szene wieder. Bitte um „einen Clip von einem Gründer an einem überfüllten Schreibtisch, den Kopf in den Händen“ — und du bekommst die Einstellung, die kein Screenshot deiner Seite je geliefert hätte. Ein Bild kostet 40 Credits, der hauseigene Clip 311; ein Clip eines benannten Modells wird pro Sekunde nach seinen echten Kosten berechnet, die quote_cost vorab zeigt — und ai_budget deckelt die Rechnung, bevor irgendetwas entsteht.

Werkzeuge

Was der Assistent tun kann. Nur-Lese-Werkzeuge laufen ohne Rückfrage; alles, was Credits kostet oder Daten ändert, fragt vorher.

  • 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.

Die vollständige Referenz: alle 82 Tools, jeder Parameter, Typ und Standardwert (auf Englisch) →

Diese Tabelle wird aus den Tool-Definitionen des Servers erzeugt — denselben, die dein Assistent liest — sie kann also nicht veralten.

Kosten und Grenzen

  • Credits: 40 Credits pro fertigem Video; KI-Bilder und -Clips werden pro Stück berechnet, und list_models und quote_cost (beide kostenlos) zeigen jeden Preis, bevor du ausgibst. Ein Render, der aus technischen Gründen scheitert, wird automatisch erstattet.
  • Gratis-Tarif: Dein erstes Video ist auf jeder Website kostenlos. Du startest mit 120 Credits, genug für 3 Videos, und jede Website bekommt 3 Gratis-Videos über alle Gratis-Konten hinweg; Gratis-Videos, auch das erste, sind 1080p mit einem kleinen „Made with PageToVid“-Badge und einer Abschlusskarte. Ein Film-Pass (24 $) kauft ein Video mit KI und ohne Badge, ohne Abo. Jedes Tool ist im kostenlosen Tarif aufrufbar; KI-Bilder, -Clips und generierte Motion-Grafiken (create_motion, generate_motion) brauchen einen bezahlten Tarif oder einen Film-Pass; eine Motion-Spec, die du selbst schreibst, funktioniert in jedem Tarif.
  • Rate: 10 Renders pro Minute und Konto.
  • Länge: 15–180 s (Standard 45 s).
  • Formate: 16:9, 9:16, 1:1, 4:5 · explainer, ad, demo, tutorial, article.
  • Sprachen: en, fr, es, de, it, pt, nl, ar, hi, ko, pl, tr, sv. das sind die, die wir nach jedem Render von Anfang bis Ende prüfen.
  • Eigene Dateien: Bilder bis 20 MB, Schriften bis 2 MB, Clips, Musik und Präsentationen (PDF oder PowerPoint) bis 30 MB pro Datei, gesendet mit create_upload — oder direkt im Aufruf bis 2 MB. Eine Präsentation wird Folie für Folie gelesen, bis zu 40 Folien.
  • Seiten hinter einem Login: werden gefilmt, sobald du für die Website eine Aufnahmesitzung über die VS-Code- oder die Browser-Erweiterung registriert hast (ab dem Scale-Tarif).

Für Implementierende

Wenn du einen Client baust statt einen zu nutzen:

  • • Streamable HTTP nur per POST. Der GET/SSE-Stream wurde in 2026-07-28 entfernt; es gibt keine Session-ID und keinen initialize-Handshake.
  • • Ältere Clients laufen unverändert. Anfragen mit 2025-11-25 und 2025-06-18 werden unter derselben URL beantwortet, mit dem erwarteten Handshake.
  • • Authentifiziert wird mit OAuth 2.1 und PKCE. Eine nicht authentifizierte Anfrage erhält ein 401, dessen WWW-Authenticate-Header auf /.well-known/oauth-protected-resource/mcp zeigt — von dort findet ein Client den Autorisierungsserver. Clients können sich dynamisch registrieren oder ein Client ID Metadata Document vorlegen. Ein Bearer-API-Schlüssel funktioniert ebenfalls, für Skripte und CI.
  • • tools/list ist eine Stunde cachebar und für alle Aufrufer identisch, damit dein Prompt-Cache warm bleibt.
http
POST https://pagetovid.com/mcp Authorization: Bearer cp_live_… MCP-Protocol-Version: 2026-07-28 Mcp-Method: tools/call Mcp-Name: create_video

Fehlersuche

Der Connector ist hinzugefügt, zeigt aber keine Werkzeuge.

Entferne ihn und füge ihn erneut hinzu — der Connector muss die Anmeldung einmal abschließen. Schließt sich das Browserfenster mit einem Fehler, ist die Rücksprung-URL des Clients nicht zugelassen; schick uns den Fehler, wir sehen nach.

Er sagt, die Seite liefere einen Fehler.

PageToVid prüft die URL, bevor irgendein Credit ausgegeben wird. Ein 404 oder 403 heißt, die Seite ist umgezogen oder verlangt einen Login — es wurde nichts berechnet.

Das Video dauert lange.

Ein Render dauert mehrere Minuten und hängt vom Gewicht der Seite, der gewünschten Länge und der Auslastung der Warteschlange ab — get_video liefert eine laufende Schätzung, neu berechnet aus der Zeit, die dieser Render bereits gebraucht hat. Ein Render, der acht Minuten lang nicht mehr antwortet, wird abgeschrieben und das Guthaben automatisch zurückerstattet.

Kann ich einen Render abbrechen?

Ja: cancel_video stoppt einen laufenden Render, und der Render-Credit kommt zurück. Bereits erzeugte KI-Visuals bleiben in deinem Film und werden beim nächsten Render wiederverwendet, sie werden also nicht zweimal berechnet. Ein bereits fertiger Render lässt sich nicht abbrechen.

Der Assistent sieht set_shot von update_storyboard, create_show oder get_site_plan nicht.

Seine Kopie der Tool-Liste ist etwa eine Stunde lang gecacht. Entferne den Connector und füge ihn neu hinzu, dann holt er den aktuellen Satz (82 Tools); die Serverversion steht in jeder tools/list-Antwort.

Loslegen

Einen Befehl in den Assistenten einfügen, einmal im Browser anmelden und nach einem Video fragen.