Media Stream Card

Auto-detecting media embed that accepts a raw URL and builds the correct iframe for YouTube, Loom, Google Slides, or Vimeo. Displays a labelled card shell with a skeleton shimmer while loading. Designed for stage-first delivery where the URL is the only payload.

Surfaces
webgoogle-meet-stagegoogle-apps-script-webmcp-apps
Degraded on
SurfaceNote
pdfRenders as a linked thumbnail image only
emailRenders as a static linked image placeholder
Live preview
Media
Fields
FieldType
urlstring (required). Raw URL — YouTube, Loom, Google Slides, Vimeo, or any embeddable URL. Platform is auto-detected.required
titlestring. Card label shown above the iframe. Defaults to detected platform name.optional
heightstring. CSS height for the iframe container. Default 360px.optional
Example payload
{
  "type": "media_stream_card",
  "url": "https://example.com"
}
ARD catalog entry
{
  "identifier": "urn:air:a2uicatalog.ai:atom:media_stream_card",
  "displayName": "Media Stream Card",
  "type": "application/vnd.a2ui.atom+json",
  "url": "https://a2uicatalog.ai/atoms/media_stream_card",
  "capabilities": [
    "web",
    "google-meet-stage",
    "google-apps-script-web",
    "mcp-apps"
  ],
  "description": "Auto-detecting media embed that accepts a raw URL and builds the correct iframe for YouTube, Loom, Google Slides, or Vimeo. Displays a labelled card shell with a skeleton shimmer while loading. Designed for stage-first delivery where the URL is the only payload.",
  "representativeQueries": [
    "show a Auto-detecting YouTube/Loom/Slides/Vimeo embed with skeleton",
    "auto-detecting media embed that accepts a raw url and builds the correct iframe for youtube, loom, g",
    "render a media stream card"
  ]
}
← 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 →