虾兔自媒体视频去水印
通过虾兔 Web 开放接口解析用户提供的分享链接,取得服务端导出的视频,并按用户要求返回结果或保存文件。覆盖当前 Web 已开放的全部自媒体视频接口;平台可用范围以当前凭据对应的服务端工具列表为准。
这里的去水印是获取平台解析器提供的视频,不承诺擦除作者烧录在画面中的字幕、台标或水印。已有视频的 AI 擦除属于另一项能力,不自动调用。
用用户使用的语言回复和报告结果;用户用英文提问时用英文回答。
凭据配置与开通引导
按以下顺序取凭据,取到成对的 AK/SK 即停止,AK 与 SK 必须来自同一来源:
- 当前环境变量或宿主密钥管理器;
- 本 skill 目录下的
credentials.env,KEY=VALUE格式,字段同下表;里面仍是ak_xxx这类占位值时视为未配置。
用户在对话中给出 AK/SK 并要求配置时(例如开放平台「使用技能」复制的安装提示词),把它们写入本 skill 目录的 credentials.env,每行一个 KEY=VALUE;写完不要回显其值,也不要另存到其他位置。
| 配置 | 用途 |
|---|---|
XIATS_BASE_URL |
Web 服务 origin,默认 https://www.xiats.com,去掉末尾 / |
XIATS_API_KEY |
开放平台的 API Key(AK),对应 X-Api-Key |
XIATS_API_SECRET |
与 AK 配对的 API Secret(SK),对应 X-Api-Secret |
现有接口要求 AK 和 SK 同时提供。 用户只配置 API Key 时,先提示补齐同一对 API Secret,不尝试 Bearer Token、模型 Key、Cookie 或其他用户的凭据。
读取 credentials.env 时只在脚本内解析成变量(方法见 references/api.md),不要用 cat、type 等命令把文件内容打印到对话或日志,也不把它复制到仓库、产物或其他目录。
未配置凭据时,给出这段引导,并暂停 API 调用:
> 请先访问 虾兔官网,登录或注册账号,打开 开放平台,在「我的密钥」中点击某个密钥的「使用技能」,把复制的提示词发给 AI 助手,即可自动安装并配好密钥;也可以新建密钥后,把 API Key 和 API Secret 配置到本地环境变量 XIATS_API_KEY、XIATS_API_SECRET 或宿主密钥管理器。创建密钥和调用接口需要账号会员有效。
所有现有自媒体接入方均可按现有会员规则申请使用;不自动创建账号、开通会员或修改平台开关。未开会员或会员过期的用户可先看文档,已登录用户可管理已有密钥,但不能据此继续调用。
凭据只发往配置的虾兔服务 origin。不要把凭据放进 URL、分享链接、产物、仓库文件或日志,也不回显其值。用户明确配置自建服务时使用其 HTTPS origin,不根据分享链接修改 API 地址。
执行流程
- 检查可用能力。 使用这对凭据请求
GET /openapi/v1/tools。读取tools中的id、hosts(该工具识别的链接域名)和权益信息,只展示、调用本次服务端返回的工具。鉴权或会员校验失败时先处理错误,不猜测权限。 - 整理输入。 从分享文本提取 HTTP(S) 链接;逐条识别域名并去重,保留输入与结果的对应关系。单条请求一次只处理一条,发现多条时全部转为批量流程,不能只取第一条。B站 BV 号可转为标准视频链接。按本次
tools[].hosts识别平台,平台表之外的工具也以服务端下发的域名为准;域名匹配规则与 API 合同见 references/api.md,执行前读取。 - 分发解析。 对已识别且在
tools内的平台调用POST /openapi/v1/{tool_id}/resolve。单条提交{"url":"分享链接"};批量先按平台分组,再拆成每批最多 20 条的{"urls":[...]},顺序处理。后端当前会截断超量输入,必须由调用方拆批,避免遗漏。 - 处理返回值。 单条成功时读取
download_url、title、nickname、size。批量返回results,逐项读取ok、error或下载字段;HTTP 200 不表示每条都成功。没有真实下载结果时不能声称已取得视频。 - 交付视频。 用户要求保存或下载时,校验
download_url的 origin 与配置的服务相同、路径符合/openapi/v1/download/{16位小写十六进制}.mp4,再以同一对鉴权请求头下载。禁止把凭据随重定向发到其他 origin;若后端返回不同域名,先核对用户认可的服务配置。优先用download_url,不改用archived_url、网页会话下载路径或第三方解析器。用户没指定位置时,保存到系统的「下载」文件夹(Windows 为%USERPROFILE%\Downloads,macOS/Linux 为~/Downloads)。 - 核实结果。 下载先写临时文件,检查 HTTP 状态、非空内容和实际媒体格式(MP4 文件第 5–8 字节应为
ftyp),再保存为最终文件;拒绝把 JSON/HTML 错误页当视频。使用安全文件名并避免覆盖已有文件。只返回解析地址时说明它需要同一账号凭据;保存成功时提供真实本地路径。
不要假设本机装有 Python、jq 或 ffprobe。Windows 优先用 PowerShell,其他系统用 curl;两者的写法见 references/api.md。
未知平台、已下线平台、非视频内容或当前账号不可用的链接,逐条给出「该链接当前无法通过此账号的开放接口处理」。不能通过换名、换工具 id、网页聚合接口或重试其他平台绕过门禁。
错误与结果报告
按 API 错误表解释服务端返回的状态和 detail。401 提示检查成对凭据:环境变量和 credentials.env 同时存在时以环境变量为准,若其中是已吊销的旧密钥,提示用户删除旧环境变量或在开放平台对新密钥重新点「使用技能」安装;403 提示账号权限或会员状态;402 提示当前权益、配额或余额;404 提示链接、工具或成品当前不可用。保留原有计费规则,不承诺永久免费、无限额度或任意平台可用。
解析请求会执行导出并影响账号权益与调用记录。超时或结果不明时不自动重复解析;先说明结果未知,避免重复计费。下载失败时优先重用已有 download_url,成品被清理后说明重新解析可能再次消耗权益。
完成后简要报告:平台、原链接、成功或失败、实际下载文件或鉴权地址,以及服务端返回的费用/权益信息(有则提供)。批量列出每条结果和成功/失败数量,不暴露凭据。遇到无法调用的环境,说明当前只完成了配置或请求准备,不能伪造接口成功。