主题
抖音作品解析与下载
直接发送公开抖音作品的分享文案、短链接、长链接或 QQ 分享卡片,即可查看信息卡并下载发送内容。也可使用:
text
#抖音下载 <作品链接>1
支持普通视频、图集、一个作品中混排图片与视频的合辑、Live Photo/动态图片以及文章。信息卡展示可取得的标题、作者、封面、发布时间、音乐、互动统计和视频档位;缺失数据显示为未知,不补造统计值。文章按正文与图片顺序分页展示。
普通公开作品无需提供登录 Cookie。程序自动获取 ttwid 和页面 nonce,在本地计算页面签名,取得平台签发的游客 UIFID,再生成 A-Bogus 与 Web 签名请求官方接口;接口受限时尝试分享页面降级解析。所有签名使用 JavaScript/ESM 本地计算,不执行下载的脚本,不依赖浏览器或第三方解析服务。删除、私密、地区限制或平台风控可能使两条链路都无法取得作品;降级页面也可能不提供完整统计或全部清晰度。
配置
在 global.yaml 的 douyin 中配置,也可通过锅巴设置:
| 字段 | 默认值 | 用途 |
|---|---|---|
enable | true | 自动链接解析与下载命令开关 |
request_timeout_ms | 15000 | 单次解析请求超时,毫秒 |
download.enable | true | 是否下载发送作品媒体 |
download.quality | adapt | 自动按大小选档,或指定 4k/2k/1080p/720p/540p/360p |
download.video_size_limit_mb | 100 | 视频直接发送阈值,超过则作为文件发送 |
download.duration_limit_seconds | 3600 | 普通视频时长限制,秒 |
download.max_estimated_size_mb | 0 | 作品媒体下载字节限制,MB;0 表示不限 |
download.multi_page_policy | zip | 多项处理:zip/all/first |
download.timeout_ms | 600000 | 整个作品下载与处理的超时预算,毫秒 |
download.tools_path | data/tools/bin | 可选 FFmpeg/FFprobe 目录 |
下载权限为 douyin.download,默认继承现有权限策略。
zip 下载所选内容后打包发送;all 按顺序逐项发送;first 只处理第一个媒体项。动态图片始终保留静态图与对应视频两份资源,不因 first 丢掉配对资源。文章同时保留正文 TXT。部分媒体失败会提示缺项,打包时附带缺项说明。
基础解析和直接下载不要求 FFmpeg;存在 FFprobe 时会探测视频,必要时用 FFmpeg 转封装或转码。工具不可用时保留原始文件并提示兼容性限制。ZIP 复用既有 zip 或 Windows PowerShell 打包能力,缺少工具会明确报错,不自动安装新系统工具。
特殊名称
视频、图片和附件通过共用的临时传输别名处理,显示名称保留,避免 %、URL 转义片段、引号等破坏适配器路径解析。ZIP 标题按完整 Unicode 字素及 UTF-8 字节截断,处理控制字符、尾随点/空格和 Windows 保留名称。别名等待发送结束后清理;失败同样清理,不删除源文件。
独立任务与清理
作品详情和下载文件都不缓存。每次消息触发各自解析、下载与发送,同一作品在多个群同时或前后脚出现时互不复用产物,也不共享失败状态。
任务位于 data/douyin/tasks/ 的随机独立目录。发送完成或失败后仅删除本任务目录;下载、转换或打包失败也释放本任务。启动时只回收带任务标记且能确认所属进程和媒体子进程已退出的遗留目录。归属不明确、权限不足或仍有活跃进程的目录会保留;Windows 下不会自动回收异常退出遗留目录。
游客 ttwid 与 UIFID 是必要会话状态,仅保存在内存中,不包含登录账号;不用于缓存作品或复用下载文件。
首版不包含搜索、登录、直播、主页抓取、订阅推送和跨作品合集遍历。
当前验证状态
本地回归覆盖作品模型、签名协议样本、SSR 提取、下载与发送适配器、并发任务隔离和失败清理。信息卡已在 NVIDIA RTX A4000 / Vulkan 上实际渲染并检查截图;视频探测与转封装使用真实 FFmpeg/FFprobe 验证。
2026-10-03 已通过自动游客身份与本地双层签名取得公开视频及 Live Photo 的真实作品详情,并完成同一视频的并发下载与独立清理、动态图片的静态图和视频 ZIP 打包。早期仅携带 ttwid 时遇到的 Uifid Not Found 已通过自动游客校验流程解决;分享页有时仍不包含 videoInfoRes,不能保证所有风控情况下都能降级成功。真实 QQ 上传和群聊触发需要用户环境验收;本机发送测试使用适配器替身,不向真实群发送测试消息。