MCP App Store
by KeenEthics

Overview

Wevi makes short marketing videos for software products: launch videos, feature explainers, product showcases, social promos and call-to-action outros. Every scene is a published motion template, about 3 to 15 seconds long, whose text, colors, logo and image slots are filled for the product. Scenes that show real product UI are captured from the live page. Wevi renders each scene in the cloud and joins them into one MP4 with background music and an AI voiceover. How it works in ChatGPT - Describe the product and the goal of the video. Wevi reads the product's own pages, plans a storyboard against its template library with templates that fit the interface on screen, and shows the plan for approval before anything is built. - Scenes that need real product UI are captured in a live browser: Wevi opens the page, moves to the right view, and cuts the chosen components onto their own layer over a clean background. Private apps work too: you sign in yourself in that browser session, and Wevi never asks for or types a password. - The logo, colors and fonts come from the product's website. Narration is written to fit each scene, music and a voice are chosen for the brand's tone, and the cut between scenes is matched automatically. - After rendering, Wevi looks at the rendered scenes, flags a tiny logo, cut-off text or placeholder copy, and fixes them before the video is shared. - Revise without rebuilding: change a scene's copy, swap a template, add, remove or reorder scenes. Only changed scenes re-render. What Wevi cannot do Generate free-form or generative footage (no people, characters, animals or scenery), edit your own video files, change a template's animation or layout, mix aspect ratios in one video, output vertical video, or clone a specific voice. Account Requires a Wevi account at wevi.ai; sign in with it the first time you use the plugin in ChatGPT.

Tools

wevi_add_scene

ChatGPT
Add one scene to an existing project (same aspect ratio as the others). Parameters you leave unset are auto-filled like on create; capture templates then need wevi_capture_scene.

wevi_add_sound

ChatGPT
Adds a library sound at a moment of a scene: the scene, seconds into its clip, and the sound. A sound belongs on something that happens on screen at that moment; the library sound whose name matches that action fits best. Typing, ticks or scrolling run for lengthSeconds (the sound repeats to fill it). Sound effects must be on (subtle or full). Returns the sound design as it now plays, with its advice.

wevi_capture_from_image

ChatGPT
Use a still image (e.g. a screenshot the user shared, hosted at a public URL) as a scene's captured page. Works for templates whose whole background is the page (uiCaptureSlots.fullPageBackground). Templates that animate individual elements need the live page: use wevi_capture_scene instead. Free.

wevi_capture_scene

ChatGPT
Capture a live web page into a scene whose template needs a UI capture (requiresUiCapture = true). The capture is made by Wevi's own capture service (Wevi Capture API: https://docs.wevi.ai/docs/tools-reference); no third-party API is called. Loads the URL (or captures the current view of an open session, after any wevi_go_to, wevi_click or wevi_scroll there), detects UI components, auto-selects the best ones, frames the view on them (zoom + scroll), recaptures a clean background with them hidden, and makes the scene render-ready. On a page nobody scrolled, Wevi looks down the whole page (scrolling through it view by view) and captures the view whose components suit the scene best; lookedDown in the result says where. A view you scrolled to yourself is kept, and selectors are brought into view wherever they are on the page. Steer the choice with focus keywords (e.g. 'pricing table'): they rank the components, and when Wevi looks down the page they take it to the part of the page about them. Or name exact CSS selectors. If the result is not right, call wevi_select_capture with ids from candidates. Costs credits (see costs in wevi_get_credits; none on sandbox keys); re-picking with wevi_select_capture is free. Use the URL of the product page that best illustrates the scene's message.

wevi_capture_web_ui

ChatGPT
Take a standalone screenshot of a URL with Wevi's own capture service (Wevi Capture API: https://docs.wevi.ai/docs/tools-reference) and get an image URL back, for templates with a plain image slot (logo/avatar/background). For templates that need a UI capture, use wevi_capture_scene instead. Costs credits (see costs in wevi_get_credits; none on sandbox keys).

wevi_change_sound

ChatGPT
Changes one sound by its key from wevi_get_sound_design: another library sound (the one whose name matches what happens at that moment), its level against the plan, its moment, and for typing, ticks or scrolling how long it runs (the sound repeats to fill it). Values are set against the plan, not stepped: levelDb 0 is as planned, -3 a clear step quieter, +3 louder; nudgeSeconds 0 is on the planned moment, within 2 seconds either way. Returns the sound design as it now plays, with its advice.

wevi_click

ChatGPT
Click an element inside an open browser session (a tab, a menu, a button, a link) and return the resulting outline and screenshot. Name it by CSS selector or by its visible text. To open a dropdown or menu by text, set opensMenu so the control that opens it is clicked rather than a row showing its value. Steps that look like payments, purchases, deletions or account changes are refused; at most 150 steps per session.

wevi_close_page

ChatGPT
Close a browser session opened with wevi_open_page (or kept open by wevi_capture_scene).

wevi_create_project

ChatGPT
Create a Wevi video project from one or more published templates. Pass ALL scenes of the video in scenes (in order) — they are rendered and exported together as ONE concatenated video. A video is one project with all its scenes; a project per scene gives separate videos. All templates must share the same aspectRatio. Templates with requiresUiCapture need wevi_capture_scene afterwards; the response lists them under scenesNeedingCapture. Pass brand.websiteUrl (ask the user for the product's site if unknown) so logo, app-logo, avatar and color layers are filled automatically; the call is refused with the missing slots when a logo layer cannot be filled. The aspect ratio is taken from the templates automatically.

wevi_generate_storyboard

ChatGPT
Plan a storyboard against the published templates from a brief: scene order and purpose, one template per scene (all from one aspect ratio), narration already inside each scene's voiceover budget, on-screen text mapped to the template's text layers, and which scenes need a UI capture. For a product video, open the product page first (wevi_open_page) and pass its sessionId: templates are then chosen for the interface actually on the page, and the response says which scene shows what (productUi). Returns createPayload: send it to wevi_create_project as-is (add brand.websiteUrl if the draft asks for it). Costs credits (see costs in wevi_get_credits; none on sandbox keys) and takes 20-60 seconds.

wevi_get_capabilities

ChatGPT
What Wevi can and cannot make, the questions to ask the user before building, supported aspect ratios, free-account and sandbox limits, and credit costs. Useful at the start of a conversation and whenever a request sounds outside Wevi's scope (e.g. 'make a dance video', 'edit my footage', 'vertical video'). No API call is made.

wevi_get_credits

ChatGPT
Show the account's credit balance: plan credits used and left, credits rolled over from last month, purchased credits, credits set aside for a video in progress, whether the account has paid access, this key's own monthly cap when it has one, and what each action costs. The Wevi studio, its agent and API keys all spend from this one balance. Call it before a large batch, or when a tool fails with 402. Sandbox keys (wevi_test_) never spend credits.

wevi_get_project

ChatGPT
Inspect an existing Wevi project: scenes, layer values, lifecycle status and render state.

wevi_get_render_status

ChatGPT
Check render + export progress for a project started with wevi_trigger_render and get the final video URL when ready. Optionally waits up to waitSeconds before returning. Pass exportId instead to look up a single export record. Checking also moves the job on: once every scene has rendered, it starts the export that wevi_trigger_render asked for.

wevi_get_scene_previews

ChatGPT
Per-scene render results for a project: state, a preview video URL per rendered scene, and the error for failed ones. Use it to check one scene before exporting or after wevi_update_scene. Like wevi_get_render_status, checking starts the requested export once every scene has rendered.

wevi_get_sound_design

ChatGPT
Lists a project's sound effects as they will play in its video, planned for its scenes and narration: each sound's key, scene, moment (seconds into the scene), what happens there, the library sound and its level; the sounds taken out; the library; and advice, the problems a sound designer would fix in the sound as it now plays (empty when the sound is right). Wevi plans a project's sound effects by the rules a sound designer keeps: a sound only on a moment the eye follows; the library sound that matches what happens there (a payment confirmed, a chat message, a headline landing); whooshes only on cuts that move the story on or move fast, not on cuts where the same thought carries on, the voice runs across or both sides are calm; a hit on the opening title and a soft hit on the logo on the full treatment; every sound under the voice; one sound for each action through the video; at most three sounds in any second (two on a light touch); levels matched for how loud each sound is. The plan stands on its own; single sounds change only for a reason, such as the user asking or the advice pointing at a problem. Nothing is listed while sound effects are off (wevi_set_sound_effects turns them on).

wevi_get_template_schema

ChatGPT
Inspect the editable parameters (layer keys) of a published template: text, colors, sliders, toggles, dropdown options, media. Call this before wevi_create_project so the parameters you pass use exact layer keys and valid values.

wevi_go_back

ChatGPT
Go back one page inside an open browser session and return the resulting outline and screenshot.

wevi_go_to

ChatGPT
Go to a URL inside an open browser session and return the page's outline, a screenshot of the view it lands on and an overview picture of the rest of the page. The page is loaded by Wevi's own browser service (Wevi Browse API: https://docs.wevi.ai/docs/tools-reference). Use it to reach one of the app's own views (routes from wevi_open_page or wevi_wait_for_login) or another page of the same site before capturing. Only http(s) pages; the session stays on the site it was opened for plus sites reached this way.

wevi_hover

ChatGPT
Move the pointer over an element inside an open browser session, so what shows on hover (a tooltip, a menu that opens on hover) is on screen, and return the resulting outline and screenshot.

wevi_list_brands

ChatGPT
Brands saved on this account (name, website, logo, colors). Pass one as brandId to wevi_create_project to reuse it instead of the latest.

wevi_list_music

ChatGPT
Background music tracks in the Wevi library with mood and genre tags. Pass a track id as musicTrackId to wevi_trigger_render; without one Wevi picks a track matching the brand's tone. Choosing a track is for accounts with paid access (paidAccess in wevi_get_credits); free accounts get Wevi's pick.

wevi_list_templates

ChatGPT
List PUBLISHED Wevi video templates (only published templates can be used in projects). One call returns the whole library in story order (hook first, call to action last): read all of it and pick the best fit for each scene, not the first entries. Filter by aspect ratio, category or keyword. Every scene in one project must share the same aspectRatio, so pick all templates for a video from a single aspectRatio group. Templates with requiresUiCapture=true show real product UI: after creating the project, capture a page into those scenes with wevi_capture_scene.

wevi_list_voices

ChatGPT
Narrator voices with tags and preview clips. Pass a voice id as voiceId to wevi_trigger_render; without one the default narrator is used. Choosing a voice is for accounts with paid access (paidAccess in wevi_get_credits); free accounts get the default narrator.

wevi_open_page

ChatGPT
Open a live browser session on a page and return its outline (headings, links, sections, scroll state), a small screenshot of the view it opens on, and an overview picture of the rest of the page as it scrolls down (Wevi looks down the page for you; productUi counts what is further down too). The page is opened by Wevi's own browser service (Wevi Browse API: https://docs.wevi.ai/docs/tools-reference); no third-party API is called. The outline's productUi lists the interface a scene could be built around (a prompt box, a chat thread, a grid of cards…), most prominent first; pick templates whose fitsUi names the same kind, or pass the sessionId to wevi_generate_storyboard and it does that for you. Use it to look before capturing: move around with wevi_go_to, wevi_click and wevi_scroll, then wevi_capture_scene with the sessionId. Pass projectId and sceneId so the viewport matches that scene's template. Browser time past a free allowance costs credits (rules in wevi_get_credits; none on sandbox keys). Sessions close after 10 minutes idle (idle time is not billed); call wevi_close_page when done.

wevi_press_key

ChatGPT
Press a key inside an open browser session (Escape to close a dialog, Enter to submit, Tab to move on) and return the resulting outline and screenshot. Steps that look like payments, purchases, deletions or account changes are refused; at most 150 steps per session.

wevi_remove_scene

ChatGPT
Remove one scene from a project; the remaining scenes close the gap. The next publish exports without it.

wevi_remove_sounds

ChatGPT
Takes sounds out by their keys from wevi_get_sound_design. They stay listed under removed and wevi_restore_sounds puts them back. Returns the sound design as it now plays, with its advice.

wevi_reorder_scenes

ChatGPT
Set the order of all scenes in a project. Pass every scene id exactly once, in the new order.

wevi_restore_sounds

ChatGPT
Puts sounds that were taken out back, by their keys; with all set, undoes every change to single sounds (taken out, changed or added) and returns to Wevi's plan. Returns the sound design as it now plays, with its advice.

wevi_scroll

ChatGPT
Scroll an open browser session to an element, to a position in pixels, or to a share of the page, and return the resulting outline and screenshot. Long pages keep their best cards, tables and widgets below the fold; scroll before judging a page thin.

wevi_select_capture

ChatGPT
Pick different components from a capture returned by wevi_capture_scene (use captureId and ids from candidates). No page reload, no credit.

wevi_set_sound_effects

ChatGPT
Sets how much sound design a project gets, its character and its volume, saved on the project for the studio preview and every export; it costs nothing. Level: subtle suits most product videos (explainers, walkthroughs, business and serious products); full suits a launch, a trailer or a hype video; off suits a calm or personal piece, or a user who wants none. Style, matched to the music: clean (light air and soft accents, the default), cinematic (deep whooshes and booms for a dramatic launch), playful (quick swishes and pops for a light consumer product), tech (digital glitches and blips for developer tools and AI products). Returns the sound design as it now plays, with its advice.

wevi_swap_template

ChatGPT
Switch one scene to another published template (same aspect ratio). Matching parameters carry over, the rest is auto-filled; the response lists dropped keys. Capture templates then need wevi_capture_scene.

wevi_trigger_render

ChatGPT
Render every scene of a project and export them as ONE concatenated MP4 (music + voiceover mixed in). Waits up to waitSeconds for completion; if the video is not ready yet it returns the current phase and you should poll wevi_get_render_status. Costs credits for each scene it renders (unchanged scenes are not rendered again) plus the export by its quality (see costs in wevi_get_credits). A free account's video has a length limit (rules.freeVideoMaxSeconds in wevi_get_credits) and exports at 720p with a watermark; a longer one is refused (FREE_VIDEO_TOO_LONG), so remove a scene to fit. Sandbox keys (wevi_test_) never spend credits: they produce watermarked 720p videos, capped at 20 scene renders and 5 exports per key per UTC day and 4 scenes per project. Sound design with soundEffects and soundStyle, planned by Wevi for the scenes and the narration: the matching library sound on each moment the eye follows (a click, a payment confirmed, a message popping in, text landing), whooshes only on the cuts that move the story on or move fast, accents on the title and the logo, all kept under the voice. It costs nothing extra; wevi_get_sound_design lists every sound with advice. A failed export is started again, not charged twice, when you call this again with the same options.

wevi_type

ChatGPT
Type into a field inside an open browser session (a search box, a filter, a form field) and return the resulting outline and screenshot. Passwords are refused: when a page needs a login, the user signs in at loginUrl themselves and wevi_wait_for_login reports when they are done. Steps that look like payments, purchases, deletions or account changes are refused; at most 150 steps per session.

wevi_update_scene

ChatGPT
Change one scene of an existing project: layer parameters (merged over current values), narration or title. Use it to fix a failed scene (e.g. set a logo image URL) instead of rebuilding the project; the next wevi_trigger_render re-renders only scenes whose inputs changed.

wevi_wait

ChatGPT
Wait inside an open browser session, for a number of milliseconds or until an element appears (an app that draws its content after it loads), and return the resulting outline and screenshot.

wevi_wait_for_login

ChatGPT
Wait for the user to finish signing in on loginUrl (the live page of an open session), then return the signed-in page's outline and the app's routes. Call it right after sending the user loginUrl. Returns as soon as the user presses 'I am signed in' or the sign-in screen goes away; gives up after timeoutSeconds with signedIn=false (call again if the user is still at it). Passwords are never requested or typed; the user signs in themselves.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps