E:\WORK\0\图片\,分真实动物/卡通/不确定三类)CDP方案(成功路径):
browser 工具启动 Chrome(port 51167)Network.responseReceived 拦截 content-type: image/gif 的响应tb.himg、thumb、icon 等缩略图域名失败路径(已排除):
acjson HTTP API → 只返回缩略图,非真实地址C:\Users\laq\Downloads\baidu_cdp_v3.js - 运动GIF下载器(port 51167)C:\Users\laq\Downloads\baidu_cdp_v4.js - 综合版(萌宠补全+运动下载)test_baidu_api.js, inspect_baidu_page.js, baidu_cdp_v2.jsE:\WORK\0\图片\,分真实动物/卡通/不确定三类)CDP方案(成功路径):
browser 工具启动 Chrome(port 51167)Network.responseReceived 拦截 content-type: image/gif 的响应tb.himg、thumb、icon 等缩略图域名失败路径(已排除):
acjson HTTP API → 只返回缩略图,非真实地址C:\Users\laq\Downloads\baidu_cdp_v3.js - 运动GIF下载器(port 51167)C:\Users\laq\Downloads\baidu_cdp_v4.js - 综合版(萌宠补全+运动下载)test_baidu_api.js, inspect_baidu_page.js, baidu_cdp_v2.js 标签正则提取GIF URLlocation.href 赋值触发SPA导航(xbrowser在篮球标签内导航了)Page.navigate() 直接导航 → 百度检测自动化 → 返回空白页& 被PowerShell截断 → 必须用xbrowser fill+click而非命令行传URLTarget.getTargets() 定位正确标签页| 分类 | 数量 | 大小 | 路径 |
|---|---|---|---|
| ------ | ------ | ------ | ------ |
| 足球 | 10张 | 26.1 MB | E:\WORK\0\图片\足球\ |
| 篮球 | 10张 | 38.0 MB | E:\WORK\0\图片\篮球\ |
| 滑雪 | 10张 | 21.1 MB | E:\WORK\0\图片\滑雪\ |
文件命名:{分类}_funny_001.gif ~ {分类}_funny_010.gif
E:\WORK\0\图片\,分真实动物/卡通/不确定三类)CDP方案(成功路径):
browser 工具启动 Chrome(port 51167)Network.responseReceived 拦截 content-type: image/gif 的响应tb.himg、thumb、icon 等缩略图域名失败路径(已排除):
acjson HTTP API → 只返回缩略图,非真实地址C:\Users\laq\Downloads\baidu_cdp_v3.js - 运动GIF下载器(port 51167)C:\Users\laq\Downloads\baidu_cdp_v4.js - 综合版(萌宠补全+运动下载)test_baidu_api.js, inspect_baidu_page.js, baidu_cdp_v2.js 标签正则提取GIF URLlocation.href 赋值触发SPA导航(xbrowser在篮球标签内导航了)Page.navigate() 直接导航 → 百度检测自动化 → 返回空白页& 被PowerShell截断 → 必须用xbrowser fill+click而非命令行传URLTarget.getTargets() 定位正确标签页| 分类 | 数量 | 大小 | 路径 |
|---|---|---|---|
| ------ | ------ | ------ | ------ |
| 足球 | 10张 | 26.1 MB | E:\WORK\0\图片\足球\ |
| 篮球 | 10张 | 38.0 MB | E:\WORK\0\图片\篮球\ |
| 滑雪 | 10张 | 21.1 MB | E:\WORK\0\图片\滑雪\ |
文件命名:{分类}_funny_001.gif ~ {分类}_funny_010.gif
生活心灵鸡汤GIF动图上班打工人励志GIF动图| 分类 | 数量 | 大小 | 路径 |
|---|---|---|---|
| ------ | ------ | ------ | ------ |
| 生活 | 10张 | 8.3 MB | E:\WORK\0\图片\生活\ |
| 上班 | 10张 | 5.9 MB | E:\WORK\0\图片\上班\ |
文件命名:{分类}_001.gif ~ {分类}_010.gif
C:\Users\laq\AppData\Local\Temp\_tw_dl_category.js - 接受命令行参数:CATEGORY(分类名)、TARGET(数量)将 E:\WORK\0\图片\上班\ 的10张GIF做成竖版视频,适合头条发布
E:\WORK\0\视频\上班励志.mp4ImageSequence.Iterator 提取GIF帧 + 循环填充到3秒msyh.ttc(微软雅黑),标题52-72ptC:\Users\laq\AppData\Local\Temp\_tw_make_video.py此方案可用于其他GIF批量转视频(改SRC_DIR和MOTIVATIONAL文字即可)
生活励志GIF动图E:\WORK\0\图片\生活励志\C:\Users\laq\AppData\Local\Temp\_tw_dl_category.js,target=8E:\WORK\0\视频\生活励志.mp4C:\Users\laq\AppData\Local\Temp\_tw_make_life_video.pygif-to-videoC:\Users\laq\.qclaw\skills\gif-to-video\C:\Users\laq\.qclaw\workspace\gif-to-video.skillscripts/gif_to_video.py:通用GIF→竖版视频工具--texts、--segment-duration、--transition-duration、--ending、--bg、--accent 等参数python scripts/gif_to_video.py "E:\WORK\0\图片\上班" "E:\WORK\0\视频\上班.mp4" --texts "打工不是终点|今天的辛苦明天的底气"
动物翻车名场面GIF + 搞笑动物翻车GIF动图E:\WORK\0\图片\动物翻车\C:\Users\laq\AppData\Local\Temp\_tw_dl_category.js,target=8E:\WORK\0\视频\动物翻车.mp4gif-to-video skill 脚本 scripts/gif_to_video.py 完成```powershell
python C:\Users\laq\.qclaw\skills\gif-to-video\scripts\gif_to_video.py ^
"E:\WORK\0\图片\动物翻车" "E:\WORK\0\视频\动物翻车.mp4" ^
--texts "翻车不可怕|可怕的是不敢重来|每一次跌倒都是成长的起点|人生如戏翻车也要翻得精彩|失败是成功之母|爬起来继续嗨|笑着面对才是真勇士|翻车也是一种风景" ^
--ending "翻车也是一种风景" --ending-sub "笑着面对,继续前行"
```
from reportlab.pdfbase import pdfmetrics, ttfontspdfmetrics.registerFont(ttfonts.TTFont('SimSun', 'C:/Windows/Fonts/simsun.ttc'))pip install reportlab 安装C:\Windows\Fonts\simsun.ttcweather_alertC:\Users\laq\AppData\Local\Temp\_tw_dl_category.jsnode _tw_dl_category.js <类别名> <目标数量>C:\Users\laq\.qclaw\skills\gif-to-video\scripts\gif_to_video.pyE:\WORK\0\视频\上班励志.mp4E:\WORK\0\视频\生活励志.mp4E:\WORK\0\视频\动物翻车.mp4E:\WORK\0\图片\上班\(10张)E:\WORK\0\图片\生活励志\(8张)E:\WORK\0\图片\动物翻车\(8张)C:\Users\laq\.qclaw\skills\gif-to-video\C:\Users\laq\.qclaw\workspace\gif-to-video.skillscripts/gif_to_video.pyC:\Users\laq\AppData\Local\Temp\_tw_dl_category.jsE:\WORK\0\图片\<类别名>\C:\Users\laq\.qclaw\skills\gif-shortvideo-workflow\C:\Users\laq\.qclaw\workspace\gif-shortvideo-workflow.skillscripts/download_gif.js(CDP + 百度图片 + Pillow帧数验证)scripts/gif_to_video.py(复制自 gif-to-video skill)DESIGN.md 定义了 skill 的结构(类 gif-smart-toolkit 的风格),用户手动删掉了示例视频文件截图gif-to-video.skill 和 gif-shortvideo-workflow.skill(后者以目录形式存在,不再需要独立 .skill 文件)C:\Users\laq\.qclaw\bin\skillhub.cmd.skill 打包文件:C:\Users\laq\.qclaw\workspace\gif-shortvideo-workflow.skill(已可用)description 太长(120+字),核心价值需前移tags 字段,影响搜索曝光共 1 个版本