Install
openclaw skills install @huangm199/doubao-image-auto豆包 AI 创作自动化 - 通过 CDP 浏览器自动化实现无手动交互的图像生成与提取。工作流:1) 连接已打开的豆包页面 2) 导航到 AI 创作页 3) 输入 prompt 并自动生成 4) 提取生成的图片 URL 5) 下载保存到本地。
openclaw skills install @huangm199/doubao-image-auto通过 OpenClaw 浏览器控制(CDP)自动化完成豆包 AI 创作页面生图。
/chat/create-image// 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'
})
// 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)
}
✅ 已完全搞定! - 不需要浏览器,纯 API 调用,自动保存图片
# 直接生成图片并下载
node doubao_media_api.js chat "生成一只可爱的卡通老虎头像,动漫风格" --download --output "./captures"
Session 文件位置:C:\Users\huang\.doubao_chat_session.json
每次调用 API 时会自动读取这个 Cookie,不需要打开浏览器。
如需手动刷新 Cookie:
node doubao_api.js login-if-needed