直接以参考KV/海报/拍脸图为输入,调用 gpt-image-2 或 Nano Banana 模型原图延展, 按目标规格批量生成精确尺寸的图片文件,交付前AI自检文字裁切、元素完整性等问题。
把参考图直接传给图像模型的 edit 模式,用一句中文描述目标尺寸即可。模型原生理解图片内容,无需先分析再描述,也无需中间裁切。
bash
# 0. 首次使用:初始化配置(选择模型、设置API密钥)
python scripts/generate_image.py --setup
# 1. 根据参考图生成单平台配图
python scripts/generate_image.py \
-i 参考KV.png \
-p wechat-cover \
-s "五一福利活动"
# 2. 多平台批量生成
python scripts/generate_image.py \
-i 参考KV.png \
-p wechat-cover,xiaohongshu-cover,douyin-cover \
-s "618大促"
# 3. 高质量 + AI自检
python scripts/generate_image.py \
-i 参考KV.png \
-p wechat-cover,weibo-horizontal \
-s "双11活动" \
-q high \
--verify
# 4. 需要添加文字/图标时使用 --extra-prompt
python scripts/generate_image.py \
-i 参考KV.png \
-p douyin-cover \
-s "五一活动" \
--extra-prompt "在顶部添加文字'五一狂欢',底部加一个红色按钮"
# 5. 需要纯净版(去除原图LOGO/文案)
python scripts/generate_image.py \
-i 参考KV.png \
-p douyin-cover \
-s "王者荣耀" \
--extra-prompt "不要带logo"
# 6. 查看所有平台
python scripts/generate_image.py --list-platforms
# 7. 查看平台规格详情
python scripts/generate_image.py --get-spec wechat-cover
# 8. 自定义平台规格(临时使用,自动学习)
python scripts/generate_image.py \
-i 参考KV.png \
-p "我的海报:1200x800" \
-s "五一活动"
# 首次使用后自动保存为 custom_我的海报_1200x800,下次可直接用 -p custom_我的海报_1200x800
# 9. 永久添加自定义平台规格
python scripts/generate_image.py --add-spec "我的海报" 1200 800
# 10. 列出所有自定义规格
python scripts/generate_image.py --list-custom
模型配置名称说明GPT Image 2gpt-image-2OpenAI 官方图像生成模型,速度快,质量稳定Nano Banana 2nano-banana-2Google Gemini 3.1 Flash Image,性价比高,中文渲染好Nano Banana Pronano-banana-proGoogle Gemini 3 Pro Image,专业级画质
通过 --setup 选择模型,或直接编辑 ~/.content-marketing/config.json。
text
首次使用: --setup 选择模型 → 配置API地址/密钥
↓
输入参考图 (-i)
↓
[1] 查询平台规格 → 确定目标尺寸
↓
[2] 计算合法生成尺寸 → 16 的倍数且 ≥ 1MP
↓
[3] 一句话 prompt 调用 backend(gpt-image-2 / nano-banana)
→ "以这张参考图为基准,适配生成一张【平台名】,尺寸WxH..."
↓
[4] 微缩放至精确尺寸(通常 ≤ 1%,无视觉损失)
↓
[5](可选)AI 自检验证
↓
[6] 规范命名保存 + 记录品牌学习数据
参数简写说明必填--image-path``-i参考KV/海报路径(直接作为 edit 输入)推荐--brand``-b品牌名称(默认 "default")否--platforms``-p目标平台Key,逗号分隔是--scene``-s活动/场景名称是--quality``-qlow/medium/high(默认 medium)否--output-dir``-o输出目录(默认 output/)否--version版本号(默认 1)否--verify生成后执行 AI 自检验证否--extra-prompt额外指令。添加元素: "顶部加'五一狂欢'文字";去除元素(纯净版): "不要带logo"否--dry-run预览 prompt 不生成图片否--setup初始化配置向导(选择模型、设置API)否--show-config显示当前配置否--add-spec添加自定义平台规格,如 --add-spec "我的平台" 1200 800否--remove-spec删除自定义平台规格,如 --remove-spec custom_我的平台_1200x800否--list-custom列出所有自定义规格否--base64云端模式:结果 JSON 中包含 base64 编码图片,供 OpenClaw 直接展示给用户否
text
output/{场景}_{平台名称}_{宽}x{高}_v{版本}.png
示例:
text
output/五一福利活动_微信公众号封面_900x383_v1.png
output/五一福利活动_抖音视频封面_1080x1920_v1.png
output/618大促_小红书笔记封面_1242x1660_v1.png
图像模型要求宽高为 16 的倍数且总像素数不低于约 1MP。工具自动处理:
例如:目标 900×383 → 生成尺寸 1536×656 → 缩放至 900×383(比例差 < 1%)
模式触发条件行为完整版(默认)不加 --extra-prompt保留原图所有视觉元素(角色/文字/图标/装饰),仅调整构图纯净版--extra-prompt "不要带logo"仅保留角色和背景,去除文字/LOGO/装饰添加元素--extra-prompt "加文字..."在保留原图基础上按指令添加新元素
添加 --verify 参数启用 GPT-4o 质量检查,检测文字裁切、元素完整性等问题。
每次生成后可通过 feedback 记录评分和意见,系统会累积品牌设计语言。
bash
python scripts/generate_image.py --feedback "品牌名" 0 5 "配色准确,继续保持"
场景尺寸比例微信公众号封面900×383900:383公众号方形缩略图300×3001:1朋友圈竖版海报1080×19209:16朋友圈方版海报1080×10801:1小红书封面1242×16603:4小红书方版1080×10801:1抖音封面1080×19209:16微博横版1200×67516:9微博方版1200×12001:1微博竖版1200×15004:5视频号封面1080×10801:1B站封面1146×71716:10知乎封面1080×10801:1淘宝主图800×8001:1快手封面1080×19209:16Facebook 方版贴文1200×12001:1Facebook 横版贴文1200×63040:21Facebook 封面照片1200×628300:157Facebook 快拍1080×19209:16Instagram 方版贴文1200×12001:1Instagram 竖版贴文630×120021:40Instagram 快拍1080×19209:16X (Twitter) 方版贴文1200×12001:1X (Twitter) 横版贴文1200×9004:3X (Twitter) 封面横幅1500×5003:1X (Twitter) 信息流图片1600×90016:9Pinterest 图钉1000×15002:3Pinterest 方版图钉1000×10001:1Pinterest Idea Pin1080×19209:16LinkedIn 横版贴文1200×6271200:627LinkedIn 方版贴文1080×10801:1LinkedIn 公司封面1128×1911128:191
完整规格含安全区说明见 references/platform-specs.md。
当这个 skill 部署在云端 OpenClaw 时,用户通过会话交互:
text
用户 ──(上传参考图 + 文字需求)──→ OpenClaw Agent
│
保存上传图片到临时目录
│
调用 python generate_image.py \
-i <临时路径> -p wechat-cover -s "五一" --base64
│
脚本输出 JSON(含 base64 图片)
│
Agent 解析 JSON,将会话中的图片展示给用户
│
用户 ←──(收到适配后的图片)──── OpenClaw Agent
generate_image.py,将临时路径传入 --image-path## Result JSON--base64):JSON 只包含路径,需要 Agent 自行读取文件返回给用户--base64):JSON 中每个成功结果包含 image_base64 字段,Agent 可直接用 data:image/png;base64,... 在会话中展示--base64 参数json
{
"tool": "image-assets-resize",
"success": true,
"total": 2,
"ok": 2,
"results": [
{
"platform": "wechat-cover",
"output_path": "output/五一_微信公众号封面_900x383_v1.png",
"success": true,
"image_base64": "iVBORw0KGgo..."
}
],
"output_dir": "output",
"scene": "五一"
}
配置文件位置: ~/.content-marketing/config.json
json
{
"backend": "gpt-image-2",
"base_url": "https://api.openai.com/v1",
"api_key_env": "OPENAI_API_KEY"
}
字段说明backend``gpt-image-2 / nano-banana-2 / nano-banana-pro``base_urlAPI 地址(可配置中转网关)api_key_env环境变量名(推荐,避免密钥明文存储)api_key密钥明文(不推荐,仅当无法使用环境变量时)
通过 --setup 交互式配置,或直接编辑 JSON 文件。
三种方式新增自定义规格:
1. 内联格式(即用即学)
text
-p "我的平台:宽x高"
首次使用自动保存,下次可直接用 key 调用。
2. 永久添加
text
--add-spec "平台名称" 宽度 高度
保存后永久可用, --list-custom 查看所有自定义规格。
3. 删除
text
--remove-spec custom_key
自定义规格存储在 ~/.content-marketing/custom_specs.json,可与他人共享复制。