Motion Video

A muted video on the film clock. Inside a motion_timeline a track drives its progress p from 0 to 1 and the video seeks to from + p * (to - from), so scrubbing and frame export are exact; standalone it plays muted and loops. Made for screen recordings inside motion_device, with the motion design around them. Encode with short keyframe intervals for smooth seeking.

Surfaces
webgoogle-meet-stagegoogle-apps-script-webmcp-appsandroid
Degraded on
SurfaceNote
pdfPrints the poster, or an empty frame without one; no motion
Live preview
Fields
FieldTypeRequired
urlstring. https URL or a /-rooted path to an mp4 or webm (no data URLs). Otherwise a placeholder shows.required
posterstring. https URL or /-rooted image path shown before the first frame.optional
fromnumber. Seconds into the video at p = 0, 0-3600. Default 0.optional
tonumber. Seconds at p = 1, 0-3600. Default the end of the video.optional
ratio"16:9" | "4:3" | "1:1" | "3:4" | "9:16" | "9:19.5" (optional, default "16:9"). 9:19.5 is a modern phone screen.optional
fit"cover" | "contain" (optional, default "cover")optional
radiusinteger. Corner px, 0-60. Default 12.optional
stillbool. Standalone, hold the first frame instead of playing. Default false.optional
labelstring (optional, max 80). Accessible name. Default "Video".optional
Example payload
{
  "type": "motion_video",
  "url": "https://example.com"
}
ARD catalog entry
{
  "identifier": "urn:air:a2uicatalog.ai:atom:motion_video",
  "displayName": "Motion Video",
  "type": "application/vnd.a2ui.atom+json",
  "url": "https://a2uicatalog.ai/atoms/motion_video",
  "capabilities": [
    "web",
    "google-meet-stage",
    "google-apps-script-web",
    "mcp-apps",
    "android"
  ],
  "description": "A muted video on the film clock. Inside a motion_timeline a track drives its progress p from 0 to 1 and the video seeks to from + p * (to - from), so scrubbing and frame export are exact; standalone it plays muted and loops. Made for screen recordings inside motion_device, with the motion design around them. Encode with short keyframe intervals for smooth seeking.",
  "representativeQueries": [
    "show a muted video whose frame follows the film clock",
    "a muted video on the film clock. inside a motion_timeline a track drives its progress p from 0 to 1",
    "render a motion video"
  ]
}
← Full ARD catalog
Deploy your own Google Apps Script renderer

The renderer is an open-source Google Apps Script web app. Deploy your own instance in 4 commands — you own the URL, no dependency on the demo endpoint.

git clone https://github.com/a2uicatalog/a2ui
cd a2ui/apps-script-surface/gas-wired-renderer
clasp push && clasp deploy
Full deploy guide →