OpenClaw 批量生图实战:从 Prompt 到成品画廊
需要大量配图但没时间一张张做?OpenClaw 的 OpenAI Image Gen 技能让你批量生成 AI 图片,自动生成 HTML 画廊,还能随机采样 Prompt。本文带你搭建”说话就出图”的自动化工作流。
01 为什么批量生图?
传统配图方式的痛点:
OpenClaw 的解决方案:
-
🎲 随机采样 — 自动生成多样化 Prompt
-
🖼️ 批量生成 — 一次出 10-20 张图
-
📁 自动归档 — 生成
index.html画廊 -
🔧 灵活配置 — 支持多种模型、尺寸、风格
02 环境准备
安装依赖
# 确保 Python 3 已安装
python3 --version
# 设置 OpenAI API Key
export OPENAI_API_KEY="sk-xxxxxxxx"
配置 OpenClaw
在 ~/.openclaw/openclaw.json 中添加:
{
"skills": {
"entries": {
"openai-image-gen": {"apiKey": "sk-xxxxxxxx"}
}
}
}
03 基础用法
快速开始
# 运行生成脚本(默认生成 8 张随机图片)python3 ~/.nvm/versions/node/v22.17.0/lib/node_modules/openclaw/skills/openai-image-gen/scripts/gen.py
# 自动打开画廊
open ~/Projects/tmp/openai-image-gen-*/index.html
💡 提示: 脚本路径可能因安装方式不同而异。如果上述路径不存在,可以通过
find ~/.nvm -name "gen.py" 2>/dev/null | grep openai-image-gen查找实际路径。
输出结构:
openai-image-gen-20240315-143022/
├── image_001.png
├── image_002.png
├── ...
├── prompts.json # Prompt 和文件映射
└── index.html # 画廊页面
04 实战演示
案例 1:批量生成博客配图
场景: 需要 16 张科技风格博客配图
python3 ~/.nvm/versions/node/v22.17.0/lib/node_modules/openclaw/skills/openai-image-gen/scripts/gen.py \
--count 16 \
--model gpt-image-1 \
--size 1536x1024 \
--quality high \
--out-dir ./blog-images
参数说明:
查看结果:
# 打开画廊
open ./blog-images/index.html
浏览器会显示一个网格画廊,点击可查看大图。
案例 2:指定主题生成
场景: 需要一组”太空龙虾”主题图片
python3 ~/.nvm/versions/node/v22.17.0/lib/node_modules/openclaw/skills/openai-image-gen/scripts/gen.py \
--prompt "ultra-detailed studio photo of a lobster astronaut floating in space, cinematic lighting, 8k" \
--count 4 \
--model dall-e-3 \
--quality hd \
--style vivid
Prompt 技巧: – ✅ 具体描述:ultra-detailed studio photo – ✅ 指定风格:cinematic lighting, 8k – ✅ 明确主体:lobster astronaut floating in space
案例 3:透明背景 PNG(适合设计)
场景: 需要透明背景的产品图
python3 ~/.openclaw/skills/openai-image-gen/scripts/gen.py \
--prompt "minimalist icon of a rocket, flat design, white background" \
--model gpt-image-1 \
--background transparent \
--output-format png \
--count 8
设计用途: – 🎨 直接拖进 Figma/Sketch – 📱 做 App icon – 🌐 网站插图
案例 4:多种尺寸适配不同平台
场景: 同一主题,生成多种尺寸
# 横版(适合博客头图)python3 ~/.nvm/versions/node/v22.17.0/lib/node_modules/openclaw/skills/openai-image-gen/scripts/gen.py \
--prompt "futuristic city skyline at sunset, neon lights" \
--size 1536x1024 \
--count 4 \
--out-dir ./images/landscape
# 竖版(适合手机壁纸)python3 ~/.nvm/versions/node/v22.17.0/lib/node_modules/openclaw/skills/openai-image-gen/scripts/gen.py \
--prompt "futuristic city skyline at sunset, neon lights" \
--size 1024x1536 \
--count 4 \
--out-dir ./images/portrait
# 方形(适合社交媒体)python3 ~/.nvm/versions/node/v22.17.0/lib/node_modules/openclaw/skills/openai-image-gen/scripts/gen.py \
--prompt "futuristic city skyline at sunset, neon lights" \
--size 1024x1024 \
--count 4 \
--out-dir ./images/square
05 模型对比
DALL-E 3 专属参数
python3 ~/.nvm/versions/node/v22.17.0/lib/node_modules/openclaw/skills/openai-image-gen/scripts/gen.py \
--model dall-e-3 \
--style vivid \ # vivid = 超现实、戏剧性
--quality hd \ # hd = 更高质量
--size 1792x1024 # 超宽屏
style 选项: – vivid — 超现实、戏剧性、更吸睛 – natural — 更自然、写实
06 进阶技巧
技巧 1:自定义 Prompt 模板
编辑 ~/.openclaw/skills/openai-image-gen/scripts/gen.py,修改随机 Prompt 生成逻辑:
# 在脚本中找到 random_prompt() 函数
def random_prompt():
subjects = ["cat", "dog", "robot", "astronaut", "dragon"]
styles = ["pixel art", "oil painting", "3D render", "watercolor"]
settings = ["in a forest", "on Mars", "underwater", "in a cyberpunk city"]
return f"A {random.choice(subjects)} {random.choice(settings)}, {random.choice(styles)}, detailed, 8k"
技巧 2:批量生成后自动上传到图床
#!/bin/bash
# generate-and-upload.sh
# 1. 生成图片
python3 ~/.nvm/versions/node/v22.17.0/lib/node_modules/openclaw/skills/openai-image-gen/scripts/gen.py \
--count 10 \
--out-dir ./output
# 2. 上传到图床(如 Cloudinary)for img in ./output/*.png; do
curl -X POST https://api.cloudinary.com/v1_1/your-cloud/image/upload \
-F "file=@$img" \
-F "upload_preset=your-preset"
done
技巧 3:结合飞书文档自动配图
# 生成图片
python3 ~/.nvm/versions/node/v22.17.0/lib/node_modules/openclaw/skills/openai-image-gen/scripts/gen.py \
--prompt " 科技感数据图表,蓝色主题 " \
--count 1 \
--out-dir ./tmp
# 上传到飞书文档
feishu_doc action="upload_image" doc_token="your-doc-token" file_path="./tmp/image_001.png"
技巧 4:定时生成日报配图
# daily-image.sh
DATE=$(date +%Y%m%d)
python3 ~/.nvm/versions/node/v22.17.0/lib/node_modules/openclaw/skills/openai-image-gen/scripts/gen.py \
--prompt "daily tech news illustration, $DATE" \
--count 1 \
--out-dir ~/daily-images/$DATE
配合 cron:
# 每天早上 8 点生成
0 8 * * * /path/to/daily-image.sh
07 成本优化
省钱技巧: 1. 先用 dall-e-2 批量生成测试 Prompt 2. 选出好的 Prompt 再用 dall-e-3/gpt-image-1 生成高质量版 3. 使用 --count 控制数量,避免浪费
08 常见问题
Q1: 生成失败,提示 API Key 无效
解决:
# 检查环境变量
echo $OPENAI_API_KEY
# 或检查 OpenClaw 配置
cat ~/.openclaw/openclaw.json | jq '.skills.entries["openai-image-gen"].apiKey'
Q2: 生成的图片不符合预期
优化 Prompt: – ❌‘a cat’– ✅‘a fluffy orange tabby cat sitting on a velvet cushion, soft natural lighting, shallow depth of field, professional pet photography’
Q3: 如何生成特定风格的图片?
在 Prompt 中加入风格关键词: – pixel art — 像素风 – oil painting — 油画 – 3D render, blender — 3D 渲染 – anime style, studio ghibli — 动漫风 – minimalist, flat design — 极简扁平
Q4: 画廊页面打不开
解决:
# 直接用浏览器打开文件
chrome ./output/index.html
# 或启动本地服务器
cd ./output && python3 -m http.server 8000
# 然后访问 http://localhost:8000
09 总结
下一步: – 尝试不同的 Prompt 组合,建立你的 Prompt 库 – 结合其他技能(如飞书文档)实现自动化配图 – 探索更多 OpenAI Image API 的高级参数
本文是 OpenClaw 进阶技能系列第 3 篇,下一篇:《OpenClaw 语音工作流:听写、合成、通话一条龙》
#OpenClaw #AI 绘图 #DALL-E #批量生成 #内容创作