← 返回
未分类

doubao-image-auto

豆包 AI 创作自动化 - 通过 CDP 浏览器自动化实现无手动交互的图像生成与提取。工作流:1) 连接已打开的豆包页面 2) 导航到 AI 创作页 3) 输入 prompt 并自动生成 4) 提取生成的图片 URL 5) 下载保存到本地。
豆包 AI 创作自动化 - 通过 CDP 浏览器实现无手动交互的图像生成与提取。工作流:① 连接已打开的豆包页面 ②进入 AI 创作页 ③ 输入 prompt 自动生成 ④ 提取图片 URL ⑤ 下载保存到本地。
huangm199 huangm199 来源
未分类 clawhub v2.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 341
下载
💾 0
安装
1
版本
#latest

概述

doubao-image-auto

通过 OpenClaw 浏览器控制(CDP)自动化完成豆包 AI 创作页面生图。

工作原理

  1. 连接浏览器 - 通过 CDP 连接到已打开的豆包页面(端口 18800)
  2. 导航到 AI 创作页 - 打开 /chat/create-image
  3. 自动输入 - 在文本框输入 prompt
  4. 自动点击生成 - 点击生成按钮
  5. 提取图片 URL - 从页面 DOM 中提取图片地址
  6. 下载保存 - 下载到指定目录

使用方式

方式一:通过 OpenClaw 浏览器(推荐)

// 1. 打开豆包 AI 创作页
await browser.navigate('https://www.doubao.com/chat/create-image')

// 2. 输入 prompt(在 textbox 中输入)
await browser.act({
  kind: 'type',
  ref: '<textbox ref>',
  text: '生成一只可爱的老虎头像,动漫风格'
})

// 3. 点击生成按钮
await browser.act({
  kind: 'click',
  ref: '<button ref>'
})

// 4. 等待生成完成后,提取图片 URL
const result = await browser.act({
  fn: `() => {
    const imgs = document.querySelectorAll('img[src*="byteimg"], img[src*="imagex"]');
    return Array.from(imgs).slice(0,4).map(i => i.src);
  }`,
  kind: 'evaluate'
})

方式二:独立 Node 脚本

// doubao-auto-gen.js
const CDP = require('chrome-remote-interface');

async function main() {
  const targets = await CDP.List({ port: 18800 });
  const page = targets.find(t => t.type === 'page' && t.url.startsWith('https://www.doubao.com'));
  if (!page) throw new Error('No Doubao page');

  const client = await CDP({ target: page.id, port: 18800 });
  const { Runtime, Input } = client;
  await Runtime.enable();

  // 导航到 AI 创作页
  await Runtime.evaluate({ expression: 'window.location.href = "https://www.doubao.com/chat/create-image"' });
  await new Promise(r => setTimeout(r, 3000));

  // 输入 prompt
  const prompt = '生成一只可爱的老虎头像,动漫风格';
  await Runtime.evaluate({
    expression: `
      (function(){
        const ta = document.querySelector('textarea');
        if(!ta) return JSON.stringify({ok:false});
        ta.value = '${prompt}';
        ta.dispatchEvent(new Event('input', {bubbles:true}));
        return JSON.stringify({ok:true});
      })()
    `,
    returnByValue: true
  });

  // 按回车发送
  await Input.dispatchKeyEvent({ type: 'keyDown', windowsVirtualKeyCode: 13 });
  await Input.dispatchKeyEvent({ type: 'keyUp', windowsVirtualKeyCode: 13 });

  // 等待生成
  await new Promise(r => setTimeout(r, 15000));

  // 提取图片
  const images = await Runtime.evaluate({
    expression: `
      (function(){
        const imgs = [...document.querySelectorAll('img')].filter(img => 
          img.src.includes('byteimg') || img.src.includes('imagex')
        );
        return JSON.stringify(imgs.map(img => img.src));
      })()
    `,
    returnByValue: true
  });

  console.log('Images:', images.result.value);
  await client.close();
}

main().catch(e => console.error(e));

图片下载

# PowerShell 下载图片
$urls = @('图片URL1', '图片URL2')
$outDir = 'C:\path\to\output'
foreach ($url in $urls) {
  $name = [System.IO.Path]::GetFileName([System.Uri]$url.Split('~')[0]) + '.png'
  Invoke-WebRequest -Uri $url -OutFile (Join-Path $outDir $name)
}

依赖

  • 浏览器 - Chrome/Edge 已打开并启用远程调试(端口 18800)
  • CDP 连接 - OpenClaw 浏览器控制已启动,或独立 chrome-remote-interface
  • 网络 - 能访问 doubao.com 和 byteimg.com

当前状态

已完全搞定! - 不需要浏览器,纯 API 调用,自动保存图片

已验证的工作流

# 直接生成图片并下载
node doubao_media_api.js chat "生成一只可爱的卡通老虎头像,动漫风格" --download --output "./captures"
  • ✅ Session 保持有效(无需每次登录)
  • ✅ 从 SSE 响应中提取图片 URL
  • ✅ 自动下载原图到本地
  • ✅ 生成的图片发送给你

Cookie 复用机制

Session 文件位置:C:\Users\huang\.doubao_chat_session.json

每次调用 API 时会自动读取这个 Cookie,不需要打开浏览器。

如需手动刷新 Cookie:

node doubao_api.js login-if-needed

版本历史

共 1 个版本

  • v2.0.0 当前
    2026-05-07 08:25 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-agent

self-improving agent

pskoett
记录自身发现以实现自我改进的技能
★ 4,163 📥 933,457
ai-agent

Agent Browser

rez0
用于 AI 代理的浏览器自动化 CLI。当用户需要与网站交互(包括浏览页面、填写表单、点击按钮、截图等)时使用。
★ 865 📥 343,470
design-media

Zhipu GLM Image

huangm199
智谱GLM-Image 网页端生成并下载图片。检查/自动登录 image.z.ai,抓取 Cookie,生成图片并保存至本地。适用于生图、保存、检查登录等场景。
★ 0 📥 461