wevi_add_scene
ChatGPTAdd 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
ChatGPTAdds 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
ChatGPTUse 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
ChatGPTCapture 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
ChatGPTTake 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
ChatGPTChanges 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
ChatGPTClick 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
ChatGPTClose a browser session opened with wevi_open_page (or kept open by wevi_capture_scene).
wevi_create_project
ChatGPTCreate 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
ChatGPTPlan 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
ChatGPTWhat 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
ChatGPTShow 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
ChatGPTInspect an existing Wevi project: scenes, layer values, lifecycle status and render state.
wevi_get_render_status
ChatGPTCheck 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
ChatGPTPer-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
ChatGPTLists 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
ChatGPTInspect 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
ChatGPTGo back one page inside an open browser session and return the resulting outline and screenshot.
wevi_go_to
ChatGPTGo 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
ChatGPTMove 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
ChatGPTBrands 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
ChatGPTBackground 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
ChatGPTList 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
ChatGPTNarrator 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
ChatGPTOpen 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
ChatGPTPress 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
ChatGPTRemove one scene from a project; the remaining scenes close the gap. The next publish exports without it.
wevi_remove_sounds
ChatGPTTakes 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
ChatGPTSet the order of all scenes in a project. Pass every scene id exactly once, in the new order.
wevi_restore_sounds
ChatGPTPuts 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
ChatGPTScroll 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
ChatGPTPick 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
ChatGPTSets 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
ChatGPTSwitch 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
ChatGPTRender 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
ChatGPTType 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
ChatGPTChange 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
ChatGPTWait 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
ChatGPTWait 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.