Install
openclaw skills install doubao-imgGenerate high-quality images using Doubao (豆包) AI image generation. Use when the user asks for AI-generated images, artwork, illustrations, or any visual con...
openclaw skills install doubao-imgGenerate images using ByteDance's Doubao (豆包) AI image generation service via browser automation.
https://www.doubao.comhttps://www.doubao.com and open the image generation modebrowser(action="open", url="https://www.doubao.com/chat/create-image", profile="openclaw")
Or navigate to existing chat with image gen history:
browser(action="snapshot", profile="openclaw")
Find the text input and enter the image description:
browser(action="act", kind="fill", ref=<textbox-ref>, text="<prompt>", profile="openclaw")
browser(action="act", kind="press", key="Enter", profile="openclaw")
Wait 10-20 seconds for the images to generate:
exec(command="sleep 15")
Then check if images are ready by taking a screenshot.
Use browser evaluate to extract image URLs from the page:
// Find all generated images (image_generation URL pattern)
const imgs = document.querySelectorAll('img[src*="image_generation"]');
const urls = Array.from(imgs).map(img => ({
src: img.src,
w: img.naturalWidth,
h: img.naturalHeight
}));
Use the image_pre_watermark_1_5b URL variant for highest quality (1773×2364):
curl -L -H "Referer: https://www.doubao.com/" \
-H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)" \
-o output.png "<url_with_image_pre_watermark>"
If the image_pre_watermark URL fails (signature mismatch), fall back to extracting via browser CDP WebSocket:
// Connect to CDP and extract image via canvas
const dataUrl = await new Promise(resolve => {
const canvas = document.createElement('canvas');
canvas.width = img.naturalWidth;
canvas.height = img.naturalHeight;
const ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0);
canvas.toBlob(blob => {
const reader = new FileReader();
reader.onload = () => resolve(reader.result);
reader.readAsDataURL(blob);
}, 'image/png');
});
Use sendAttachment for BlueBubbles/iMessage:
message(action="sendAttachment", channel="bluebubbles", filePath="<path>")
Doubao CDN serves multiple versions of generated images:
| URL Suffix | Resolution | Use Case |
|---|---|---|
downsize_watermark_1_5_b.png | ~288×384 | Thumbnail, watermarked |
image_pre_watermark_1_5b.png | ~1773×2364 | High-res, no watermark |
image_dld_watermark_1_5b.png | ~1773×2364 | Download version |
web-operation.webp | ~435×580 | Web preview |
Important: Each URL requires a unique CDN signature (x-signature). You cannot simply swap URL suffixes — the signature must match the specific image and URL type.
For high-quality image generation, include these keywords in prompts:
sendAttachment action instead of send with filePath战斗暴龙兽3D手办,高精度模型,精美的细节,金属质感盔甲,蓝色闪耀的勇气之盾,动感战斗姿态,站在岩石底座上,专业摄影棚灯光,工作室渲染,高品质,8K
可爱柴犬头像,日式插画风格,柔和配色,圆润线条,温暖光影,专业插画师作品
赛博朋克城市夜景,霓虹灯,高楼大厦,雨天反射,电影级渲染,超高清细节
sendAttachment for BlueBubbles to avoid media path issues