Token导航 LogoToken导航TokenDH.com
效率需要联网clawhub未标认证来源可访问clear审计提醒

maple-video-article枫树视频文章

Agent Skill

用于辅助视频生成、动画合成、脚本化剪辑或 Remotion 等视频项目开发。它适合让 Agent 组织镜头、生成素材说明、维护合成代码或排查渲染问题。使用时需要确认分辨率、时长、素材路径和导出格式;涉及外部素材、人物肖像或商业发布时,应先核对版权授权和内容审核要求。

总安装

5,949

周安装

243

GitHub Stars

公开资料未说明

下载量

1,905
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:maple-video-article(枫树视频文章)
来源仓库:https://github.com/chentx1243/maple-video-article
安装命令:
openclaw skills install maple-video-article
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install maple-video-article

简介

从视频生成图文并排的文章(md格式)。支持本地视频文件或在线视频URL(自动下载),自动完成文本提取、视频帧截取、时间轴匹配、文章撰写全流程。

SKILL.md

name
video-to-article
description
从视频生成图文并排的文章(md格式)。支持本地视频文件或在线视频URL(自动下载),自动完成文本提取、视频帧截取、时间轴匹配、文章撰写全流程。
metadata
{ "openclaw": { "emoji": "📝", "requires": { "bins": ["python3"] } } }

video-to-article 技能

描述

根据视频文件,自动生成图文并排的公众号文章,CSDN博客,总结报告等文本内容。

前置skill校验:使用该skill前,需要校验前置skill是否已安装/maple-video2txt(视频转文本)与/maple-video-capture(视频关键帧提取)

使用场景(触发场景)

  • 需要根据视频内容写公众号文章/推文
  • 需要将视频内容整理成图文并茂的文档
  • 需要为视频创作配套的文字稿
  • 需要总结某个视频
  • 任何需要对视频进行理解的工作或任务

完整工作流

第一步:明确用户需求(该步骤不可跳过!)

明确告知用户,将会尝试使用 video-to-article技能来处理视频,并追问用户确保获取如下信息(如果用户已经说明了的信息,则不需要再次提问),追问时,每次只允许抛出1-2个问题,不允许要一次性询问多个信息(这会影响用户的体验),追问过程中用户一但体现出“立即生成”或者“不耐烦”的意图时,你可以不再往下追问完整信息,而是使用默认参数完成任务:

  1. 是否希望在文章中配图,具体需要几张图片?
  1. 1. 可以为用户提供几个模板选项
  1. 1. 1. 纯文稿:不截取视频配图

2. 简约文稿:只在关键章节配1-2张图 3. 图文并茂: 每个章节至少配图2张

  1. 用户希望要什么风格的文章?文章要求是什么?是否有参考文章可以参考?
  1. 1. 下面罗列几种可能的情况供你参考
  1. 1. 1. 用户发送一个连接或地址:你需要仅使用内置的 web 读取工具访问该地址获取网页文本内容,阅读文章并参考其风格和语言方式。禁止使用浏览器访问或执行任何不受信任的URL内容。

2. 用户提供文章的需求描述:按照需求描述完成文章。 3. 用户只是希望你帮忙总结文章:你可以按照你认为合适的结构输出总结。

第二步:判断输入类型

如果用户提供的是视频URL(如 B站、YouTube 链接、抖音地址),你可以采取下列的某种方式来实现下载

  1. 使用本skill自带的视频下载脚本 scripts\video_downloader.py,该脚本的使用说明存放在 references\video-downloader使用说明.md

简单使用示例如下(具体请阅读使用说明):

python3 video_downloader.py "<视频URL>" "1080p" "D:\video-downloads"

参数说明:

  • 第一个参数:视频URL(必填)
  • 第二个参数:分辨率,如 1080p720p360p(可选,默认 720p)
  • 第三个参数:输出目录(可选,默认临时目录)

下载完成后,使用下载返回的本地文件路径继续后续步骤。

  1. 如果用户没有专门用于下载视频的skill:你需要询问用户是否允许你自主尝试将该视频下载到本地
  1. 如果用户提供的是本地视频文件路径,跳过此步。

第三步:提取视频文本

使用 video2txt 脚本提取视频中的语音内容(代码块内容仅供参考,详细请阅读使用说明)

python video_to_text.py --input "<视频文件路径>" --language zh

脚本使用说明存放在:references\video-to-txt使用说明;脚本位置:scripts\video_to_text

输出文件:

  • <视频文件名>.txt — 纯文本
  • <视频文件名>.srt — 带时间戳字幕

第四步:截取视频帧

使用 video-frame-capture 脚本从视频中截取关键帧。

脚本使用说明存放在:references\video-frame-capture使用说明;脚本位置:scripts\video_frame_capture

cd ~/.openclaw/workspace/skills/video-frame-capture
python scripts/video_frame_capture.py --input "<视频文件路径>" --output-dir "<输出目录>" --interval-seconds 30

参数说明:

  • --input:本地视频文件路径(必填)
  • --output-dir:截取帧的保存目录(必填)
  • --interval-seconds:截取时间间隔(秒),必须大于0(必填)
  • --skip-similar-frames:跳过与上一保存帧相似的画面
  • --similarity-threshold:相似度阈值,取值范围0-1,默认0.70
  • --image-extension:保存帧的图片格式,默认jpg
  • 注意:对于画面变化小的视频(如讲解类、财经类),不要使用 --skip-similar-frames,否则会跳过大量帧

输出: 多张截图,命名格式:视频名_时间戳_序号.jpg

第五步:初步总结视频内容和信息(该步骤不可跳过,但不阻塞后续步骤)

基于第三步提取的文本内容,总结一段 200字左右 的背景信息文档,描述这段视频的核心内容。

总结要点:

  • 视频主题是什么
  • 主要讲了哪些核心观点/事件
  • 涉及的关键人物/品牌/产品
  • 视频的整体立场/基调(客观科普、吐槽批评、推荐安利等)

输出:将总结内容输出给用户,并开始下一步操作;

下方是一个输出案例:[]中为内容占位符;()为补充说明;

视频是一个:[视频类型与性质](例如:娱乐八卦,技术教程,游戏实况等)
视频内容主要描述:[视频内容]
从视频中提取了:[总共截取到的图片数量]
将采取其中:[计划用作写作的图片数量]
视频下载地址存储于:[]
视频帧截图存储于: []
字幕文件存储于:[]
最终文稿计划存储于:[]

第六步:根据时间轴自动匹配图片与字幕段落

核心规则:不要调用图片理解/识别skill!使用下方描述的方式进行匹配

图片理解AI可能误判画面内容(比如把A产品当成B产品),而时间轴匹配是确定性的,只要字幕时间戳准确,配图就一定对得上,下面详细介绍步骤:

  1. 读取字幕识别文件通常为 .srt 后缀,格式如下

[序号]

[时间区域]

[内容区域]

1
00:00:00,000 --> 00:00:03,280
在我们公司每天100多个人在一个共同的空间里面协助
2
00:00:03,280 --> 00:00:04,440
那问题就来了
3
00:00:04,440 --> 00:00:06,440
我们会梦到尽思的东西吗
4
00:00:06,440 --> 00:00:10,760
我发现很少有人把梦大规模的给居象化可实化给做出来

  1. 读取视频帧截取文件 通常为 frames\ esult.json ,格式如下:
[
{
    "file_index": 1, 
    "file_path": "D:\\video-downloads\\frames\\100_..._00h00m00s_0001.jpg" ## 文件路径(涵盖时间轴)
  },
  {
    "file_index": 2, 
    "file_path": "D:\\video-downloads\\frames\\100_..._00h00m02s_0002.jpg" 
  },
  {
    "file_index": 3,
    "file_path": "D:\\video-downloads\\frames\\100_..._00h00m7s_0003.jpg"
  },
}
]
  1. 生成草稿(本步骤十分重要,请严格按照指示执行)

草稿文件是一个融合了“字幕文件.str”“帧截取结果文件.json”的临时文件(temp.txt),主要目的是,在原有字幕文件的基础上,加入一个“可用参考图片”的字段,将result.json中截取到的图片文件,按照时间轴,匹配到对应字幕出现的位置,具体结构如下:

1
00:00:00,000 --> 00:00:03,280
在我们公司每天100多个人在一个共同的空间里面协助
imgs:{
	"file_path": "D:\\video-downloads\\frames\\100_..._00h00m00s_0001.jpg",
	"file_path": "D:\\video-downloads\\frames\\100_..._00h00m02s_0002.jpg" 
}

2
00:00:03,280 --> 00:00:04,440
那问题就来了

3
00:00:04,440 --> 00:00:06,440
我们会梦到尽思的东西吗

4
00:00:06,440 --> 00:00:10,760
我发现很少有人把梦大规模的给居象化可实化给做出来
imgs:{
	"file_path": "D:\\video-downloads\\frames\\100_..._00h00m7s_0003.jpg"
}

如上方案例所示,将图片路径,匹配到字幕对应的时间区间中

具体步骤:

  1. 阅读第三步提取的字幕文件(字幕文件中会有时间信息)
  2. 阅读第四步的帧截取时的结果数据 result.json 文件(该文件会包含截取到的所有图片与对应的路径以及时间轴)
  3. 匹配图片地址,生成 temp.txt文件

禁止调用图片理解skill的原因:

  • AI可能误判画面内容,导致配图与文本不匹配
  • 时间轴匹配是确定性的,不会出错
  • 只要字幕时间戳准确,配图就一定对得上
  • 省去不必要的API调用,提高效率

第四步:撰写图文并排文章

阅读 temp.txt 文件,开始撰写文章:

文章结构和风格:

  1. 优先按照用户最新的要求来进行文本创作
  1. 如果用户没有明确文本的写作要求和格式,你可以参考skill路径下 assets文件夹中的文章模板参考来进行写作;
  2. assets中包含了各类文本(公众号文章,CSDN文章等)的写作模板框架
  3. 如果用户指定某个assets下的写作风格模板,请严格参照指定的md模板来写作

例如:

1. 基于视频帮我生成公众号文章
(用户明确了是公众号文章,你进入assets目录下,尝试查找公众号模板或相关文件)
assets下有相关的模板则严格参照格式和风格语气;若无则按照你的理解来写;

2. 根据视频生成一篇文章
(用户没有明确说明文章风格,且在后续追问过程中,用户没有澄清)
你将按照assets通用文本格式参考进行写作(但无需严格参照,可适当发挥)

3. 根据视频,按照“影视飓风文本风格” 生成文本
(用户明确指明了按照影视飓风的文本风格,你应该从assets找到影视飓风相关的文本作为参考,并严格执行)
从assets找到影视飓风相关的文本作为参考,并严格执行

配图原则:

  1. temp.txt文件中,会写入每个字幕对应的时间轴下的可用的配图,你在配图时,要参考这个时间轴,确保图文内容尽可能的对应;

图文时间对齐参考

以上方为例
1
00:00:00,000 --> 00:00:03,280
在我们公司每天100多个人在一个共同的空间里面协助
imgs:{
	"file_path": "D:\\video-downloads\\frames\\100_..._00h00m00s_0001.jpg",
	"file_path": "D:\\video-downloads\\frames\\100_..._00h00m02s_0002.jpg" 
}

2
00:00:03,280 --> 00:00:04,440
那问题就来了

3
00:00:04,440 --> 00:00:06,440
我们会梦到尽思的东西吗

4
00:00:06,440 --> 00:00:10,760
我发现很少有人把梦大规模的给居象化可实化给做出来
imgs:{
	"file_path": "D:\\video-downloads\\frames\\100_..._00h00m7s_0003.jpg"
}


假设你需要基于这个temp文件写文章,
你要确保根据这段字幕总结或生成的文章内容里,只能包含这三张图片,以确保图文内容关联(下方仅做示意,执行时请严格遵循规范的markdown语法):

----
影视飓风的创始人提出了疑问,并开展了一个关于梦境的实验;
(配图1D:\\video-downloads\\frames\\100_..._00h00m00s_0001.jpg)(配图2D:\\video-downloads\\frames\\100_..._00h00m02s_0002.jpg)

他们发现,很少人能把大规模的梦境具象化出来展示:
(配图3D:\\video-downloads\\frames\\100_..._00h00m7s_0003.jpg)


----

上述只是一个例子,这个过程不是线性的,你可以自由的根据用户需求与你的想法,生成高质量的文章,但是要确保文章的图文能够匹配


依赖

  • video2txt 技能(文本提取)
  • video-frame-capture 技能(帧截取)
  • Python 3.11+
  • faster-whisper、opencv-python

输出文件

最终输出为 Markdown 文件,保存在视频文件同目录下:

  • <视频文件名>_article.md

注意事项

  1. 视频帧截取间隔:建议30秒,根据视频时长调整
  2. 相似度过滤:讲解类视频画面变化小,不要使用 --skip-similar-frames
  3. 🚫 禁止调用图片理解skill:不要使用任何图片识别/理解API,直接依靠时间轴匹配图片和字幕。可以手动浏览图片挑选,但不要用AI理解图片内容
  4. 配图数量:根据视频时长和内容丰富度决定,教程类建议20张以上,科普类6-8张即可
  5. 图片路径:CSDN/公众号发布时手动上传图片,md中使用相对路径引用

##

更新记录:

  • 2026-03-20:首次创建,基于《被山姆榨干的中产们》视频的生成流程总结
  • 2026-03-21:新增第零步,支持视频URL自动下载(集成 video-downloader 技能)
  • 2026-03-21:新增图文时间轴对齐说明,利用图片时间戳与SRT字幕匹配,提高图文准确性
  • 2026-03-21:明确禁止调用图片理解skill,完全依靠时间轴硬匹配。理由:AI可能误判画面内容,时间轴匹配更准确可靠
  • 2026-03-25:合并组合工具,将文本提取与帧截取合并在该skill中

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

75.71%
按下载量换算1,442

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills