Understand Video
understand_videoAnalyze a public video end-to-end and return a spoken transcript plus visual details (on-screen text, charts, products, UI, scenes) to answer what was shown or displayed.
Instructions
Watches a public video end to end and returns a full multimodal understanding of it: the spoken transcript AND the meaningful visual information it shows (on-screen text, charts, products, UI, scene context) — always with visual analysis requested, unlike transcribe_video where it's opt-in.
Use this as the entry point for any question that isn't purely "what was said" — anything about what was shown, displayed, or visible. The returned "video_id" can then be passed to search_video (find every mention of a topic across both speech and on-screen content), find_moment (get the single best timestamped piece of evidence for a question), and get_video_timeline (the full chronological merge of both modalities) — without re-submitting the URL or re-processing the video.
WHAT IT DOES NOT DO
Same platform/access limitations as transcribe_video: no private/login-gated/deleted content, no platforms beyond Instagram Reels, TikTok, and YouTube videos/Shorts.
Does not itself answer free-form questions — call search_video or find_moment on the returned video_id for that.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | A public video URL — Instagram Reel, TikTok, or YouTube/Shorts. Must point to content that does not require login to view. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| map | No | Present only when the Video Map (VIDEO_MAP_ENABLED) resolved at least one "this"/"that"/pointing reference to a specific visual target. Use get_video_map for the full picture including unresolved/uncertain ones. | |
| url | Yes | ||
| text | Yes | ||
| source | Yes | ||
| visual | No | Visual observations detected — on-screen text, charts, products, scene context, etc. | |
| language | No | ||
| segments | Yes | ||
| video_id | No | Stable id for this video — pass this to search_video, find_moment, and get_video_timeline. | |
| low_confidence | Yes | ||
| duration_seconds | Yes |