| name | pix-image-generator |
| description | This skill should be used when the user asks to generate or process images. Activates with phrases like generate image, create icon, make logo, design illustration, cut image, remove background. Provides image generation and processing capabilities via ComfyUI through n8n workflow service. |
pix-image-generator 技能
📂 基础信息
| 属性 | 值 |
|---|
| 名称 | pix-image-generator |
| 版本 | 1.0.0 |
| 类型 | 工具技能 |
| 核心功能 | 图像生成与处理 |
| 适用环境 | Trae |
🎯 核心目标
pix-image-generator 是一个图像生成与处理技能,通过调用 n8n 工作流服务和 ComfyUI,帮助用户生成高质量的图片素材,并支持智能抠图、裁剪和尺寸调整。
解决的问题
| 痛点 | 解决方案 |
|---|
| 需要专业设计工具才能创建图标/logo | 通过自然语言描述直接生成图片 |
| 手动抠图耗时费力 | 自动去除背景,保留透明通道 |
| 图片尺寸不规范 | 自动调整图片尺寸和比例 |
| 需要多种设计风格的素材 | 支持多种风格生成(扁平、科技、自然、复古等) |
⚠️ 重要限制:必须串行执行
图像生成服务是阻塞顺序执行的,同一时间只能处理一个请求。
并发规则
- ❌ 禁止并发请求:不要同时发起多个 API 请求
- ✅ 必须串行执行:等待当前请求完成并拿到结果后,才能发起下一个请求
- ✅ 逐个处理:如需生成多张图片,请按顺序一张一张生成
错误示例(禁止)
const promises = prompts.map(p => callAPI(p));
await Promise.all(promises);
正确示例(必须遵守)
for (const prompt of prompts) {
const result = await callAPI(prompt);
results.push(result);
}
给用户的提示
当用户请求生成多张图片时,你应该:
- 明确告知用户:"由于服务限制,我将按顺序逐张生成图片,请稍候。"
- 每生成一张后向用户汇报进度:"第 1/3 张已完成,正在生成第 2 张..."
- 全部完成后汇总所有结果
🚀 使用方法
激活方式
当你询问以下类型的问题时,pix-image-generator 会自动激活:
- "帮我生成一个 App 图标"
- "创建一个科技风格的 Logo"
- "制作一个扁平风格的插画"
- "生成带透明背景的图片"
- "帮我切图/抠图"
预期输出
pix-image-generator 会返回:
- 生成的图片 URL
- 图片尺寸和格式信息
- 生成进度(多张图片时)
🌟 功能描述
本技能用于调用 n8n 工作流服务,通过 ComfyUI 生成符合设计规范的图片素材。支持:
- 根据详细描述生成定制化图片
- 智能去除背景,保留透明通道
- 自动调整图片尺寸和比例
- 生成可用于 App 图标、Logo、插画等场景的素材
📋 API 信息
请求地址
POST http://192.168.1.3:5678/webhook/comfyui-generate-cut-flat
请求头
Content-Type: application/json
Accept: */*
请求参数说明
| 参数名 | 类型 | 必填 | 说明 |
|---|
| prompt | object | 是 | 结构化的图片描述 JSON 对象,定义场景、主体、色彩、构图等 |
| width | number | 是 | 输出图片宽度(像素),建议 256-2048 之间 |
| height | number | 是 | 输出图片高度(像素),建议 256-2048 之间 |
Prompt 对象结构模板
{
"scene": {
"style": "设计风格描述,如 flat vector logo design",
"format": "画面格式描述,如 square icon, 1:1 ratio",
"mood": "氛围/情绪描述,如 cozy, minimal",
"target_usage": "目标用途描述,如 app icon, logo"
},
"subject": {
"type": "主体类型,如 bookend, character",
"shape": "主体形状描述,如 L-shaped",
"style": "主体风格描述,如 flat design, no gradients"
},
"color_palette": {
"main": "主色调,如 #D4A574",
"secondary": ["辅助色1", "辅助色2"],
"background": "背景色,如 transparent"
},
"composition": {
"elements": "元素数量和布局,如 4 books total",
"layout": "排列方式,如 slightly staggered",
"view_angle": "视角,如 isometric",
"framing": "构图方式,如 edge-to-edge",
"scale": "缩放程度,如 zoomed in"
},
"details": {
"style": "细节风格描述",
"features": "具体特征描述",
"texture": "质感描述"
},
"typography": {
"include_text": false,
"text_content": "如需文字则填写内容",
"font_style": "字体风格"
},
"output_format": {
"ratio": "宽高比,如 1:1",
"resolution": "分辨率,如 1024x1024",
"background": "背景,如 transparent"
}
}
请求示例
curl --location 'http://192.168.1.3:5678/webhook/comfyui-generate-cut-flat' \
--header 'Content-Type: application/json' \
--data '{
"prompt": {
"scene": {
"style": "flat vector logo design",
"format": "square icon, 1:1 ratio",
"mood": "cozy, minimal",
"target_usage": "app icon"
},
"subject": {
"type": "bookshelf and bookend",
"shape": "L-shaped bookend",
"style": "flat design"
},
"color_palette": {
"main": "#D4A574",
"secondary": ["#FF6B6B", "#4ECDC4", "#FFE66D"],
"background": "transparent"
},
"composition": {
"elements": "4 books total",
"view_angle": "isometric",
"framing": "edge-to-edge"
},
"output_format": {
"ratio": "1:1",
"resolution": "1024x1024",
"background": "transparent"
}
},
"width": 1024,
"height": 1024
}'
响应格式
成功响应:
{
"code": 200,
"message": "success",
"image_url": "http://192.168.1.4:8123/view?filename=ComfyUI_xxxxx.png&subfolder=&type=output"
}
失败响应:
{
"code": 400,
"message": "error description"
}
🛠️ 使用流程
第一步:理解用户需求
当用户请求生成图片时,你需要:
- 分析用户描述的设计要求
- 识别关键元素:主题、风格、颜色、尺寸、用途等
- 询问补充信息(如不明确)
- 如需生成多张图片,告知用户将串行逐张生成
第二步:构建 Prompt 对象
根据用户需求,组织结构化的 Prompt 对象。
第三步:确定尺寸参数
- App 图标:1024x1024
- 网页 Logo:512x512
- 插画/配图:1920x1080 或根据比例调整
- 头像:300x300
- 如果用户未指定尺寸,默认使用 1024x1024
第四步:串行调用 API(重要)
严格按照串行模式调用 API,等待前一个请求完成后再发起下一个。
第五步:返回结果
将返回的 image_url 呈现给用户,多张图片时按顺序列出所有结果
📦 常见场景模板
1. App 图标生成
{
"prompt": {
"scene": {
"style": "modern flat vector design",
"format": "square icon, 1:1 ratio, full frame",
"mood": "professional, clean",
"target_usage": "mobile app icon"
},
"subject": {
"type": "用户指定的主题",
"style": "flat design, minimal gradients"
},
"color_palette": {
"background": "transparent"
},
"composition": {
"view_angle": "straight on",
"framing": "edge-to-edge, full bleed",
"scale": "zoomed in"
},
"output_format": {
"ratio": "1:1",
"resolution": "1024x1024",
"background": "transparent"
}
},
"width": 1024,
"height": 1024
}
2. 透明背景 Logo 生成
{
"prompt": {
"scene": {
"style": "minimal vector design",
"format": "standalone logo mark",
"mood": "根据品牌调性确定"
},
"color_palette": {
"background": "transparent"
},
"composition": {
"view_angle": "straight on",
"framing": "edge-to-edge"
},
"output_format": {
"background": "transparent"
}
}
}
3. 插画生成
{
"prompt": {
"scene": {
"style": "用户指定的插画风格",
"mood": "用户指定的氛围"
},
"color_palette": {
"background": "solid color or transparent"
},
"output_format": {
"ratio": "根据用途确定",
"resolution": "1920x1080"
}
}
}
💡 交互示例
示例 1:单张图片生成
用户:"帮我生成一个读书 App 的图标,要有一本打开的书和台灯,暖色调,扁平风格,透明背景"
响应:
"好的,我来为你生成一个读书 App 图标,包含打开的书本和台灯,暖色调扁平风格,透明背景。"
(调用 API,等待结果)
"图片已生成完成!下载地址:[image_url]。推荐尺寸 1024x1024,适合用作 App 图标。"
示例 2:多张图片生成(串行处理)
用户:"帮我生成 3 个不同风格的 Logo,分别是科技风、自然风、复古风"
响应:
"好的,我为你生成 3 个不同风格的 Logo。由于服务限制,我将按顺序逐张生成,请稍候。"
"进度: 正在生成第 1/3 张(科技风)..."
"✅ 第 1 张已完成:科技风 Logo → [image_url]"
"正在生成第 2/3 张(自然风)..."
"✅ 第 2 张已完成:自然风 Logo → [image_url]"
"正在生成第 3/3 张(复古风)..."
"✅ 第 3 张已完成:复古风 Logo → [image_url]"
"全部 3 张图片已生成完毕!"
📋 快速参考
| 用途 | 推荐尺寸 | 宽高比 | 背景建议 |
|---|
| App 图标 | 1024x1024 | 1:1 | 透明 |
| 网页 Logo | 512x512 | 1:1 | 透明 |
| 公众号封面 | 900x383 | 2.35:1 | 不透明 |
| 社交媒体配图 | 1080x1080 | 1:1 | 可选 |
| Banner | 1920x1080 | 16:9 | 不透明 |
| 头像 | 300x300 | 1:1 | 可选 |
⚠️ 注意事项
- 并发限制(最重要):图像生成服务是阻塞顺序执行的,严禁并发请求。必须等待当前请求返回结果后才能发起下一个请求。生成多张图片时必须使用串行模式(for 循环逐个 await)。
- 尺寸限制:width 和 height 建议不超过 2048px,以保证处理速度
- 背景透明:如需透明背景,确保
output_format.background = "transparent"
- 处理时间:图像生成通常需要 5-15 秒,请耐心等待
- 格式说明:生成的图片为 PNG 格式,支持透明通道
- 网络环境:确保调用端能访问
192.168.1.3:5678 和 192.168.1.4:8123
- 超时处理:如单个请求超过 60 秒,建议超时重试,但重试时也要保持串行
🚨 错误处理
常见错误及处理方式
| 错误类型 | 处理方法 |
|---|
| 并发请求导致服务拒绝 | 改为串行执行,添加等待间隔 |
| 单个请求超时 | 等待 60 秒后重试一次,仍失败则提示用户 |
| 服务返回 404 | 检查 Webhook URL 是否正确,工作流是否激活 |
| 服务返回 500 | 提示用户服务异常,稍后重试 |