为豆包 (doubao.com) 的 Seedance 2.0 Fast / 2.0 Mini 视频生成增加 15s 时长选项,并去除生成内容的水印。
⚠️ 此插件为免费开源分享,不要相信任何骗取你三连的其他人核心开发者: B站Tps-pwd | UID: 3546746508544573 v6.0.0 贡献: B站嗯哼de呀 | UID: 491672078
- ✅ 15s 视频时长 — 在时长菜单中注入 "15s" 选项,请求中自动修改 duration 参数
- ✅ 原生样式 — 15s 选项与原生菜单完全一致
- ✅ 开关控制 — 弹窗可一键启用/禁用插件
- ✅ 时长选择 — 弹窗可切换 5s/10s/15s
- ✅ Hook 保护 — 使用
Object.defineProperty防止页面脚本覆盖拦截器 - ✅ 自动恢复 — 定期检测 hook 状态,失效时自动重新安装
- ✅ UI 显示修正 — 选择 15s 后,菜单勾选和按钮文字均正确显示为 15s
- 下载本仓库源码(Code → Download ZIP)
- 解压到本地任意目录
- 打开浏览器,地址栏输入
chrome://extensions/(Edge 为edge://extensions/) - 开启右上角 "开发者模式"
- 点击 "加载解压缩的扩展"
- 选择解压后的文件夹
- 完成!访问 doubao.com 即可使用
- 安装插件后,访问 豆包
- 进入视频生成功能(Seedance 2.0 Fast)
- 点击 时长 下拉菜单,选择新增的 "15s" 选项
- 输入提示词,生成视频
- 无水印功能对新生成的内容自动生效
点击浏览器工具栏的插件图标,可以:
- 启用/禁用 插件
- 切换时长 (5s / 10s / 15s)
- 查看开发者信息
用户选择 15s → 勾选标记移至 15s 选项
↓
按钮文字更新为 "15s"
↓
配置保存到 chrome.storage
↓
发送请求时,fetch hook 拦截请求体
↓
正则匹配 "duration":10 → 替换为 "duration":15
↓
服务器收到 duration=15 → 生成 15s 视频
关键技术点:
inject.js以world: "MAIN"注入,在页面脚本之前运行- 使用
Object.defineProperty保护window.fetch不被页面覆盖 content.js通过注入 script 标签提供 hook 恢复机制- 支持
ReadableStream和FormData格式的请求体 - 正则匹配多层转义格式:
"duration":10、\"duration\":10、\\"duration\\":10 - UI 显示修正:选择 15s 后自动把勾选标记从 10s 移到 15s,并修正按钮文字
通过 declarativeNetRequest 静态规则重写网络请求:
- 图片:替换水印后缀为无水印格式
- 视频:移除
logo_type水印参数 - 封面:替换水印后缀为无水印格式
| 时长 | 额度消耗 |
|---|---|
| 5s | 1 额度 |
| 10s | 2 额度 |
| 15s | 3 额度 |
- ✅ Thread页面解析 — 从
doubao.com/thread/xxx分享页提取视频数据 - ✅ 无水印下载 — 通过
samantha/aispace/get_download_infoAPI 获取无水印视频URL - ✅ Referer头修复 — 下载时带
Referer头,避免CDN 403 - ✅ 修复
data-fn-args解析格式兼容性(支持两种JSON结构) - ✅ 修复
scanForGeneratedVideos语法错误 - ✅ 获取到无水印URL后自动覆盖水印版URL
- ✅ 豆包无水印视频API获取 — 3步API流程获取原始高质量无水印视频
- ✅ 自动扫描vid并异步获取无水印URL
- ✅ 39MB原始高质量视频(对比有水印版仅2MB)
- ✅ MutationObserver 监听视频元素插入,立即替换水印
- ✅ 不再依赖
setInterval定时检查
- ✅ 修复面板不显示豆包视频链接
- ✅
mergeUrlMap防止替换器保存的URL被后续响应覆盖 - ✅ 面板自动扫描
creation_block中的视频ID和封面图
- ✅ 支持 Seedance 2.0 Mini — 插件现可与 Seedance 2.0 Mini 兼容使用
- ✅ 重构 UI 显示逻辑:添加
syncMenuCheckmark()函数自动同步勾选标记位置 - ✅ 修复选择 15s 后按钮文字显示:下拉按钮正确显示 "15s"
- ✅ 添加
patchDurationButton()/clearDurationButtonPatch()函数 - ✅ 增强 SPA 路由变化检测,确保导航后自动恢复 hook
- ✅ 修复选择 15s 后 UI 显示问题:菜单勾选正确显示在 15s 选项上
- ✅ 修复选择 15s 后按钮文字显示:下拉按钮正确显示 "15s"
- ✅ 添加
syncMenuCheckmark()函数:自动同步勾选标记位置 - ✅ 添加
patchDurationButton()函数:修正按钮文字显示 - ✅ 添加
clearDurationButtonPatch()函数:切换回原生时长时恢复显示 - ✅ 更新工作原理描述,反映 UI 显示已修复
B站嗯哼de呀 | UID: 491672078
- ✅ 15s 视频时长注入
- ✅ Object.defineProperty hook 保护
- ✅ 自动 hook 恢复机制
- ✅ 弹窗控制界面
- ✅ 开发者信息展示