Skip to content
Expo Agent Kit

Tools reference

10 video tools, in addition to every app_* tool from expo-mcp-bridge.

Jump to: video_record · video_capture · video_capture_tap · video_plan · video_edit · video_timeline · video_studio · video_wait_for_prompt · video_reply · video_render

Shoot

video_record

Screen-record the phone (~10–15 fps). Opens the page on camera, holds while it loads, scrolls; or taps mid-take (taps become pop-outs).

ParamTypeDescription
routestringPage to open; the opening is recorded live
namestringTake name
secondsnumber1–15, default 4
scrollboolean | numberScroll smoothly (true, or distance in dp)
scrollFromnumberWhen scrolling starts (fraction), default 0.5 with a route
tapstringVisible text of an element to tap mid-take
tapAtnumberSecond of the tap (default halfway)
liveLoadbooleanRecord the page opening (default true with a route)

video_capture

High-res stills + full-page scroll captures, for one or many routes in one call.

ParamTypeDescription
routesstring[]e.g. ["/dashboard", "/analytics"]
namestringName for the current screen
scrollbooleanCapture scroll content (default true)

video_capture_tap

Before / tap / after stills of an interaction.

ParamTypeDescription
refstringRef from the last snapshot, e.g. "e4" (stable between snapshots)
testIDstringThe element's testID prop
textstringVisible label or placeholder (exact match first, then contains)
namestringName for the screen before the tap

Direct

video_plan

Auto-plan the whole timeline: intro, one scene per take with timing, zooms, scroll speed-ups, captions, chips and pop-outs, outro.

ParamTypeDescription
targetSecondsnumberDesired length
format"landscape" | "portrait" | "square"16:9, 9:16, 1:1
appNamestringIntro title
taglinestringIntro subtitle
ctastringOutro button

video_edit

Edit anything with a list of ops: update, move, remove, add, drop, settings, plan.

ParamTypeDescription
opsarraySee the operations table below

video_timeline

The whole plan in a few lines (cheap to read).

No parameters.

Studio

video_studio

Open the studio in the browser.

ParamTypeDescription
openbooleanOpen the browser (default true)

video_wait_for_prompt

Wait for what the user types in the studio (with the scene they're looking at).

ParamTypeDescription
timeoutSecondsnumberDefault 600

video_reply

Show a short message in the studio chat.

ParamTypeDescription
textstringMessage

Deliver

video_render

Export the MP4 (H.264 + AAC sound) and return its path.

No parameters.

Edit operations

Scenes are referenced by id ("s3"), 1-based position, or a screen name / route ("dashboard").

opFieldsExample
updatescene, duration, speed, title, subtitle, transition, focus, zoom, zoomTimes, scroll, callouts, popouts{op:"update", scene:"dashboard", title:"Your prep at a glance", speed:1.5}
movescene, to | before | after{op:"move", scene:"faq", after:"help"}
removescene{op:"remove", scene:3}
addasset, at?{op:"add", asset:"/pricing"}
dropasset{op:"drop", asset:"a14"} // discard a bad take
settingsformat, appName, tagline, cta, captionSide, theme, sound{op:"settings", format:"portrait", captionSide:"right", sound:{volume:0.6}}
plantargetSeconds?{op:"plan", targetSeconds:30}