{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_b6868ka7gq85","handle":"pagetovid","url":"https://wellknown.network/agents/pagetovid","links":{"self":"https://wellknown.network/agents/pagetovid/record.json","html":"https://wellknown.network/agents/pagetovid","markdown":"https://wellknown.network/agents/pagetovid/record.md","api":"https://wellknown.network/api/v1/agents/pagetovid","status":"https://wellknown.network/api/v1/agents/pagetovid/status","claim":"https://wellknown.network/agents/pagetovid/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/pagetovid/claim.json","badge":"https://wellknown.network/agents/pagetovid/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/pagetovid/history","tools":"https://wellknown.network/api/v1/agents/pagetovid/tools"},"ard":{"identifier":"urn:air:pagetovid.com:server:pagetovid","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"PageToVid","summary":"Turn any web page into a narrated video: films the real site, writes, voices and captions it","description":"Turn any web page into a narrated video: films the real site, writes, voices and captions it","publisher":{"name":"com.pagetovid","url":null},"homepage":"https://pagetovid.com","repository":null,"version":"1.192.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://pagetovid.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-20T19:24:13.175369Z","publishedAt":"2026-10-20T19:24:13.175369Z","registryName":"com.pagetovid/pagetovid"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.writing","name":"Writing & Editing","confidence":1,"provenance":"derived"},{"slug":"media.speech-synthesis","name":"Speech Synthesis","confidence":1,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.992,"provenance":"derived"},{"slug":"media.video-editing","name":"Video Editing","confidence":0.938,"provenance":"derived"},{"slug":"documents.presentations","name":"Presentations","confidence":0.933,"provenance":"derived"},{"slug":"data.news","name":"News & Feeds","confidence":0.919,"provenance":"derived"},{"slug":"security.secrets","name":"Secrets Management","confidence":0.569,"provenance":"derived"},{"slug":"content.translation","name":"Translation","confidence":0.54,"provenance":"derived"}],"categories":["commerce","content","data","documents","media","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-22T15:32:53.246Z","lastProbedAt":"2026-10-22T15:32:53.246Z","statusComputedAt":"2026-10-22T15:36:36.282Z","reliability30d":{"probes":3,"successRate":1,"p50Ms":75,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":3,"ok":3,"authBoundaryOk":0,"serviceOk":3,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-22T15:32:53.246Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":75,"error":null,"detail":{"tools":[{"name":"create_video","description":"[40 credits] [paid plans: + 40 per AI still unless ai_mode none; dry_run quotes] Turns a public web page into a narrated video: AI voiceover, motion graphics, o"},{"name":"create_animation","description":"[40 credits] From content you hold (figures, notes, story), no URL. You write scenes; each drawn, voiced, captioned (list_motions: 25 visuals, some with kinds; "},{"name":"cancel_video","description":"[Free] Stops a running render and refunds its render credit and any AI visual still in flight; AI visuals already made stay (reused free). Use it when get_story"},{"name":"get_video","description":"[Free] Reads this account. The full status of a render: phase and progress while it runs (with poll_after_seconds), then the files, length, credits, warnings an"},{"name":"release_video","description":"[Free] Publishes a video its quality_gate held (status \"held\") as it is: status becomes done. Nothing is re-rendered."},{"name":"get_video_embed","description":"[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 pla"},{"name":"list_models","description":"[Free] Every model this account can generate clips and stills with — capabilities, limits and the exact credit price — before spending anything. Omit model in a"},{"name":"quote_cost","description":"[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 nex"},{"name":"list_video_options","description":"[Free] Lists what create_video accepts: goals, aspect ratios, languages, voices, background music beds (9, each with a family: calm, energetic, serious, playful"},{"name":"list_motions","description":"[Free] How a scene can look: 26 visuals, 817 animations, motions, transitions, fx. Check pairs before writing scenes. New: get_motion_grammar."},{"name":"list_themes","description":"[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 enforce"},{"name":"inspect_page","description":"[Free] Opens a public page in a real browser and ranks what a video could film — calls to action, images, cards, pricing, testimonials, search boxes, headings —"},{"name":"detect_brand","description":"[Free] Reads a public page's design tokens from its live CSS: accent colours, heading typeface, light or dark ground, corner style. Returns a theme ready for cr"},{"name":"get_account","description":"[Free] Reads this account. CALL THIS FIRST: plan, credits, whether AI visuals are available and charged, watermark, revisions, film passes, add-on clips, render"},{"name":"list_videos","description":"[Free] Reads this account. Lists videos newest first with their status and, when finished, their links. Filter by status or by a word in the page URL or title. "},{"name":"get_storyboard","description":"[Free] Reads this account. Returns the scene-by-scene plan of a video: what each scene narrates, its on-screen caption, how long it holds, and whether it is rea"},{"name":"update_storyboard","description":"[Free] Edits a video's storyboard in 22 operations, each described on its branch: words, captions, visuals (incl. \"rushie\" designed cards: data.rushie {template"},{"name":"rerender_video","description":"[40 credits] [free: captions_only once per paid render; a missed length target once] A new film from the video's current storyboard, without re-planning, plus a"},{"name":"translate_video","description":"[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 "},{"name":"get_site_plan","description":"[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, sou"},{"name":"generate_site_videos","description":"[40 credits] Per video started. One filmed video per get_site_plan idea without one (or the idea_ids given), of its verified page with its sourced brief as focu"},{"name":"create_show","description":"[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. "},{"name":"list_shows","description":"[Free] Reads this account. Lists the shows on this account — or one site's — with their cadence, caps, whether each is confirmed or still held, what it spent to"},{"name":"run_show","description":"[40 credits] Per episode started. Reads the show's feed (or the items given), skips items already made, and — within max_episodes_per_run and max_credits_per_da"},{"name":"update_show","description":"[Free] Changes a show's switch, cadence, caps or name, or moves it to another format or format version. The template itself is edited with update_format, which "},{"name":"create_format","description":"[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 know"},{"name":"update_format","description":"[Free] Changes any of a format's template fields. The result is a NEW version — the previous ones stay exactly as they were, and every episode already made keep"},{"name":"get_format","description":"[Free] The format's current template, its version history and the shows that run it, with each show's pin."},{"name":"list_formats","description":"[Free] The account's formats, newest change first, with versions and the shows running each."},{"name":"fork_format","description":"[Free] A new format whose version 1 is the original's latest version, unpinned from its parent. Edit the copy without touching the original."},{"name":"validate_format","description":"[Free] Compiles the template against a sample item, touching no database or feed: the catalogue checks (voice, music, language, theme…), the scene templates fil"},{"name":"preview_episode","description":"[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 in"},{"name":"verify_episode","description":"[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 l"},{"name":"register_mcp_connection","description":"[Free] Registers (or replaces) a connection by alias: the URL and, optionally, a credential kept encrypted on this account. Formats refer to the alias only, so "},{"name":"create_character","description":"[Free or 40 credits] Names a character so generated clips that name it keep one identity. refs (1 to 3 image URLs on this account) is free; a generate prompt DR"},{"name":"list_characters","description":"[Free] The reusable characters on this account, each with its reference images and description."},{"name":"list_commons_assets","description":"[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 cred"},{"name":"generate_asset","description":"[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. Clip controls a"},{"name":"list_assets","description":"[Free] Your PRIVATE bank: every image, clip and audio file, by origin and subject, with id, URL, brief, tags and facets. Reuse a picture by putting its id in an"},{"name":"list_connections","description":"[Free] Every registered connection with its alias, kind and URL. Credentials are never returned."},{"name":"create_object","description":"[Free] Names a product, logo, packaging, place, vehicle or UI screen from reference images so films keep it identical. Generated pictures take it in data.object"},{"name":"list_objects","description":"[Free] The reusable objects on this account, with reference images, kind and metadata (price, brand, sku)."},{"name":"update_object","description":"[Free] Changes only the fields sent. Media already generated with it is kept until a scene's description changes."},{"name":"delete_object","description":"[Free] Deletes an object by name. Its images stay in your bank and media made with it stays in its films."},{"name":"import_objects","description":"[Free] Creates or replaces up to 50 objects from a product feed. Each image is downloaded (public addresses only) and banked as a reference. Failed rows are lis"},{"name":"save_scene","description":"[Free] Saves a scene for reuse: narration, visual, data, style AND its footage and generated media (a copy). Reusing it — update_storyboard add_scene_from_libra"},{"name":"list_scenes","description":"[Free] Saved scenes, newest first: name, id, visual, aspect, whether footage is kept, the {{placeholders}} each needs as params, and tags."},{"name":"copy_scene","description":"[Free] Copies a scene into another of your videos with its footage and generated media, so nothing is filmed or generated again. A recording cannot change aspec"},{"name":"create_motion","description":"[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, contras"},{"name":"list_motion_templates","description":"[Free] Your saved motion graphics (visual \"motion\") and the commons, with their params. Rushie designed cards: list_motions {rushie}."},{"name":"get_motion_template","description":"[Free] One template with its full spec (layers, motion tokens, declared params)."},{"name":"update_motion_template","description":"[Free] Renames, retags, sets param defaults or visibility, or replaces the spec of a template you wrote. Films already using it keep their picture."},{"name":"get_motion_grammar","description":"[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, timi"},{"name":"validate_motion_spec","description":"[Free] Dry-run a spec: deterministic repairs, schema, params, layout/legibility/contrast/timing on four frames and the motion doctrine. Returns ok, every proble"},{"name":"preview_motion","description":"[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 fr"},{"name":"save_motion_spec","description":"[Free] Saves a spec you wrote as a private template once it passes validate_motion_spec (repairs applied). Returns its id, params schema and the scene JSON that"},{"name":"upload_asset","description":"[Free] Puts a file in your bank from a public https url or small data_base64 (a bigger file you hold: create_upload). Picture or clip → data.asset_id in an imag"},{"name":"create_upload","description":"[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>\". The reply is the asse"},{"name":"list_voices","description":"[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). Every "},{"name":"get_timeline","description":"[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 transit"},{"name":"get_frames","description":"[Free] JPEG stills (≤ 1280 px wide) cut from the finished MP4 at 1–6 moments in seconds, as URLs. Cached per render."},{"name":"set_brand_kit","description":"[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 voice/mu"},{"name":"get_brand_kit","description":"[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."},{"name":"set_account_defaults","description":"[Free] Partial update of the options every film starts from (below a site's brand kit). null clears a field."},{"name":"list_options","description":"[Free] Every enum and range a film accepts (voices, languages, beds, looks, captions, motions, transitions, visuals, aspects, faces, brand kit), the models with"},{"name":"invite_member","description":"[Free] Emails an invite to this workspace with a role, optional site limits and monthly credit cap. Members spend the owner's credits. Seats incl. owner: Free/C"},{"name":"list_members","description":"[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)."},{"name":"update_member","description":"[Free] Changes only the fields sent. Only the owner grants or changes admin and billing."},{"name":"remove_member","description":"[Free] Removes a member or cancels an invite, freeing the seat; your own member id leaves the workspace. Their work stays."},{"name":"create_review_link","description":"[Free] A link to watch the film and, if allowed, comment with no account. Shown once; only its hash is stored."},{"name":"request_approval","description":"[Free] Opens an approval round for the named approvers; supersedes a pending one."},{"name":"approve","description":"[Free] Approves the pending round, as one of its approvers."},{"name":"request_changes","description":"[Free] Closes the pending round as changes requested."},{"name":"list_comments","description":"[Free] Timestamped comments from members and review-link guests, oldest first, and the approval round."},{"name":"add_comment","description":"[Free] Adds a timestamped comment; open comments feed the editor's AI revision."},{"name":"get_audit_log","description":"[Free] Who did what here, newest first: members, spending, review links, approvals, comments."},{"name":"set_webhook","description":"[Free] Sets (or with null clears) the account-wide URL that receives a signed JSON event whenever a render ends. The first time a secret is needed it is created"},{"name":"rotate_webhook_secret","description":"[Free] Replaces the secret completion events are signed with and returns the new one, once. The old secret stops verifying at once, including for retries still "},{"name":"list_revisions","description":"[Free] Every storyboard edit, newest first: what changed and a revision_id. restore_revision puts the storyboard back as it was before one."},{"name":"restore_revision","description":"[Free] Puts the storyboard back as it was before a revision, undoing that edit and every later one. Itself a revision, so it can be undone. Nothing is re-render"},{"name":"update_character","description":"[Free] Changes a character's references, description or name; anything not given is kept. Clips already made keep the look they were made with."},{"name":"delete_character","description":"[Free] Deletes a character by name. Its reference images stay in your bank and clips made with it stay in their films."}],"toolCount":82,"toolsHash":"6f456fe967ab0028908791b4265b1d77293bfdcc77a75a9600fd2b97490e5b2d","serverName":"pagetovid","capabilities":["tools","prompts"],"serverVersion":"0.32.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T08:28:53.334Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":103,"error":null,"detail":{"tools":[{"name":"create_video","description":"[40 credits] [paid plans: + 40 per AI still unless ai_mode none; dry_run quotes] Turns a public web page into a narrated video: AI voiceover, motion graphics, o"},{"name":"create_animation","description":"[40 credits] From content you hold (figures, notes, story), no URL. You write scenes; each drawn, voiced, captioned (list_motions: 25 visuals, some with kinds; "},{"name":"cancel_video","description":"[Free] Stops a running render and refunds its render credit and any AI visual still in flight; AI visuals already made stay (reused free). Use it when get_story"},{"name":"get_video","description":"[Free] Reads this account. The full status of a render: phase and progress while it runs (with poll_after_seconds), then the files, length, credits, warnings an"},{"name":"release_video","description":"[Free] Publishes a video its quality_gate held (status \"held\") as it is: status becomes done. Nothing is re-rendered."},{"name":"get_video_embed","description":"[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 pla"},{"name":"list_models","description":"[Free] Every model this account can generate clips and stills with — capabilities, limits and the exact credit price — before spending anything. Omit model in a"},{"name":"quote_cost","description":"[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 nex"},{"name":"list_video_options","description":"[Free] Lists what create_video accepts: goals, aspect ratios, languages, voices, background music beds (9, each with a family: calm, energetic, serious, playful"},{"name":"list_motions","description":"[Free] How a scene can look: 26 visuals, 817 animations, motions, transitions, fx. Check pairs before writing scenes. New: get_motion_grammar."},{"name":"list_themes","description":"[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 enforce"},{"name":"inspect_page","description":"[Free] Opens a public page in a real browser and ranks what a video could film — calls to action, images, cards, pricing, testimonials, search boxes, headings —"},{"name":"detect_brand","description":"[Free] Reads a public page's design tokens from its live CSS: accent colours, heading typeface, light or dark ground, corner style. Returns a theme ready for cr"},{"name":"get_account","description":"[Free] Reads this account. CALL THIS FIRST: plan, credits, whether AI visuals are available and charged, watermark, revisions, film passes, add-on clips, render"},{"name":"list_videos","description":"[Free] Reads this account. Lists videos newest first with their status and, when finished, their links. Filter by status or by a word in the page URL or title. "},{"name":"get_storyboard","description":"[Free] Reads this account. Returns the scene-by-scene plan of a video: what each scene narrates, its on-screen caption, how long it holds, and whether it is rea"},{"name":"update_storyboard","description":"[Free] Edits a video's storyboard in 22 operations, each described on its branch: words, captions, visuals (incl. \"rushie\" designed cards: data.rushie {template"},{"name":"rerender_video","description":"[40 credits] [free: captions_only once per paid render; a missed length target once] A new film from the video's current storyboard, without re-planning, plus a"},{"name":"translate_video","description":"[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 "},{"name":"get_site_plan","description":"[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, sou"},{"name":"generate_site_videos","description":"[40 credits] Per video started. One filmed video per get_site_plan idea without one (or the idea_ids given), of its verified page with its sourced brief as focu"},{"name":"create_show","description":"[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. "},{"name":"list_shows","description":"[Free] Reads this account. Lists the shows on this account — or one site's — with their cadence, caps, whether each is confirmed or still held, what it spent to"},{"name":"run_show","description":"[40 credits] Per episode started. Reads the show's feed (or the items given), skips items already made, and — within max_episodes_per_run and max_credits_per_da"},{"name":"update_show","description":"[Free] Changes a show's switch, cadence, caps or name, or moves it to another format or format version. The template itself is edited with update_format, which "},{"name":"create_format","description":"[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 know"},{"name":"update_format","description":"[Free] Changes any of a format's template fields. The result is a NEW version — the previous ones stay exactly as they were, and every episode already made keep"},{"name":"get_format","description":"[Free] The format's current template, its version history and the shows that run it, with each show's pin."},{"name":"list_formats","description":"[Free] The account's formats, newest change first, with versions and the shows running each."},{"name":"fork_format","description":"[Free] A new format whose version 1 is the original's latest version, unpinned from its parent. Edit the copy without touching the original."},{"name":"validate_format","description":"[Free] Compiles the template against a sample item, touching no database or feed: the catalogue checks (voice, music, language, theme…), the scene templates fil"},{"name":"preview_episode","description":"[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 in"},{"name":"verify_episode","description":"[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 l"},{"name":"register_mcp_connection","description":"[Free] Registers (or replaces) a connection by alias: the URL and, optionally, a credential kept encrypted on this account. Formats refer to the alias only, so "},{"name":"create_character","description":"[Free or 40 credits] Names a character so generated clips that name it keep one identity. refs (1 to 3 image URLs on this account) is free; a generate prompt DR"},{"name":"list_characters","description":"[Free] The reusable characters on this account, each with its reference images and description."},{"name":"list_commons_assets","description":"[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 cred"},{"name":"generate_asset","description":"[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. Clip controls a"},{"name":"list_assets","description":"[Free] Your PRIVATE bank: every image, clip and audio file, by origin and subject, with id, URL, brief, tags and facets. Reuse a picture by putting its id in an"},{"name":"list_connections","description":"[Free] Every registered connection with its alias, kind and URL. Credentials are never returned."},{"name":"create_object","description":"[Free] Names a product, logo, packaging, place, vehicle or UI screen from reference images so films keep it identical. Generated pictures take it in data.object"},{"name":"list_objects","description":"[Free] The reusable objects on this account, with reference images, kind and metadata (price, brand, sku)."},{"name":"update_object","description":"[Free] Changes only the fields sent. Media already generated with it is kept until a scene's description changes."},{"name":"delete_object","description":"[Free] Deletes an object by name. Its images stay in your bank and media made with it stays in its films."},{"name":"import_objects","description":"[Free] Creates or replaces up to 50 objects from a product feed. Each image is downloaded (public addresses only) and banked as a reference. Failed rows are lis"},{"name":"save_scene","description":"[Free] Saves a scene for reuse: narration, visual, data, style AND its footage and generated media (a copy). Reusing it — update_storyboard add_scene_from_libra"},{"name":"list_scenes","description":"[Free] Saved scenes, newest first: name, id, visual, aspect, whether footage is kept, the {{placeholders}} each needs as params, and tags."},{"name":"copy_scene","description":"[Free] Copies a scene into another of your videos with its footage and generated media, so nothing is filmed or generated again. A recording cannot change aspec"},{"name":"create_motion","description":"[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, contras"},{"name":"list_motion_templates","description":"[Free] Your saved motion graphics (visual \"motion\") and the commons, with their params. Rushie designed cards: list_motions {rushie}."},{"name":"get_motion_template","description":"[Free] One template with its full spec (layers, motion tokens, declared params)."},{"name":"update_motion_template","description":"[Free] Renames, retags, sets param defaults or visibility, or replaces the spec of a template you wrote. Films already using it keep their picture."},{"name":"get_motion_grammar","description":"[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, timi"},{"name":"validate_motion_spec","description":"[Free] Dry-run a spec: deterministic repairs, schema, params, layout/legibility/contrast/timing on four frames and the motion doctrine. Returns ok, every proble"},{"name":"preview_motion","description":"[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 fr"},{"name":"save_motion_spec","description":"[Free] Saves a spec you wrote as a private template once it passes validate_motion_spec (repairs applied). Returns its id, params schema and the scene JSON that"},{"name":"upload_asset","description":"[Free] Puts a file in your bank from a public https url or small data_base64 (a bigger file you hold: create_upload). Picture or clip → data.asset_id in an imag"},{"name":"create_upload","description":"[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>\". The reply is the asse"},{"name":"list_voices","description":"[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). Every "},{"name":"get_timeline","description":"[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 transit"},{"name":"get_frames","description":"[Free] JPEG stills (≤ 1280 px wide) cut from the finished MP4 at 1–6 moments in seconds, as URLs. Cached per render."},{"name":"set_brand_kit","description":"[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 voice/mu"},{"name":"get_brand_kit","description":"[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."},{"name":"set_account_defaults","description":"[Free] Partial update of the options every film starts from (below a site's brand kit). null clears a field."},{"name":"list_options","description":"[Free] Every enum and range a film accepts (voices, languages, beds, looks, captions, motions, transitions, visuals, aspects, faces, brand kit), the models with"},{"name":"invite_member","description":"[Free] Emails an invite to this workspace with a role, optional site limits and monthly credit cap. Members spend the owner's credits. Seats incl. owner: Free/C"},{"name":"list_members","description":"[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)."},{"name":"update_member","description":"[Free] Changes only the fields sent. Only the owner grants or changes admin and billing."},{"name":"remove_member","description":"[Free] Removes a member or cancels an invite, freeing the seat; your own member id leaves the workspace. Their work stays."},{"name":"create_review_link","description":"[Free] A link to watch the film and, if allowed, comment with no account. Shown once; only its hash is stored."},{"name":"request_approval","description":"[Free] Opens an approval round for the named approvers; supersedes a pending one."},{"name":"approve","description":"[Free] Approves the pending round, as one of its approvers."},{"name":"request_changes","description":"[Free] Closes the pending round as changes requested."},{"name":"list_comments","description":"[Free] Timestamped comments from members and review-link guests, oldest first, and the approval round."},{"name":"add_comment","description":"[Free] Adds a timestamped comment; open comments feed the editor's AI revision."},{"name":"get_audit_log","description":"[Free] Who did what here, newest first: members, spending, review links, approvals, comments."},{"name":"set_webhook","description":"[Free] Sets (or with null clears) the account-wide URL that receives a signed JSON event whenever a render ends. The first time a secret is needed it is created"},{"name":"rotate_webhook_secret","description":"[Free] Replaces the secret completion events are signed with and returns the new one, once. The old secret stops verifying at once, including for retries still "},{"name":"list_revisions","description":"[Free] Every storyboard edit, newest first: what changed and a revision_id. restore_revision puts the storyboard back as it was before one."},{"name":"restore_revision","description":"[Free] Puts the storyboard back as it was before a revision, undoing that edit and every later one. Itself a revision, so it can be undone. Nothing is re-render"},{"name":"update_character","description":"[Free] Changes a character's references, description or name; anything not given is kept. Clips already made keep the look they were made with."},{"name":"delete_character","description":"[Free] Deletes a character by name. Its reference images stay in your bank and clips made with it stay in their films."}],"toolCount":82,"toolsHash":"6f456fe967ab0028908791b4265b1d77293bfdcc77a75a9600fd2b97490e5b2d","serverName":"pagetovid","capabilities":["tools","prompts"],"serverVersion":"0.32.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T01:32:52.715Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":58,"error":null,"detail":{"tools":[{"name":"create_video","description":"[40 credits] [paid plans: + 40 per AI still unless ai_mode none; dry_run quotes] Turns a public web page into a narrated video: AI voiceover, motion graphics, o"},{"name":"create_animation","description":"[40 credits] From content you hold (figures, notes, story), no URL. You write scenes; each drawn, voiced, captioned (list_motions: 25 visuals, some with kinds; "},{"name":"cancel_video","description":"[Free] Stops a running render and refunds its render credit and any AI visual still in flight; AI visuals already made stay (reused free). Use it when get_story"},{"name":"get_video","description":"[Free] Reads this account. The full status of a render: phase and progress while it runs (with poll_after_seconds), then the files, length, credits, warnings an"},{"name":"release_video","description":"[Free] Publishes a video its quality_gate held (status \"held\") as it is: status becomes done. Nothing is re-rendered."},{"name":"get_video_embed","description":"[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 pla"},{"name":"list_models","description":"[Free] Every model this account can generate clips and stills with — capabilities, limits and the exact credit price — before spending anything. Omit model in a"},{"name":"quote_cost","description":"[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 nex"},{"name":"list_video_options","description":"[Free] Lists what create_video accepts: goals, aspect ratios, languages, voices, background music beds (9, each with a family: calm, energetic, serious, playful"},{"name":"list_motions","description":"[Free] How a scene can look: 26 visuals, 817 animations, motions, transitions, fx. Check pairs before writing scenes. New: get_motion_grammar."},{"name":"list_themes","description":"[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 enforce"},{"name":"inspect_page","description":"[Free] Opens a public page in a real browser and ranks what a video could film — calls to action, images, cards, pricing, testimonials, search boxes, headings —"},{"name":"detect_brand","description":"[Free] Reads a public page's design tokens from its live CSS: accent colours, heading typeface, light or dark ground, corner style. Returns a theme ready for cr"},{"name":"get_account","description":"[Free] Reads this account. CALL THIS FIRST: plan, credits, whether AI visuals are available and charged, watermark, revisions, film passes, add-on clips, render"},{"name":"list_videos","description":"[Free] Reads this account. Lists videos newest first with their status and, when finished, their links. Filter by status or by a word in the page URL or title. "},{"name":"get_storyboard","description":"[Free] Reads this account. Returns the scene-by-scene plan of a video: what each scene narrates, its on-screen caption, how long it holds, and whether it is rea"},{"name":"update_storyboard","description":"[Free] Edits a video's storyboard in 22 operations, each described on its branch: words, captions, visuals (incl. \"rushie\" designed cards: data.rushie {template"},{"name":"rerender_video","description":"[40 credits] [free: captions_only once per paid render; a missed length target once] A new film from the video's current storyboard, without re-planning, plus a"},{"name":"translate_video","description":"[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 "},{"name":"get_site_plan","description":"[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, sou"},{"name":"generate_site_videos","description":"[40 credits] Per video started. One filmed video per get_site_plan idea without one (or the idea_ids given), of its verified page with its sourced brief as focu"},{"name":"create_show","description":"[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. "},{"name":"list_shows","description":"[Free] Reads this account. Lists the shows on this account — or one site's — with their cadence, caps, whether each is confirmed or still held, what it spent to"},{"name":"run_show","description":"[40 credits] Per episode started. Reads the show's feed (or the items given), skips items already made, and — within max_episodes_per_run and max_credits_per_da"},{"name":"update_show","description":"[Free] Changes a show's switch, cadence, caps or name, or moves it to another format or format version. The template itself is edited with update_format, which "},{"name":"create_format","description":"[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 know"},{"name":"update_format","description":"[Free] Changes any of a format's template fields. The result is a NEW version — the previous ones stay exactly as they were, and every episode already made keep"},{"name":"get_format","description":"[Free] The format's current template, its version history and the shows that run it, with each show's pin."},{"name":"list_formats","description":"[Free] The account's formats, newest change first, with versions and the shows running each."},{"name":"fork_format","description":"[Free] A new format whose version 1 is the original's latest version, unpinned from its parent. Edit the copy without touching the original."},{"name":"validate_format","description":"[Free] Compiles the template against a sample item, touching no database or feed: the catalogue checks (voice, music, language, theme…), the scene templates fil"},{"name":"preview_episode","description":"[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 in"},{"name":"verify_episode","description":"[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 l"},{"name":"register_mcp_connection","description":"[Free] Registers (or replaces) a connection by alias: the URL and, optionally, a credential kept encrypted on this account. Formats refer to the alias only, so "},{"name":"create_character","description":"[Free or 40 credits] Names a character so generated clips that name it keep one identity. refs (1 to 3 image URLs on this account) is free; a generate prompt DR"},{"name":"list_characters","description":"[Free] The reusable characters on this account, each with its reference images and description."},{"name":"list_commons_assets","description":"[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 cred"},{"name":"generate_asset","description":"[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. Clip controls a"},{"name":"list_assets","description":"[Free] Your PRIVATE bank: every image, clip and audio file, by origin and subject, with id, URL, brief, tags and facets. Reuse a picture by putting its id in an"},{"name":"list_connections","description":"[Free] Every registered connection with its alias, kind and URL. Credentials are never returned."},{"name":"create_object","description":"[Free] Names a product, logo, packaging, place, vehicle or UI screen from reference images so films keep it identical. Generated pictures take it in data.object"},{"name":"list_objects","description":"[Free] The reusable objects on this account, with reference images, kind and metadata (price, brand, sku)."},{"name":"update_object","description":"[Free] Changes only the fields sent. Media already generated with it is kept until a scene's description changes."},{"name":"delete_object","description":"[Free] Deletes an object by name. Its images stay in your bank and media made with it stays in its films."},{"name":"import_objects","description":"[Free] Creates or replaces up to 50 objects from a product feed. Each image is downloaded (public addresses only) and banked as a reference. Failed rows are lis"},{"name":"save_scene","description":"[Free] Saves a scene for reuse: narration, visual, data, style AND its footage and generated media (a copy). Reusing it — update_storyboard add_scene_from_libra"},{"name":"list_scenes","description":"[Free] Saved scenes, newest first: name, id, visual, aspect, whether footage is kept, the {{placeholders}} each needs as params, and tags."},{"name":"copy_scene","description":"[Free] Copies a scene into another of your videos with its footage and generated media, so nothing is filmed or generated again. A recording cannot change aspec"},{"name":"create_motion","description":"[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, contras"},{"name":"list_motion_templates","description":"[Free] Your saved motion graphics (visual \"motion\") and the commons, with their params. Rushie designed cards: list_motions {rushie}."},{"name":"get_motion_template","description":"[Free] One template with its full spec (layers, motion tokens, declared params)."},{"name":"update_motion_template","description":"[Free] Renames, retags, sets param defaults or visibility, or replaces the spec of a template you wrote. Films already using it keep their picture."},{"name":"get_motion_grammar","description":"[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, timi"},{"name":"validate_motion_spec","description":"[Free] Dry-run a spec: deterministic repairs, schema, params, layout/legibility/contrast/timing on four frames and the motion doctrine. Returns ok, every proble"},{"name":"preview_motion","description":"[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 fr"},{"name":"save_motion_spec","description":"[Free] Saves a spec you wrote as a private template once it passes validate_motion_spec (repairs applied). Returns its id, params schema and the scene JSON that"},{"name":"upload_asset","description":"[Free] Puts a file in your bank from a public https url or small data_base64 (a bigger file you hold: create_upload). Picture or clip → data.asset_id in an imag"},{"name":"create_upload","description":"[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>\". The reply is the asse"},{"name":"list_voices","description":"[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). Every "},{"name":"get_timeline","description":"[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 transit"},{"name":"get_frames","description":"[Free] JPEG stills (≤ 1280 px wide) cut from the finished MP4 at 1–6 moments in seconds, as URLs. Cached per render."},{"name":"set_brand_kit","description":"[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 voice/mu"},{"name":"get_brand_kit","description":"[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."},{"name":"set_account_defaults","description":"[Free] Partial update of the options every film starts from (below a site's brand kit). null clears a field."},{"name":"list_options","description":"[Free] Every enum and range a film accepts (voices, languages, beds, looks, captions, motions, transitions, visuals, aspects, faces, brand kit), the models with"},{"name":"invite_member","description":"[Free] Emails an invite to this workspace with a role, optional site limits and monthly credit cap. Members spend the owner's credits. Seats incl. owner: Free/C"},{"name":"list_members","description":"[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)."},{"name":"update_member","description":"[Free] Changes only the fields sent. Only the owner grants or changes admin and billing."},{"name":"remove_member","description":"[Free] Removes a member or cancels an invite, freeing the seat; your own member id leaves the workspace. Their work stays."},{"name":"create_review_link","description":"[Free] A link to watch the film and, if allowed, comment with no account. Shown once; only its hash is stored."},{"name":"request_approval","description":"[Free] Opens an approval round for the named approvers; supersedes a pending one."},{"name":"approve","description":"[Free] Approves the pending round, as one of its approvers."},{"name":"request_changes","description":"[Free] Closes the pending round as changes requested."},{"name":"list_comments","description":"[Free] Timestamped comments from members and review-link guests, oldest first, and the approval round."},{"name":"add_comment","description":"[Free] Adds a timestamped comment; open comments feed the editor's AI revision."},{"name":"get_audit_log","description":"[Free] Who did what here, newest first: members, spending, review links, approvals, comments."},{"name":"set_webhook","description":"[Free] Sets (or with null clears) the account-wide URL that receives a signed JSON event whenever a render ends. The first time a secret is needed it is created"},{"name":"rotate_webhook_secret","description":"[Free] Replaces the secret completion events are signed with and returns the new one, once. The old secret stops verifying at once, including for retries still "},{"name":"list_revisions","description":"[Free] Every storyboard edit, newest first: what changed and a revision_id. restore_revision puts the storyboard back as it was before one."},{"name":"restore_revision","description":"[Free] Puts the storyboard back as it was before a revision, undoing that edit and every later one. Itself a revision, so it can be undone. Nothing is re-render"},{"name":"update_character","description":"[Free] Changes a character's references, description or name; anything not given is kept. Clips already made keep the look they were made with."},{"name":"delete_character","description":"[Free] Deletes a character by name. Its reference images stay in your bank and clips made with it stay in their films."}],"toolCount":82,"toolsHash":"6f456fe967ab0028908791b4265b1d77293bfdcc77a75a9600fd2b97490e5b2d","serverName":"pagetovid","capabilities":["tools","prompts"],"serverVersion":"0.32.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"create_video","description":"[40 credits] [paid plans: + 40 per AI still unless ai_mode none; dry_run quotes] Turns a public web page into a narrated video: AI voiceover, motion graphics, o"},{"name":"create_animation","description":"[40 credits] From content you hold (figures, notes, story), no URL. You write scenes; each drawn, voiced, captioned (list_motions: 25 visuals, some with kinds; "},{"name":"cancel_video","description":"[Free] Stops a running render and refunds its render credit and any AI visual still in flight; AI visuals already made stay (reused free). Use it when get_story"},{"name":"get_video","description":"[Free] Reads this account. The full status of a render: phase and progress while it runs (with poll_after_seconds), then the files, length, credits, warnings an"},{"name":"release_video","description":"[Free] Publishes a video its quality_gate held (status \"held\") as it is: status becomes done. Nothing is re-rendered."},{"name":"get_video_embed","description":"[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 pla"},{"name":"list_models","description":"[Free] Every model this account can generate clips and stills with — capabilities, limits and the exact credit price — before spending anything. Omit model in a"},{"name":"quote_cost","description":"[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 nex"},{"name":"list_video_options","description":"[Free] Lists what create_video accepts: goals, aspect ratios, languages, voices, background music beds (9, each with a family: calm, energetic, serious, playful"},{"name":"list_motions","description":"[Free] How a scene can look: 26 visuals, 817 animations, motions, transitions, fx. Check pairs before writing scenes. New: get_motion_grammar."},{"name":"list_themes","description":"[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 enforce"},{"name":"inspect_page","description":"[Free] Opens a public page in a real browser and ranks what a video could film — calls to action, images, cards, pricing, testimonials, search boxes, headings —"},{"name":"detect_brand","description":"[Free] Reads a public page's design tokens from its live CSS: accent colours, heading typeface, light or dark ground, corner style. Returns a theme ready for cr"},{"name":"get_account","description":"[Free] Reads this account. CALL THIS FIRST: plan, credits, whether AI visuals are available and charged, watermark, revisions, film passes, add-on clips, render"},{"name":"list_videos","description":"[Free] Reads this account. Lists videos newest first with their status and, when finished, their links. Filter by status or by a word in the page URL or title. "},{"name":"get_storyboard","description":"[Free] Reads this account. Returns the scene-by-scene plan of a video: what each scene narrates, its on-screen caption, how long it holds, and whether it is rea"},{"name":"update_storyboard","description":"[Free] Edits a video's storyboard in 22 operations, each described on its branch: words, captions, visuals (incl. \"rushie\" designed cards: data.rushie {template"},{"name":"rerender_video","description":"[40 credits] [free: captions_only once per paid render; a missed length target once] A new film from the video's current storyboard, without re-planning, plus a"},{"name":"translate_video","description":"[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 "},{"name":"get_site_plan","description":"[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, sou"},{"name":"generate_site_videos","description":"[40 credits] Per video started. One filmed video per get_site_plan idea without one (or the idea_ids given), of its verified page with its sourced brief as focu"},{"name":"create_show","description":"[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. "},{"name":"list_shows","description":"[Free] Reads this account. Lists the shows on this account — or one site's — with their cadence, caps, whether each is confirmed or still held, what it spent to"},{"name":"run_show","description":"[40 credits] Per episode started. Reads the show's feed (or the items given), skips items already made, and — within max_episodes_per_run and max_credits_per_da"},{"name":"update_show","description":"[Free] Changes a show's switch, cadence, caps or name, or moves it to another format or format version. The template itself is edited with update_format, which "},{"name":"create_format","description":"[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 know"},{"name":"update_format","description":"[Free] Changes any of a format's template fields. The result is a NEW version — the previous ones stay exactly as they were, and every episode already made keep"},{"name":"get_format","description":"[Free] The format's current template, its version history and the shows that run it, with each show's pin."},{"name":"list_formats","description":"[Free] The account's formats, newest change first, with versions and the shows running each."},{"name":"fork_format","description":"[Free] A new format whose version 1 is the original's latest version, unpinned from its parent. Edit the copy without touching the original."},{"name":"validate_format","description":"[Free] Compiles the template against a sample item, touching no database or feed: the catalogue checks (voice, music, language, theme…), the scene templates fil"},{"name":"preview_episode","description":"[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 in"},{"name":"verify_episode","description":"[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 l"},{"name":"register_mcp_connection","description":"[Free] Registers (or replaces) a connection by alias: the URL and, optionally, a credential kept encrypted on this account. Formats refer to the alias only, so "},{"name":"create_character","description":"[Free or 40 credits] Names a character so generated clips that name it keep one identity. refs (1 to 3 image URLs on this account) is free; a generate prompt DR"},{"name":"list_characters","description":"[Free] The reusable characters on this account, each with its reference images and description."},{"name":"list_commons_assets","description":"[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 cred"},{"name":"generate_asset","description":"[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. Clip controls a"},{"name":"list_assets","description":"[Free] Your PRIVATE bank: every image, clip and audio file, by origin and subject, with id, URL, brief, tags and facets. Reuse a picture by putting its id in an"},{"name":"list_connections","description":"[Free] Every registered connection with its alias, kind and URL. Credentials are never returned."},{"name":"create_object","description":"[Free] Names a product, logo, packaging, place, vehicle or UI screen from reference images so films keep it identical. Generated pictures take it in data.object"},{"name":"list_objects","description":"[Free] The reusable objects on this account, with reference images, kind and metadata (price, brand, sku)."},{"name":"update_object","description":"[Free] Changes only the fields sent. Media already generated with it is kept until a scene's description changes."},{"name":"delete_object","description":"[Free] Deletes an object by name. Its images stay in your bank and media made with it stays in its films."},{"name":"import_objects","description":"[Free] Creates or replaces up to 50 objects from a product feed. Each image is downloaded (public addresses only) and banked as a reference. Failed rows are lis"},{"name":"save_scene","description":"[Free] Saves a scene for reuse: narration, visual, data, style AND its footage and generated media (a copy). Reusing it — update_storyboard add_scene_from_libra"},{"name":"list_scenes","description":"[Free] Saved scenes, newest first: name, id, visual, aspect, whether footage is kept, the {{placeholders}} each needs as params, and tags."},{"name":"copy_scene","description":"[Free] Copies a scene into another of your videos with its footage and generated media, so nothing is filmed or generated again. A recording cannot change aspec"},{"name":"create_motion","description":"[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, contras"},{"name":"list_motion_templates","description":"[Free] Your saved motion graphics (visual \"motion\") and the commons, with their params. Rushie designed cards: list_motions {rushie}."},{"name":"get_motion_template","description":"[Free] One template with its full spec (layers, motion tokens, declared params)."},{"name":"update_motion_template","description":"[Free] Renames, retags, sets param defaults or visibility, or replaces the spec of a template you wrote. Films already using it keep their picture."},{"name":"get_motion_grammar","description":"[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, timi"},{"name":"validate_motion_spec","description":"[Free] Dry-run a spec: deterministic repairs, schema, params, layout/legibility/contrast/timing on four frames and the motion doctrine. Returns ok, every proble"},{"name":"preview_motion","description":"[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 fr"},{"name":"save_motion_spec","description":"[Free] Saves a spec you wrote as a private template once it passes validate_motion_spec (repairs applied). Returns its id, params schema and the scene JSON that"},{"name":"upload_asset","description":"[Free] Puts a file in your bank from a public https url or small data_base64 (a bigger file you hold: create_upload). Picture or clip → data.asset_id in an imag"},{"name":"create_upload","description":"[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>\". The reply is the asse"},{"name":"list_voices","description":"[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). Every "},{"name":"get_timeline","description":"[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 transit"},{"name":"get_frames","description":"[Free] JPEG stills (≤ 1280 px wide) cut from the finished MP4 at 1–6 moments in seconds, as URLs. Cached per render."},{"name":"set_brand_kit","description":"[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 voice/mu"},{"name":"get_brand_kit","description":"[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."},{"name":"set_account_defaults","description":"[Free] Partial update of the options every film starts from (below a site's brand kit). null clears a field."},{"name":"list_options","description":"[Free] Every enum and range a film accepts (voices, languages, beds, looks, captions, motions, transitions, visuals, aspects, faces, brand kit), the models with"},{"name":"invite_member","description":"[Free] Emails an invite to this workspace with a role, optional site limits and monthly credit cap. Members spend the owner's credits. Seats incl. owner: Free/C"},{"name":"list_members","description":"[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)."},{"name":"update_member","description":"[Free] Changes only the fields sent. Only the owner grants or changes admin and billing."},{"name":"remove_member","description":"[Free] Removes a member or cancels an invite, freeing the seat; your own member id leaves the workspace. Their work stays."},{"name":"create_review_link","description":"[Free] A link to watch the film and, if allowed, comment with no account. Shown once; only its hash is stored."},{"name":"request_approval","description":"[Free] Opens an approval round for the named approvers; supersedes a pending one."},{"name":"approve","description":"[Free] Approves the pending round, as one of its approvers."},{"name":"request_changes","description":"[Free] Closes the pending round as changes requested."},{"name":"list_comments","description":"[Free] Timestamped comments from members and review-link guests, oldest first, and the approval round."},{"name":"add_comment","description":"[Free] Adds a timestamped comment; open comments feed the editor's AI revision."},{"name":"get_audit_log","description":"[Free] Who did what here, newest first: members, spending, review links, approvals, comments."},{"name":"set_webhook","description":"[Free] Sets (or with null clears) the account-wide URL that receives a signed JSON event whenever a render ends. The first time a secret is needed it is created"},{"name":"rotate_webhook_secret","description":"[Free] Replaces the secret completion events are signed with and returns the new one, once. The old secret stops verifying at once, including for retries still "},{"name":"list_revisions","description":"[Free] Every storyboard edit, newest first: what changed and a revision_id. restore_revision puts the storyboard back as it was before one."},{"name":"restore_revision","description":"[Free] Puts the storyboard back as it was before a revision, undoing that edit and every later one. Itself a revision, so it can be undone. Nothing is re-render"},{"name":"update_character","description":"[Free] Changes a character's references, description or name; anything not given is kept. Clips already made keep the look they were made with."},{"name":"delete_character","description":"[Free] Deletes a character by name. Its reference images stay in your bank and clips made with it stay in their films."}],"package":null,"toolSurface":{"id":"ts_vdb9q3mfgvx5","endpointId":"ep_sjv42ehdt4dh","hash":"6f456fe967ab0028908791b4265b1d77293bfdcc77a75a9600fd2b97490e5b2d","toolCount":82,"serverName":"pagetovid","serverVersion":"0.32.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-22T01:32:52.723Z","lastSeenAt":"2026-10-22T15:32:53.261Z","observations":3,"toolNames":["create_video","create_animation","cancel_video","get_video","release_video","get_video_embed","list_models","quote_cost","list_video_options","list_motions","list_themes","inspect_page","detect_brand","get_account","list_videos","get_storyboard","update_storyboard","rerender_video","translate_video","get_site_plan","generate_site_videos","create_show","list_shows","run_show","update_show","create_format","update_format","get_format","list_formats","fork_format","validate_format","preview_episode","verify_episode","register_mcp_connection","create_character","list_characters","list_commons_assets","generate_asset","list_assets","list_connections","create_object","list_objects","update_object","delete_object","import_objects","save_scene","list_scenes","copy_scene","create_motion","list_motion_templates","get_motion_template","update_motion_template","get_motion_grammar","validate_motion_spec","preview_motion","save_motion_spec","upload_asset","create_upload","list_voices","get_timeline","get_frames","set_brand_kit","get_brand_kit","set_account_defaults","list_options","invite_member","list_members","update_member","remove_member","create_review_link","request_approval","approve","request_changes","list_comments","add_comment","get_audit_log","set_webhook","rotate_webhook_secret","list_revisions","restore_revision","update_character","delete_character"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_sjv42ehdt4dh","url":"https://pagetovid.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-22T01:32:52.760Z","auth":{"observedAt":"2026-10-22T01:32:52.806Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://pagetovid.com/.well-known/oauth-protected-resource/mcp","resource":"https://pagetovid.com/mcp","authorizationServers":["https://pagetovid.com"],"scopesSupported":["videos:read","videos:write","videos:delete","account:read"]},"authorizationServer":{"url":"https://pagetovid.com/.well-known/oauth-authorization-server","issuer":"https://pagetovid.com","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":true},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":true,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-22T01:32:52.827Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"pagetovid.com","issuer":{"commonName":"WR3","organization":"Google Trust Services"},"validFrom":"2026-10-14T09:39:46.000Z","validTo":"2027-01-12T10:28:15.000Z","daysToExpiry":81,"sanCount":1,"fingerprint256":"79:12:75:84:E8:EC:44:35:31:C5:DD:A5:96:10:C9:9D:D8:0D:82:E0:48:8D:9C:76:74:65:B9:4D:D0:A4:9C:2C"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.pagetovid/pagetovid","url":"https://registry.modelcontextprotocol.io/v0/servers/com.pagetovid%2Fpagetovid","firstSeenAt":"2026-10-22T00:23:16.546Z","fetchedAt":"2026-10-22T00:23:16.546Z","normalizedAt":"2026-10-22T00:23:16.546Z"}]},"firstSeenAt":"2026-10-22T00:23:16.546Z","updatedAt":"2026-10-22T15:38:19.398Z"}