Crawler Summary

multi-video-summarizer answer-first brief

Summarize video/audio content from multiple platforms into structured notes with keyframe screenshots. Supports Bilibili (B站), YouTube, Douyin (抖音), Xiaohongshu (小红书), TikTok, and 1800+ sites via yt-dlp. Triggers on video URLs from any of these platforms, or Chinese requests like '总结视频', '视频笔记', '视频内容'. Detects URLs containing bilibili.com, youtube.com, youtu.be, douyin.com, xiaohongshu.com, tiktok.com, and more. --- name: multi-video-summarizer description: "Summarize video/audio content from multiple platforms into structured notes with keyframe screenshots. Supports Bilibili (B站), YouTube, Douyin (抖音), Xiaohongshu (小红书), TikTok, and 1800+ sites via yt-dlp. Triggers on video URLs from any of these platforms, or Chinese requests like '总结视频', '视频笔记', '视频内容'. Detects URLs containing bilibili.com, youtube.com, youtu.be, douyin. Capability contract not published. No trust telemetry is available yet. 17 GitHub stars reported by the source. Last updated 4/14/2026.

Freshness

Last checked 4/14/2026

Best For

multi-video-summarizer is best for transcribe, extract workflows where OpenClaw compatibility matters.

Not Ideal For

Contract metadata is missing or unavailable for deterministic execution.

Evidence Sources Checked

editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack

Claim this agent
Agent DossierGitHubSafety: 100/100

multi-video-summarizer

Summarize video/audio content from multiple platforms into structured notes with keyframe screenshots. Supports Bilibili (B站), YouTube, Douyin (抖音), Xiaohongshu (小红书), TikTok, and 1800+ sites via yt-dlp. Triggers on video URLs from any of these platforms, or Chinese requests like '总结视频', '视频笔记', '视频内容'. Detects URLs containing bilibili.com, youtube.com, youtu.be, douyin.com, xiaohongshu.com, tiktok.com, and more. --- name: multi-video-summarizer description: "Summarize video/audio content from multiple platforms into structured notes with keyframe screenshots. Supports Bilibili (B站), YouTube, Douyin (抖音), Xiaohongshu (小红书), TikTok, and 1800+ sites via yt-dlp. Triggers on video URLs from any of these platforms, or Chinese requests like '总结视频', '视频笔记', '视频内容'. Detects URLs containing bilibili.com, youtube.com, youtu.be, douyin.

OpenClawself-declared

Public facts

5

Change events

1

Artifacts

0

Freshness

Apr 14, 2026

Verifiededitorial-contentNo verified compatibility signals17 GitHub stars

Capability contract not published. No trust telemetry is available yet. 17 GitHub stars reported by the source. Last updated 4/14/2026.

17 GitHub starsTrust evidence available

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Apr 14, 2026

Vendor

Keepongo

Artifacts

0

Benchmarks

0

Last release

Unpublished

Executive Summary

Key links, install path, and a quick operational read before the deeper crawl record.

Verifiededitorial-content

Summary

Capability contract not published. No trust telemetry is available yet. 17 GitHub stars reported by the source. Last updated 4/14/2026.

Setup snapshot

git clone https://github.com/keepongo/video-summarizer.git
  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Evidence Ledger

Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.

Verifiededitorial-content
Vendor (1)

Vendor

Keepongo

profilemedium
Observed Apr 14, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed Apr 14, 2026Source linkProvenance
Adoption (1)

Adoption signal

17 GitHub stars

profilemedium
Observed Apr 14, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance
Integration (1)

Crawlable docs

6 indexed pages on the official domain

search_documentmedium
Observed Apr 15, 2026Source linkProvenance

Release & Crawl Timeline

Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.

Self-declaredagent-index

Artifacts Archive

Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.

Self-declaredGITHUB OPENCLEW

Extracted files

0

Examples

6

Snippets

0

Languages

typescript

Parameters

Executable Examples

bash

python --version

bash

pip install youtube-transcript-api

bash

pip install yt-dlp

bash

pip install youtube-transcript-api yt-dlp

bash

python "<skill_path>/video_subtitle.py" "<VIDEO_URL>"

markdown

# AI 一键总结:[{title}]({url})

# 🤖 {title} — 通俗解释


### 🏷️ {Section 1 Title}
![{Section 1 Title}]({frame_path_for_section_1})
- {Key point from transcript, preserving original examples and analogies}
- {Another key point}
*   {Sub-point or example}
*   {Sub-point or example}


### 💡 {Section 2 Title}
![{Section 2 Title}]({frame_path_for_section_2})
- {Content organized by topic}
- {Preserve vivid analogies from the video}


### 🧠 {Section 3 Title}
![{Section 3 Title}]({frame_path_for_section_3})
- {Continue grouping content logically}


### 🍎 {Section 4 Title}
![{Section 4 Title}]({frame_path_for_section_4})
- {More content sections as needed}


(... more sections using rotating emojis: 🏷️ 💡 🧠 🍎 🔑 🔢 🧱 🎯 ...)


### Summary
- {One paragraph summarizing the entire video content concisely}


### Highlights
*   🧠 {Highlight 1 with emoji} [#tag1] [#tag2] [#tag3]
*   🔪 {Highlight 2 with emoji} [#tag1] [#tag2] [#tag3]
*   🧮 {Highlight 3 with emoji} [#tag1] [#tag2] [#tag3]
*   🔢 {Highlight 4 with emoji} [#tag1] [#tag2] [#tag3]
*   🧱 {Highlight 5 with emoji} [#tag1] [#tag2] [#tag3]


[#tag1] [#tag2] [#tag3] [#tag4] [#tag5]


### Questions
*   {Thought-provoking question 1 related to the video content}
*   {Thought-provoking question 2 that extends the topic}

Docs & README

Full documentation captured from public sources, including the complete README when available.

Self-declaredGITHUB OPENCLEW

Docs source

GITHUB OPENCLEW

Editorial quality

ready

Summarize video/audio content from multiple platforms into structured notes with keyframe screenshots. Supports Bilibili (B站), YouTube, Douyin (抖音), Xiaohongshu (小红书), TikTok, and 1800+ sites via yt-dlp. Triggers on video URLs from any of these platforms, or Chinese requests like '总结视频', '视频笔记', '视频内容'. Detects URLs containing bilibili.com, youtube.com, youtu.be, douyin.com, xiaohongshu.com, tiktok.com, and more. --- name: multi-video-summarizer description: "Summarize video/audio content from multiple platforms into structured notes with keyframe screenshots. Supports Bilibili (B站), YouTube, Douyin (抖音), Xiaohongshu (小红书), TikTok, and 1800+ sites via yt-dlp. Triggers on video URLs from any of these platforms, or Chinese requests like '总结视频', '视频笔记', '视频内容'. Detects URLs containing bilibili.com, youtube.com, youtu.be, douyin.

Full README

name: multi-video-summarizer description: "Summarize video/audio content from multiple platforms into structured notes with keyframe screenshots. Supports Bilibili (B站), YouTube, Douyin (抖音), Xiaohongshu (小红书), TikTok, and 1800+ sites via yt-dlp. Triggers on video URLs from any of these platforms, or Chinese requests like '总结视频', '视频笔记', '视频内容'. Detects URLs containing bilibili.com, youtube.com, youtu.be, douyin.com, xiaohongshu.com, tiktok.com, and more."

Multi-Platform Video Summarizer

Extract subtitles/transcripts from video platforms and generate structured notes. No login or cookies required.

Supported Platforms

| Platform | URL patterns | Extraction method | |---|---|---| | Bilibili (B站) | bilibili.com/video/, b23.tv/, BV* | Public API (WBI signing) | | YouTube | youtube.com/watch, youtu.be/, youtube.com/shorts/ | youtube-transcript-api | | Douyin (抖音) | douyin.com/, v.douyin.com/ | yt-dlp | | Xiaohongshu (小红书) | xiaohongshu.com/, xhslink.com/ | yt-dlp | | TikTok | tiktok.com/ | yt-dlp | | Any other | Any URL supported by yt-dlp (1800+ sites) | yt-dlp |

Prerequisites

Ensure Python 3 is available:

python --version

Dependency Check

Before running the extraction script, check and install required dependencies based on the video platform:

For Bilibili videos -- no extra dependencies needed (uses Python stdlib only).

For YouTube videos:

pip install youtube-transcript-api

For Douyin, Xiaohongshu, TikTok, or any other platform:

pip install yt-dlp

Optional -- Whisper transcription (for videos without subtitles):

  • OpenAI API mode: pip install openai
  • Local mode: pip install faster-whisper
  • Configure in config.json (see Whisper Setup below)

Only install what is needed. If the user provides a Bilibili URL, skip dependency installation entirely.

Workflow

Step 1: Install Dependencies (if needed)

Check the video URL to determine the platform. If it's NOT a Bilibili URL, ensure the required package is installed:

pip install youtube-transcript-api yt-dlp

If these are already installed, skip this step.

Step 2: Extract Subtitles

Run the extraction script with the video URL:

python "<skill_path>/video_subtitle.py" "<VIDEO_URL>"

Replace <skill_path> with the absolute path to this skill's directory, and <VIDEO_URL> with the video URL provided by the user.

The script automatically:

  1. Detects the platform from the URL
  2. Tries platform-specific subtitle APIs (fast, free)
  3. Falls back to yt-dlp subtitle extraction if needed
  4. Falls back to Whisper audio transcription if configured

The script outputs a JSON object to stdout containing:

  • title - Video title
  • author - Uploader name
  • duration - Video duration
  • description - Video description
  • platform - Detected platform: bilibili, youtube, douyin, xiaohongshu, tiktok, or generic
  • url - Canonical video URL
  • source - Extraction method: subtitle, ai_conclusion, transcript_api, yt_dlp_subs, whisper_local, whisper_api
  • subtitle_text - Full subtitle/transcript text (if available)
  • frames - Array of keyframe screenshots (if ffmpeg is installed and extract_frames is enabled in config.json). Each frame has path (absolute file path) and timestamp (e.g. "01:30")
  • error - Error message (if extraction failed)

Step 3: Handle Errors

If the output contains an error field:

  1. Check if the required dependencies are installed for that platform
  2. If the error mentions missing packages, install them and retry
  3. If Whisper is not enabled and no subtitles were found, suggest the user enable Whisper in config.json
  4. After fixing, retry the extraction

Step 4: Generate Structured Notes (BibiGPT Style)

When subtitle text is successfully extracted, summarize it into this BibiGPT-style format. Use the EXACT structure below, including emojis, section naming, and formatting.

If frames array is present in the JSON output, embed one screenshot per content section using the Read tool to view the frame image file, then insert it with markdown image syntax right after the section header. Match frames to sections by timestamp order -- assign one frame per section sequentially. If there are more sections than frames, some sections will have no image. If there are more frames than sections, distribute evenly.

# AI 一键总结:[{title}]({url})

# 🤖 {title} — 通俗解释


### 🏷️ {Section 1 Title}
![{Section 1 Title}]({frame_path_for_section_1})
- {Key point from transcript, preserving original examples and analogies}
- {Another key point}
*   {Sub-point or example}
*   {Sub-point or example}


### 💡 {Section 2 Title}
![{Section 2 Title}]({frame_path_for_section_2})
- {Content organized by topic}
- {Preserve vivid analogies from the video}


### 🧠 {Section 3 Title}
![{Section 3 Title}]({frame_path_for_section_3})
- {Continue grouping content logically}


### 🍎 {Section 4 Title}
![{Section 4 Title}]({frame_path_for_section_4})
- {More content sections as needed}


(... more sections using rotating emojis: 🏷️ 💡 🧠 🍎 🔑 🔢 🧱 🎯 ...)


### Summary
- {One paragraph summarizing the entire video content concisely}


### Highlights
*   🧠 {Highlight 1 with emoji} [#tag1] [#tag2] [#tag3]
*   🔪 {Highlight 2 with emoji} [#tag1] [#tag2] [#tag3]
*   🧮 {Highlight 3 with emoji} [#tag1] [#tag2] [#tag3]
*   🔢 {Highlight 4 with emoji} [#tag1] [#tag2] [#tag3]
*   🧱 {Highlight 5 with emoji} [#tag1] [#tag2] [#tag3]


[#tag1] [#tag2] [#tag3] [#tag4] [#tag5]


### Questions
*   {Thought-provoking question 1 related to the video content}
*   {Thought-provoking question 2 that extends the topic}

Guidelines for summarization:

  • Use the original language of the subtitle (Chinese for Chinese videos, English for English videos, etc.)
  • Use emoji-prefixed section headers (### 🏷️, ### 💡, ### 🧠, etc.)
  • Use - for main bullet points and * (with 4 spaces indent) for sub-points/examples
  • Group content into logical sections based on topic flow
  • Preserve vivid examples, analogies and metaphors from the video
  • Keep the summary concise but comprehensive
  • Generate 5 highlights with emojis and 3 hashtags each
  • Generate 2 thought-provoking follow-up questions
  • Add 5 relevant hashtag topics at the end
  • If the source is "ai_conclusion", note that the summary comes from B站's built-in AI summary feature
  • If the source is "whisper_local" or "whisper_api", note that the transcript was generated via speech recognition and may contain minor inaccuracies
  • Keyframe images: When frames are provided, embed them using ![title](absolute_path) syntax. Each section should have at most one image, placed directly after the ### header line. Use the absolute path value from the frames array as-is

Whisper Setup (Optional)

For videos without subtitles, Whisper can transcribe the audio. Edit config.json in this skill's directory:

Option A -- OpenAI Whisper API (fast, requires API key, costs ~$0.006/min):

{
    "whisper_mode": "api",
    "openai_api_key": "sk-your-key-here",
    "language": "zh"
}

Option B -- Local faster-whisper (free, requires model download ~1-3GB):

{
    "whisper_mode": "local",
    "whisper_model": "base",
    "language": "zh"
}

Model sizes: tiny (fast, less accurate) / base (balanced) / small / medium / large (slow, most accurate).

Douyin / Xiaohongshu / TikTok Cookie Setup

These platforms require browser cookies for yt-dlp to access video content. The script tries --cookies-from-browser automatically, but on Windows with Chrome 127+ this often fails due to DPAPI encryption.

Recommended: export cookies.txt manually

  1. Install the browser extension "Get cookies.txt LOCALLY"
  2. Open douyin.com (or xiaohongshu.com) in your browser (login is NOT required, just visit the page)
  3. Click the extension icon and export cookies
  4. Save the file as cookies.txt in this skill's directory (<skill_path>/cookies.txt)

The script will automatically detect and use this file for Douyin/Xiaohongshu/TikTok requests.

Keyframe Screenshots (Optional)

The script can extract keyframe screenshots from videos to embed in the summary. This requires ffmpeg to be installed.

To enable/disable, edit config.json:

{
    "extract_frames": true,
    "frames_per_video": 6
}
  • extract_frames: true (default) to capture keyframes, false to skip
  • frames_per_video: number of evenly-spaced frames to extract (default 6)

Screenshots are cached in the screenshots/ directory. If ffmpeg is not installed, frame extraction is silently skipped.

Contract & API

Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.

MissingGITHUB OPENCLEW

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

OpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
curl -s "https://xpersona.co/api/v1/agents/keepongo-video-summarizer/snapshot"
curl -s "https://xpersona.co/api/v1/agents/keepongo-video-summarizer/contract"
curl -s "https://xpersona.co/api/v1/agents/keepongo-video-summarizer/trust"

Reliability & Benchmarks

Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.

Missingruntime-metrics

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

Do not use if

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Media & Demo

Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.

Missingno-media
No screenshots, media assets, or demo links are available.

Related Agents

Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.

Self-declaredprotocol-neighbors
GITHUB_REPOSactivepieces

Rank

70

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

Traction

No public download signal

Freshness

Updated 2d ago

OPENCLAW
GITHUB_REPOScherry-studio

Rank

70

AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs

Traction

No public download signal

Freshness

Updated 5d ago

MCPOPENCLAW
GITHUB_REPOSAionUi

Rank

70

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

Traction

No public download signal

Freshness

Updated 6d ago

MCPOPENCLAW
GITHUB_REPOSCopilotKit

Rank

70

The Frontend for Agents & Generative UI. React + Angular

Traction

No public download signal

Freshness

Updated 23d ago

OPENCLAW
Machine Appendix

Contract JSON

{
  "contractStatus": "missing",
  "authModes": [],
  "requires": [],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": null,
  "outputSchemaRef": null,
  "dataRegion": null,
  "contractUpdatedAt": null,
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://xpersona.co/api/v1/agents/keepongo-video-summarizer/snapshot",
    "contractUrl": "https://xpersona.co/api/v1/agents/keepongo-video-summarizer/contract",
    "trustUrl": "https://xpersona.co/api/v1/agents/keepongo-video-summarizer/trust"
  },
  "curlExamples": [
    "curl -s \"https://xpersona.co/api/v1/agents/keepongo-video-summarizer/snapshot\"",
    "curl -s \"https://xpersona.co/api/v1/agents/keepongo-video-summarizer/contract\"",
    "curl -s \"https://xpersona.co/api/v1/agents/keepongo-video-summarizer/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "GITHUB_OPENCLEW",
      "generatedAt": "2026-04-17T01:39:00.400Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "OPENCLEW",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    },
    {
      "key": "transcribe",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "extract",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:transcribe|supported|profile capability:extract|supported|profile"
}

Facts JSON

[
  {
    "factKey": "docs_crawl",
    "category": "integration",
    "label": "Crawlable docs",
    "value": "6 indexed pages on the official domain",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  },
  {
    "factKey": "vendor",
    "category": "vendor",
    "label": "Vendor",
    "value": "Keepongo",
    "href": "https://github.com/keepongo/video-summarizer",
    "sourceUrl": "https://github.com/keepongo/video-summarizer",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-04-14T22:26:07.068Z",
    "isPublic": true
  },
  {
    "factKey": "protocols",
    "category": "compatibility",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "href": "https://xpersona.co/api/v1/agents/keepongo-video-summarizer/contract",
    "sourceUrl": "https://xpersona.co/api/v1/agents/keepongo-video-summarizer/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-04-14T22:26:07.068Z",
    "isPublic": true
  },
  {
    "factKey": "traction",
    "category": "adoption",
    "label": "Adoption signal",
    "value": "17 GitHub stars",
    "href": "https://github.com/keepongo/video-summarizer",
    "sourceUrl": "https://github.com/keepongo/video-summarizer",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-04-14T22:26:07.068Z",
    "isPublic": true
  },
  {
    "factKey": "handshake_status",
    "category": "security",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "href": "https://xpersona.co/api/v1/agents/keepongo-video-summarizer/trust",
    "sourceUrl": "https://xpersona.co/api/v1/agents/keepongo-video-summarizer/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true
  }
]

Change Events JSON

[
  {
    "eventType": "docs_update",
    "title": "Docs refreshed: Sign in to GitHub · GitHub",
    "description": "Fresh crawlable documentation was indexed for the official domain.",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  }
]

Sponsored

Ads related to multi-video-summarizer and adjacent AI workflows.