豆包视频生成自动化
工作区:C:\Users\Administrator\Desktop\deepseek(Playwright 脚本 + 配置 + 登录态都在此)。
核心规则(必须遵守)
- 生成前必须向用户展示完整参数并获得明确确认(数量/模型/参考图/每段提示词/额度消耗),用户确认后才点发送。
- 先 dry-run 再正式生成:
--dry-run走到"提示词已输入+发送按钮已找到"为止,不点发送、不耗额度。 - 登录态短时效:页面出现"登录"字样就要重新登录(
doubao_login.js,headful 窗口扫码,约 2 分钟超时)。 - 中文参数一律走 JSON 配置文件(
gen_config.json),不要拼命令行——Windows 命令行转义会把中文引号搞乱。 - 用
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 列表)。
额度提醒
正式生成消耗用户豆包标准套餐额度,不可撤回——再次强调:没有用户明确确认,绝不点发送。
微信扫一扫