← 返回 Skill 列表
extension
分类: 内容与媒体API Key 暂未确认

调用豆包生成视频

豆包操作生视频 skill:用豆包网页版(doubao.com,Seedance 模型)生成数字人/带货视频的全套自动化流程:登录、上传参考图、输入提示词、生成、下载、去水印、拼接、抽封面。当用户提到"豆包生成视频"、"豆包操作生视频"、"数字人视频"、"Seedance"、"生成带货视频"或要把提示词变成视频时使用本 Skill。

person作者: tagoreonehubModelScope

豆包视频生成自动化

工作区:C:\Users\Administrator\Desktop\deepseek(Playwright 脚本 + 配置 + 登录态都在此)。

核心规则(必须遵守)

  1. 生成前必须向用户展示完整参数并获得明确确认(数量/模型/参考图/每段提示词/额度消耗),用户确认后才点发送。
  2. 先 dry-run 再正式生成:--dry-run 走到"提示词已输入+发送按钮已找到"为止,不点发送、不耗额度。
  3. 登录态短时效:页面出现"登录"字样就要重新登录(doubao_login.js,headful 窗口扫码,约 2 分钟超时)。
  4. 中文参数一律走 JSON 配置文件(gen_config.json),不要拼命令行——Windows 命令行转义会把中文引号搞乱。
  5. 用 cmd /c "node ..." 运行脚本(PowerShell 的执行策略会拦 npm/npx 的 ps1 包装)。

文件布局

| 路径 | 用途 | | --- | --- | | doubao_login.js | 登录豆包(持久 profile .doubao_profile\,自动检测登录完成) | | doubao_generate.js | 主脚本:读配置 → 切视频模式 → 传参考图 → 输提示词 → 点生成 → 等 <video> → 下载 mp4 | | gen_config.json | 当前正式配置:prompts[] + images[] + out | | postprocess.js | 后期:去豆包水印 + 裁 10 秒 + 拼接 + 抽帧封面(ffmpeg) | | doubao_prompt.js | 提示词模板(固定人物+耳机描述块,保持形象一致) | | 数字资产\ | 素材:女人1(皮衣女孩)、女人2、产品白底.jpg、卖点\(GK58 详情页) | | .doubao_profile\ | 浏览器登录态,勿删 |

工作流

# 1) 检查/建立登录态
cmd /c "node doubao_login.js"            # 浏览器弹出,用户扫码,自动检测

# 2) 写/改配置(prompts、images、out)
#    → 用 write 工具改 gen_config.json

# 3) dry-run 验证(必做)
cmd /c "node doubao_generate.js --config gen_config.json --dry-run"

# 4) 向用户展示参数,获得确认后正式生成(后台运行,每段约 1-3 分钟)
cmd /c "node doubao_generate.js --config gen_config.json"

# 5) 后期
cmd /c "node postprocess.js 生成视频\豆包视频_1.mp4 生成视频\豆包视频_2.mp4 --out 成品.mp4 --cover 封面.jpg"

生成脚本输出到 生成视频\豆包视频_N.mp4;失败会打印原因(未登录/超时/下载失败),按提示处理。

豆包页面关键事实(踩坑记录)

  • 入口:https://www.doubao.com/chat/ → 点侧栏「视频生成」进入视频模式(模型 Seedance 2.0 Mini,默认 10 秒)。
  • 输入框选择器:.ProseMirror(Tiptap 编辑器),用 page.keyboard.insertText() 输入。
  • 发送按钮:输入栏里计算背景色为蓝色的 button(findSendButton 按背景色找,不要用文字)。
  • 参考图:隐藏 input[type="file"](accept .jpg/.png/.webp,multiple),用 setInputFiles() 直接塞。
  • 完成后页面出现 <video> 元素,取 src 下载(http(s) GET 跟随重定向);兜底方案:找「下载」按钮 + page.on('download')。
  • 右下角有「豆包AI生成」水印,位置约 x=500-715, y=1160-1270(720x1280 画幅),用 delogo=x=500:y=1160:w=215:h=110 去除(postprocess.js 已内置)。
  • page.goto 用 waitUntil: 'domcontentloaded'——豆包是 SPA,networkidle 永远等不到。
  • 页面跳转时 page.evaluate 会报 "Execution context was destroyed",用 safeEvaluate 重试包裹。

提示词模板要点

固定形象块(每段必带,保证一致性)+ 场景 + 动作 + 台词 + 字幕 + 运镜 + 氛围 + 时长。 当前人物:女人1(黑色机车皮衣+高领内搭+深色牛仔裤,黑色微卷长发)。 当前产品:GK58 星河紫开放式 TWS 耳机(卖点:Hi-Res 金标音质 3 倍、36h 续航、无感佩戴、蓝牙 6.0、AI 同传)。 模板代码:doubao_prompt.js。换人物时先用 modlens 看参考图,改固定形象块。

modlens 看图通道故障修复(本 skill 依赖看图时)

modlens 依赖 LM Studio 本地服务(localhost:1234,模型 qwen2.5-vl-7b-instruct)。 报 502 = 服务没启动,报 "Invalid model identifier" = 模型 ID 不对:

cmd /c "C:\Users\Administrator\.lmstudio\bin\lms.exe server start"
cmd /c "C:\Users\Administrator\.lmstudio\bin\lms.exe load qwen2.5-vl-7b-instruct"

模型 ID 必须精确无空格(~/.modlens/config.json 和 ~/.dsh/settings.yaml 的 lmstudio 列表)。

额度提醒

正式生成消耗用户豆包标准套餐额度,不可撤回——再次强调:没有用户明确确认,绝不点发送。