OpenClaw + ComfyUI 实战:3 个案例教你自动化 AI 绘画
导读:前两篇文章我们介绍了 OpenClaw 和 ComfyUI 的基础配置(没看过的同学先补补课:第一篇 | 第二篇)。今天我们来实战,用 3 个真实案例展示如何实现从"一句话"到"一张图"的自动化流程。
📚 前置知识
阅读本文前,你需要:
✅ 已安装 OpenClaw ✅ 已安装 ComfyUI ✅ 能正常生成图片 ✅ 了解基础提示词
如果还没配置:👉 先看第二篇:OpenClaw + ComfyUI 联动教程
🎯 案例一:自动生成小红书封面
需求场景
做自媒体都知道,封面图决定点击率!
但每次都要:
想提示词 调整参数 等生成 选最好的 裁剪尺寸
太麻烦了!
自动化方案
你说:
复制
"生成小红书封面,主题是 AI 绘画教程"
OpenClaw 自动完成:
✅ 理解主题 ✅ 生成提示词 ✅ 设置 3:4 尺寸 ✅ 调用 ComfyUI ✅ 保存图片到指定目录
实现代码
python
复制
#!/usr/bin/env python3"""小红书封面自动生成器尺寸:1080x1440 (3:4)"""import requestsimport jsonclassXiaohongshuCoverGenerator:def__init__(self):self.comfyui_url = "http://127.0.0.1:8000"self.output_dir = "./covers"defgenerate(self, topic):# 1. 根据主题生成提示词 prompt = self.create_prompt(topic)# 2. 加载工作流 workflow = self.load_workflow()# 3. 设置提示词 workflow["3"]["inputs"]["text"] = prompt# 4. 提交任务 prompt_id = self.queue_prompt(workflow)# 5. 等待完成 output = self.wait_for_completion(prompt_id)# 6. 返回图片路径returnself.get_image_path(output)defcreate_prompt(self, topic):"""根据主题生成提示词""" templates = {"AI 绘画": "AI painting tutorial cover, clean design, ""minimalist style, text space at bottom, ""bright colors, professional look","科技": "futuristic technology background, neon lights, ""cyberpunk style, blue and purple, digital art","养生": "traditional chinese medicine, herbal plants, ""natural style, warm colors, peaceful atmosphere" }return templates.get(topic, templates["AI 绘画"])# 使用示例generator = XiaohongshuCoverGenerator()image_path = generator.generate("AI 绘画")print(f"封面图已保存:{image_path}")
效果展示
输入:
复制
"生成小红书封面,主题是 AI 绘画教程"
输出:
复制
✅ 封面图已保存:./covers/ai_tutorial_cover_001.png尺寸:1080x1440生成时间:8 分钟
🎯 案例二:批量生成对比图
需求场景
写教程时,经常需要对比图:
不同模型的对比 不同参数的对比 不同风格的对比
手动生成太慢!
自动化方案
你说:
复制
"生成 5 张对比图,主题是猫咪,不同风格"
OpenClaw 自动完成:
✅ 生成 5 个风格提示词 ✅ 批量提交任务 ✅ 等待所有完成 ✅ 整理到同一目录 ✅ 生成对比表格
实现代码
python
复制
#!/usr/bin/env python3"""批量生成对比图一次生成多张,自动整理"""import requestsimport jsonimport timefrom pathlib import PathclassBatchGenerator:def__init__(self):self.comfyui_url = "http://127.0.0.1:8000"self.output_dir = "./batch_output" Path(self.output_dir).mkdir(exist_ok=True)defgenerate_comparison(self, subject, styles): results = []for i, style inenumerate(styles):print(f"[{i+1}/{len(styles)}] 生成 {style} 风格...")# 1. 创建工作流 workflow = self.create_workflow(subject, style)# 2. 提交任务 prompt_id = self.queue_prompt(workflow)# 3. 等待完成 output = self.wait_for_completion(prompt_id)# 4. 保存图片 image_path = self.save_image(output, f"{subject}_{style}") results.append({"style": style,"path": image_path,"prompt": workflow["3"]["inputs"]["text"] })# 5. 生成对比报告self.generate_report(results)return resultsdefcreate_workflow(self, subject, style):"""根据主体和风格创建工作流""" style_prompts = {"写实": "photorealistic, highly detailed, professional photography","动漫": "anime style, manga, vibrant colors, clean lines","水彩": "watercolor painting, soft edges, artistic","油画": "oil painting, textured brush strokes, classical","素描": "pencil sketch, black and white, detailed lines" } prompt = f"{subject}, {style_prompts.get(style, style_prompts['写实'])}"return {"1": {"inputs": {"ckpt_name": "majicMIX realistic_v7.safetensors"},"class_type": "CheckpointLoaderSimple" },"2": {"inputs": {"width": 768, "height": 768, "batch_size": 1},"class_type": "EmptyLatentImage" },"3": {"inputs": {"text": prompt, "clip": ["1", 1]},"class_type": "CLIPTextEncode" },# ... 其他节点 }# 使用示例generator = BatchGenerator()styles = ["写实", "动漫", "水彩", "油画", "素描"]results = generator.generate_comparison("可爱的猫咪", styles)print(f"生成完成!共 {len(results)} 张图片")
效果展示
输入:
复制
"生成 5 张对比图,主题是猫咪,不同风格"
输出:
复制
[1/5] 生成 写实 风格...[2/5] 生成 动漫 风格...[3/5] 生成 水彩 风格...[4/5] 生成 油画 风格...[5/5] 生成 素描 风格...生成完成!共 5 张图片对比报告已保存:./batch_output/comparison.md
生成内容:
5 张不同风格的猫咪图 1 份对比报告(Markdown 格式) 每张图片的提示词记录
🎯 案例三:自动发布到飞书/微信
需求场景
生成图片后,还要:
保存到指定目录 发送到工作群 或者发布到公众号
还要手动操作!
自动化方案
你说:
复制
"画一只猫,发到飞书工作群"
OpenClaw 自动完成:
✅ 生成图片 ✅ 保存到指定目录 ✅ 调用飞书 API ✅ 发送到工作群 ✅ 返回发送结果
实现代码
python
复制
#!/usr/bin/env python3"""生成图片并自动发送到飞书"""import requestsimport jsonimport osimport base64from datetime import datetimeclassAutoPublisher:def__init__(self, feishu_webhook):self.comfyui_url = "http://127.0.0.1:8000"self.feishu_webhook = feishu_webhookself.output_dir = "./auto_publish"defgenerate_and_send(self, prompt, message=""):"""生成图片并发送到飞书"""# 1. 生成图片print("正在生成图片...") image_path = self.generate_image(prompt)# 2. 准备消息ifnot message: message = f"🎨 AI 绘画完成\n\n提示词:{prompt}"# 3. 发送到飞书print("正在发送到飞书...")self.send_to_feishu(image_path, message)return image_pathdefsend_to_feishu(self, image_path, message):"""发送到飞书群"""# 1. 读取图片withopen(image_path, "rb") as f: image_data = base64.b64encode(f.read()).decode()# 2. 构建消息 payload = {"msg_type": "image","content": {"image": image_data } }# 3. 发送 response = requests.post(self.feishu_webhook, json=payload)if response.status_code == 200:print("✅ 发送成功!")else:print(f"❌ 发送失败:{response.text}")# 使用示例webhook = "https://open.feishu.cn/open-apis/bot/v2/hook/xxx"publisher = AutoPublisher(webhook)image_path = publisher.generate_and_send( prompt="可爱的猫咪,坐在草地上,阳光明媚", message="大家看看这张 AI 画的猫怎么样?")
效果展示
输入:
复制
"画一只猫,发到飞书工作群"
输出:
复制
正在生成图片...正在发送到飞书...✅ 发送成功!图片已保存:./auto_publish/ai_art_20260331_200000.png
飞书群里:
复制
[图片]🎨 AI 绘画完成提示词:可爱的猫咪,坐在草地上,阳光明媚
🛠️ 完整工作流整合
把三个案例串起来
python
复制
#!/usr/bin/env python3"""OpenClaw + ComfyUI 完整工作流一键完成:理解需求 → 生成图片 → 发布"""from xiaohongshu_cover import XiaohongshuCoverGeneratorfrom batch_generator import BatchGeneratorfrom auto_publisher import AutoPublisherclassCompleteWorkflow:def__init__(self, feishu_webhook=None):self.cover_gen = XiaohongshuCoverGenerator()self.batch_gen = BatchGenerator()self.publisher = AutoPublisher(feishu_webhook) if feishu_webhook elseNonedefexecute(self, command):"""执行用户命令"""# 1. 理解意图 intent = self.parse_intent(command)# 2. 执行对应操作if intent["type"] == "cover":returnself.cover_gen.generate(intent["topic"])elif intent["type"] == "batch":returnself.batch_gen.generate_comparison( intent["subject"], intent["styles"] )elif intent["type"] == "publish":returnself.publisher.generate_and_send( intent["prompt"], intent["message"] )defparse_intent(self, command):"""解析用户意图"""if"封面"in command:return {"type": "cover", "topic": self.extract_topic(command)}elif"对比"in command or"批量"in command:return {"type": "batch", "subject": "...", "styles": [...]}elif"发"in command or"发送"in command:return {"type": "publish", "prompt": "...", "message": "..."}else:return {"type": "simple", "prompt": command}# 使用示例workflow = CompleteWorkflow(feishu_webhook="https://...")# 场景 1:生成封面workflow.execute("生成小红书封面,主题是 AI 绘画")# 场景 2:批量对比workflow.execute("生成 5 张猫咪对比图,不同风格")# 场景 3:自动发布workflow.execute("画一只猫,发到飞书工作群")
📊 性能对比
| 生成封面 | |||
| 批量对比 | |||
| 发布流程 |
总计节省时间:每次约 50-70 分钟!
💡 最佳实践
1. 提示词模板化
python
复制
PROMPT_TEMPLATES = {"小红书封面": "{topic} cover, clean design, text space, {style}","教程配图": "{topic} illustration, educational, clear, {style}","产品图": "{product} product photo, professional, white background"}
2. 参数预设
python
复制
PRESETS = {"快速": {"steps": 15, "cfg": 6.0},"标准": {"steps": 25, "cfg": 7.0},"高质量": {"steps": 35, "cfg": 8.0}}
3. 错误处理
python
复制
try: result = workflow.execute(command)except Exception as e:print(f"❌ 出错:{e}")# 重试逻辑 result = workflow.execute(command)
⚠️ 注意事项
1. 显存管理
批量生成时不要同时运行太多任务 使用 --lowvram参数定期重启 ComfyUI 释放显存
2. API 限流
飞书/微信有发送频率限制 建议加延时: time.sleep(1)批量发送时分批处理
3. 错误处理
网络异常重试 ComfyUI 崩溃检测 日志记录便于排查
🎓 进阶学习
推荐资源
文档:
OpenClaw 官方文档 ComfyUI GitHub ComfyUI 工作流示例
社区:
OpenClaw Discord CivitAI 模型站 LiblibAI 在线生成
教程:
B 站搜索"ComfyUI 教程" YouTube 搜索"ComfyUI workflow" 公众号"九阴真经"往期文章
📝 总结
通过这 3 个实战案例,我们展示了 OpenClaw + ComfyUI 的完整工作流:
| 自动生成封面 | ||
| 批量对比图 | ||
| 自动发布 |
核心价值:
✅ 零门槛:用自然语言描述即可 ✅ 高效率:自动化节省大量时间 ✅ 可扩展:根据需求定制工作流 ✅ 本地化:数据隐私安全
🔮 下期预告
《AI 绘画进阶:5 个技巧让画面更真实》
提示词优化技巧 光影效果处理 细节增强方法 常见问题解决 实战案例演示
作者:老芦公众号:九阴真经发布时间:2026-03-31
互动话题:你最想用自动化工作流做什么?评论区告诉我!
往期文章:
我用 AI 画了一只猫,只用了 3 句话!(小红书) OpenClaw + ComfyUI 联动教程(公众号)
如果觉得有用,请点赞、在看、转发三连!
夜雨聆风