{
  "schemaVersion": "1.0",
  "item": {
    "slug": "meta-video-ad-analyzer",
    "name": "Meta Video Ad Analyzer",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/fortytwode/meta-video-ad-analyzer",
    "canonicalUrl": "https://clawhub.ai/fortytwode/meta-video-ad-analyzer",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/meta-video-ad-analyzer",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=meta-video-ad-analyzer",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "prompts/scene_analysis.md",
      "prompts/scene_reconciliation.md",
      "scripts/models.py",
      "scripts/prompt_manager.py",
      "scripts/video_extractor.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/meta-video-ad-analyzer"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/meta-video-ad-analyzer",
    "agentPageUrl": "https://openagent3.xyz/skills/meta-video-ad-analyzer/agent",
    "manifestUrl": "https://openagent3.xyz/skills/meta-video-ad-analyzer/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/meta-video-ad-analyzer/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Video Ad Analyzer",
        "body": "AI-powered video content extraction using Google Gemini Vision."
      },
      {
        "title": "What This Skill Does",
        "body": "Frame Extraction: Smart sampling with scene change detection\nOCR Text Detection: Extract text overlays using EasyOCR\nAudio Transcription: Convert speech to text with Google Cloud Speech\nAI Scene Analysis: Describe each scene using Gemini Vision\nNative Video Analysis: Direct video understanding for longer content\nThumbnail Generation: Auto-generate thumbnails from first frame"
      },
      {
        "title": "1. Environment Variables",
        "body": "# Required for Gemini Vision\nGOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json\n\n# Required for audio transcription\n# (same service account needs Speech-to-Text API enabled)"
      },
      {
        "title": "2. Dependencies",
        "body": "pip install opencv-python pillow easyocr ffmpeg-python google-cloud-speech vertexai google-api-python-client\n\nAlso requires ffmpeg and ffprobe installed on system."
      },
      {
        "title": "Basic Video Analysis",
        "body": "from scripts.video_extractor import VideoExtractor\nfrom scripts.models import ExtractedVideoContent\nimport vertexai\nfrom vertexai.generative_models import GenerativeModel\n\n# Initialize Vertex AI\nvertexai.init(project=\"your-project-id\", location=\"us-central1\")\ngemini_model = GenerativeModel(\"gemini-1.5-flash\")\n\n# Create extractor\nextractor = VideoExtractor(gemini_model=gemini_model)\n\n# Analyze video\nresult = extractor.extract_content(\"/path/to/video.mp4\")\n\nprint(f\"Duration: {result.duration}s\")\nprint(f\"Scenes: {len(result.scene_timeline)}\")\nprint(f\"Text overlays: {len(result.text_timeline)}\")\nprint(f\"Transcript: {result.transcript[:200]}...\")"
      },
      {
        "title": "Extract Only Frames",
        "body": "frames, timestamps, text_timeline, scene_timeline, thumbnail = extractor.extract_smart_frames(\n    \"/path/to/video.mp4\",\n    scene_interval=2,    # Check for scene changes every 2s\n    text_interval=0.5    # Check for text every 0.5s\n)"
      },
      {
        "title": "Analyze Images",
        "body": "# Works with images too\nresult = extractor.extract_content(\"/path/to/image.jpg\")\nprint(result.scene_timeline[0]['description'])"
      },
      {
        "title": "Output Structure",
        "body": "ExtractedVideoContent(\n    video_path=\"/path/to/video.mp4\",\n    duration=30.5,\n    transcript=\"Here's what we found...\",\n    text_timeline=[\n        {\"at\": 0.0, \"text\": [\"Download Now\"]},\n        {\"at\": 5.5, \"text\": [\"50% Off Today\"]}\n    ],\n    scene_timeline=[\n        {\"timestamp\": 0.0, \"description\": \"Woman using phone app...\"},\n        {\"timestamp\": 2.0, \"description\": \"Product showcase with features...\"}\n    ],\n    thumbnail_url=\"/static/thumbnails/video_thumb.jpg\",\n    extraction_complete=True\n)"
      },
      {
        "title": "Key Features",
        "body": "FeatureDescriptionScene DetectionHistogram-based change detection (threshold=65)OCR ConfidenceTiered thresholds (0.5 high, 0.3 low)AI ProofreadingGemini cleans up OCR errorsSource ReconciliationMerges OCR + Vision text intelligentlyNative VideoDirect Gemini analysis for <20MB files"
      },
      {
        "title": "Prompts",
        "body": "Customize AI behavior by editing prompts in the prompts/ folder:\n\nscene_analysis.md - Frame analysis prompts\nscene_reconciliation.md - Scene enrichment prompts"
      },
      {
        "title": "Common Questions This Answers",
        "body": "\"What text appears in this video ad?\"\n\"Describe each scene in this creative\"\n\"What does the narrator say?\"\n\"Extract the call-to-action from this ad\""
      }
    ],
    "body": "Video Ad Analyzer\n\nAI-powered video content extraction using Google Gemini Vision.\n\nWhat This Skill Does\nFrame Extraction: Smart sampling with scene change detection\nOCR Text Detection: Extract text overlays using EasyOCR\nAudio Transcription: Convert speech to text with Google Cloud Speech\nAI Scene Analysis: Describe each scene using Gemini Vision\nNative Video Analysis: Direct video understanding for longer content\nThumbnail Generation: Auto-generate thumbnails from first frame\nSetup\n1. Environment Variables\n# Required for Gemini Vision\nGOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json\n\n# Required for audio transcription\n# (same service account needs Speech-to-Text API enabled)\n\n2. Dependencies\npip install opencv-python pillow easyocr ffmpeg-python google-cloud-speech vertexai google-api-python-client\n\n\nAlso requires ffmpeg and ffprobe installed on system.\n\nUsage\nBasic Video Analysis\nfrom scripts.video_extractor import VideoExtractor\nfrom scripts.models import ExtractedVideoContent\nimport vertexai\nfrom vertexai.generative_models import GenerativeModel\n\n# Initialize Vertex AI\nvertexai.init(project=\"your-project-id\", location=\"us-central1\")\ngemini_model = GenerativeModel(\"gemini-1.5-flash\")\n\n# Create extractor\nextractor = VideoExtractor(gemini_model=gemini_model)\n\n# Analyze video\nresult = extractor.extract_content(\"/path/to/video.mp4\")\n\nprint(f\"Duration: {result.duration}s\")\nprint(f\"Scenes: {len(result.scene_timeline)}\")\nprint(f\"Text overlays: {len(result.text_timeline)}\")\nprint(f\"Transcript: {result.transcript[:200]}...\")\n\nExtract Only Frames\nframes, timestamps, text_timeline, scene_timeline, thumbnail = extractor.extract_smart_frames(\n    \"/path/to/video.mp4\",\n    scene_interval=2,    # Check for scene changes every 2s\n    text_interval=0.5    # Check for text every 0.5s\n)\n\nAnalyze Images\n# Works with images too\nresult = extractor.extract_content(\"/path/to/image.jpg\")\nprint(result.scene_timeline[0]['description'])\n\nOutput Structure\nExtractedVideoContent(\n    video_path=\"/path/to/video.mp4\",\n    duration=30.5,\n    transcript=\"Here's what we found...\",\n    text_timeline=[\n        {\"at\": 0.0, \"text\": [\"Download Now\"]},\n        {\"at\": 5.5, \"text\": [\"50% Off Today\"]}\n    ],\n    scene_timeline=[\n        {\"timestamp\": 0.0, \"description\": \"Woman using phone app...\"},\n        {\"timestamp\": 2.0, \"description\": \"Product showcase with features...\"}\n    ],\n    thumbnail_url=\"/static/thumbnails/video_thumb.jpg\",\n    extraction_complete=True\n)\n\nKey Features\nFeature\tDescription\nScene Detection\tHistogram-based change detection (threshold=65)\nOCR Confidence\tTiered thresholds (0.5 high, 0.3 low)\nAI Proofreading\tGemini cleans up OCR errors\nSource Reconciliation\tMerges OCR + Vision text intelligently\nNative Video\tDirect Gemini analysis for <20MB files\nPrompts\n\nCustomize AI behavior by editing prompts in the prompts/ folder:\n\nscene_analysis.md - Frame analysis prompts\nscene_reconciliation.md - Scene enrichment prompts\nCommon Questions This Answers\n\"What text appears in this video ad?\"\n\"Describe each scene in this creative\"\n\"What does the narrator say?\"\n\"Extract the call-to-action from this ad\""
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/fortytwode/meta-video-ad-analyzer",
    "publisherUrl": "https://clawhub.ai/fortytwode/meta-video-ad-analyzer",
    "owner": "fortytwode",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/meta-video-ad-analyzer",
    "downloadUrl": "https://openagent3.xyz/downloads/meta-video-ad-analyzer",
    "agentUrl": "https://openagent3.xyz/skills/meta-video-ad-analyzer/agent",
    "manifestUrl": "https://openagent3.xyz/skills/meta-video-ad-analyzer/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/meta-video-ad-analyzer/agent.md"
  }
}