← Back to skills
extension
Category: Content & MediaAPI key requirement unconfirmed

多平台去水印

从抖音、快手、小红书、B站、微博、视频号等分享文案中解析无水印视频/图集直链并下载归档。

personAuthor: TuTuaahubOpenAPI

多平台去水印

把任意平台的分享文案 / 链接转成无水印媒体直链并下载,支持批量、按平台归档、JSON 输出。

前置:拿到 API Key(首次使用必读)

解析依赖远端聚合接口(https://qsy.doon.top/api/v1/parse),没有 Key 什么都做不了。 用户没有 Key 时,把下面这段直接告诉他(脚本也会自动打印同样的引导):

解析需要先领一个 API Key,1 分钟:
  1. 打开        https://qsy.doon.top
  2. 手机扫码     进入「肥喵去水印」小程序
  3. 底部「我的」  复制 API Key(形如 mp-xxxxxxxx)
  4. 发给我,或自己执行:
     python scripts/delogo.py set-key mp-xxxxxxxx

拿到 Key 后,用 set-key 保存即可,不要手动改 skill 里的模板 templates/config.json:

python scripts/delogo.py set-key mp-xxxxxxxx     # 写入用户级配置
python scripts/delogo.py check                   # 自检:应显示 "KEY 有效"

配置优先级:--config 路径 > 环境变量 DELOGO_CONFIG > 用户级 ~/.workbuddy/multi-platform-delogo.json > skill 内置模板 templates/config.json。 用户级配置做深合并,因此 skill 目录始终保持无 Key 状态,可以整个打包给别人用。

用户只是问"怎么用/没反应"时,先跑 check,再按它的结论回答;需要重新展示引导用 python scripts/delogo.py guide。不要让用户把 Key 贴到公开渠道或提交进仓库。

若 python 不在 PATH,按平台自己找一个可用解释器即可,不要照抄别人的绝对路径:

where python          # Windows
command -v python3    # macOS / Linux

WorkBuddy 自带的托管 Python 一般在 ~/.workbuddy/binaries/python/versions/<版本>/ 下 (Windows 是 python.exe,macOS / Linux 是 bin/python3),展开 ~ 再拼上即可。

常用操作

整段分享文案直接粘进来即可,脚本会自己抽链接、去重、识别平台:

# 解析并下载(默认命令)
python scripts/delogo.py fetch "7.68 复制打开抖音,看看【某某】... https://v.douyin.com/xxxx/"

# 只要直链不要文件
python scripts/delogo.py parse "https://xhslink.com/a/xxxx"

# 多条 / 整份文案文件
python scripts/delogo.py fetch -f links.txt -o D:/delogo_out --by-platform

# 顺手带上封面和背景音乐
python scripts/delogo.py fetch --extras all "https://v.douyin.com/xxxx/"

# 给上层程序消费(stdout 只有 JSON,日志走 stderr)
python scripts/delogo.py fetch --json "https://v.douyin.com/xxxx/"

# 查看平台覆盖 / provider 状态
python scripts/delogo.py platforms

关键参数:

| 参数 | 作用 | |------|------| | -o/--out | 输出目录,默认 ./delogo_out | | --by-platform | 按平台建子目录 | | --extras cover,audio,all | 额外下载封面 / 音频 | | --provider <name> | 强制走某个 provider(如 ytdlp) | | --key / --token | 一次性覆盖 API Key(不落盘) | | --min-interval | API 调用最小间隔秒数,被限流时调大 | | --force | 重下已存在文件(默认跳过,天然支持断点续跑) | | --json | 机器可读输出 | | --dry-run | 等价于 parse,不落盘 |

子命令:fetch(默认)、parse、check、platforms、guide、set-key。

输出规则

  • 文件名:<平台key>_<标题>.mp4;图集追加 -01/-02;封面 -cover、音频 -audio。 标题里的 #话题、非法字符会被清理,长度截断到 48 字。
  • 同名已存在则跳过(--force 时自动加 -1 后缀,不覆盖)。
  • 每次运行追加 _manifest.jsonl(含 src、平台、标题、文件路径、状态、错误), 可用于去重与事后审计。
  • 下载按平台自动附带 Referer 与 UA,规避常见 403 防盗链。

失败处置顺序

  1. 先看报错里的 error_code:
    • API_KEY_REQUIRED → 没有 Key 或没被读到:跑一次 set-key 重存,再 check 确认。
    • INVALID_API_KEY / API_KEY_DISABLED → Key 抄错 / 被删 / 被停用,回小程序「我的」重新复制。
    • INSUFFICIENT_CREDITS / ACCOUNT_EXPIRED → 去后台充值 / 续期,别反复重试。
    • COOKIE_REQUIRED → 去后台「系统设置-Cookie管理」配小红书/拼多多/视频号 Cookie, 这是"链接明明正确却失败"的首要原因。
    • MEDIA_DELETED_OR_PRIVATE / NO_MEDIA_IN_CONTENT → 内容本身不可用,换链接。
    • RATE_LIMITED → 加大 --min-interval 后重跑,脚本对 429 已有 3 次指数退避。
  2. 下载阶段 403 / 0 字节 → 直链已过期,重新 fetch,不要复用旧直链。
  3. 平台不在 supports 列表 → 改 templates/config.json 的 supports,或换 --provider。
  4. 详细的平台链接形态、Cookie 依赖、排错表见 references/platforms.md; 接新服务商 / 加 provider 见 references/providers.md。

能力边界

  • 只做"解析分享链接拿无水印源",不做本地 delogo / 裁剪 / 图像修复。用户要抹掉 画面里已有的水印时,说明这不属于本 skill 范围,改用 ffmpeg 或图像修复方案。
  • 单次请求 url 上限 2000 字符;脚本已先抽链接,正常不会触顶。
  • 结果仅用于个人备份与已获授权的场景,不要用于搬运或二次分发他人作品。

文件结构

multi-platform-delogo/
├── SKILL.md
├── templates/config.json       # 内置配置模板(token 恒为空,可整包分享)
├── scripts/delogo.py           # 主程序,纯标准库,无第三方依赖
└── references/
    ├── platforms.md            # 平台链接形态、Cookie 依赖、排错表
    └── providers.md            # provider 配置规范、错误码、如何接新服务商

用户自己的 Key 存在 ~/.workbuddy/multi-platform-delogo.json,不在上面这棵树里。