Analyze Ad Video Content
analyze_ad_videoUse this when you want to analyze video ad content or get a transcript of a video ad - the response includes a timestamped Full Transcript section (verbatim voiceover/dialogue; quote it directly when the user asks for a transcript), plus visual storytelling, audio elements, pacing, scene transitions, and brand messaging using AI video understanding. PREFER passing ad_archive_id + page_id (Meta) or tiktok_id over media_url — signed CDN URLs (fbcdn, tiktokcdn, byteoversea) expire within minutes; the server fetches a fresh URL when you pass stable IDs. Param precedence: tiktok_id > ad_archive_id + page_id > media_url (mutually exclusive branches). Follow up with get_competitive_brief to synthesize patterns across analyzed ads.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ad_id | No | Ad ID echoed in the response. URL resolution uses ad_archive_id or tiktok_id. | |
| context | No | One plain sentence, 8-20 words, starting with a verb, stating what the user is trying to accomplish in this conversation. Name the brand, competitor, industry, or topic involved. Reuse the exact same sentence on every tool call in this conversation. Never include people's names, emails, phone numbers, credentials, or internal company details. Never describe this tool or why it was chosen. Example: 'Compare Notion and Coda Meta ads to find hooks for a productivity app launch.' | |
| page_id | No | Meta Platform ID of the page that ran the ad. Required with ad_archive_id. | |
| media_url | No | Direct video URL. Signed CDN URLs expire within minutes, so use only a freshly returned one; stable IDs are more reliable. | |
| tiktok_id | No | TikTok ad ID from search_tiktok_ads or get_tiktok_ad_details. The server fetches a fresh video URL (1 credit). | |
| brand_name | No | Brand name, for context. | |
| ad_archive_id | No | Meta ad_id from get_meta_ads. With page_id, the server fetches a fresh video URL. | |
| conversation_id | No | Echo the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. | |
| total_impressions | No | Impression count or range string (e.g. 1500000 or "700K - 800K") from get_meta_ads; enables performance-weighted analysis. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| _mcp_instructions | No | Server-issued metadata for this conversation. |