Nano-banana 图像生成与编辑 Skill。支持文生图和图生图,根据文字描述或参考图使用 AI 生成/编辑图像,自动压缩大图,保存到 workspace/img 目录,并直接在飞书中展示。 触发场景:用户要求生成图片、画图、AI 绘图、创建图像、修改图片、基于图片生成、图生图。
Nano-banana 图像生成与编辑 Skill是一项面向实际任务的技能,主要用于使用 Nano-banana-3.1-Flash API 进行图像生成与编辑,支持:;文生图 (text-to-image) : 根据文字描述生成图像;
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
使用 Nano-banana-3.1-Flash API 进行图像生成与编辑,支持:
自动压缩超过 1MB 的图片,保存到 workspace,并直接在飞书中展示。
在workspace目录下创建 .env 文件:
# .env IMAGE_API_BASE_URL=https://api.imyaigc.top IMAGE_API_KEY=your-api-key-here IMAGE_MODEL=gemini-3.1-flash-image-preview IMAGE_SIZE=2K IMAGE_ASPECT_RATIO=1:1
所有生成的图片保存在:
~/.openclaw/workspace/img/
文件名格式:image_YYYYMMDD_HHMMSS.png
压缩规则:
image_YYYYMMDD_HHMMSS_original.pngimage_YYYYMMDD_HHMMSS.png直接告诉我要生成什么图片:
示例:
提供参考图和修改描述:
示例:
工作流程:
image 参数解析参数
调用 API
curl -X POST "${IMAGE_API_BASE_URL}/v1/images/generations"
-H "Authorization: Bearer ${IMAGE_API_KEY}"
-H "Content-Type: application/json"
-d '{
"model": "'"${IMAGE_MODEL}"'",
"prompt": "描述内容",
"response_format": "url",
"aspect_ratio": "16:9"
}'
获取参考图
调用 API
curl -X POST "${IMAGE_API_BASE_URL}/v1/images/generations"
-H "Authorization: Bearer ${IMAGE_API_KEY}"
-H "Content-Type: application/json"
-d '{
"model": "'"${IMAGE_MODEL}"'",
"prompt": "修改描述(如:改为水彩风格)",
"response_format": "url",
"aspect_ratio": "16:9",
"image": ["data:image/png;base64,iVBORw0KGgo..."]
}'
获取图片 URL
data[0].url下载并保存原始图片
OUTPUT_DIR=~/.openclaw/workspace/img
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
ORIGINAL_FILE="${OUTPUT_DIR}/image_${TIMESTAMP}_original.png"
FINAL_FILE="${OUTPUT_DIR}/image_${TIMESTAMP}.png"
curl -o "$ORIGINAL_FILE" "$IMAGE_URL"
检查大小并压缩(如需要)
FILE_SIZE=$(stat -f%z "$ORIGINAL_FILE" 2>/dev/null || stat -c%s "$ORIGINAL_FILE")
MAX_SIZE=$((1024 * 1024)) # 1MB
if [ "$FILE_SIZE" -gt "$MAX_SIZE" ]; then
echo "图片超过 1MB,正在压缩..."
python3 compress_image.py "$ORIGINAL_FILE" "$FINAL_FILE" 1
else
cp "$ORIGINAL_FILE" "$FINAL_FILE"
fi
发送到飞书 如果在飞书对话中,注意以下发送方式
message( action="send", channel="feishu", accountId="second", target="用户或群组ID", media="~/.openclaw/workspace/img/image_xxx.png" )
使用 compress_image.py 进行图片压缩:
# 用法 python3 compress_image.py
压缩策略:
1:1 - 正方形(默认)4:3, 3:4 - 标准比例16:9, 9:16 - 宽屏/竖屏2:3, 3:2 - 照片比例4:5, 5:4 - 接近正方形21:9 - 超宽屏1:4, 4:1 - 长条形8:1, 1:8 - 超长条形1K - 适合快速预览2K - 推荐默认(默认)4K - 高清大图512px - 小图data:image/png;base64,... 格式)POST /v1/images/generationsAuthorization: Bearer {{YOUR_API_KEY}}${IMAGE_MODEL} (默认: gemini-3.1-flash-image-preview)https://api.imyaigc.top| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | ✅ | 模型名称 |
| prompt | string | ✅ | 生成描述 |
| response_format | string | ❌ | url 或 b64_json |
| aspect_ratio | string | ❌ | 宽高比 |
| image | array | ❌ | 参考图数组(URL 或 base64) |
| image_size | string | ❌ | 图像尺寸(仅 nano-banana-2 支持) |
~/.openclaw/workspace/
├── img/ # 生成的图片保存目录
│ ├── image_20260302_221900_original.png # 原始图片
│ ├── image_20260302_221900.png # 压缩后(用于发送)
│ └── ...
└── skills/
└── image-gen/
├── SKILL.md # 本说明文件
├── image-gen.sh # 生成脚本
├── compress_image.py # 压缩工具
├── .env # API 配置
└── .env.example # 配置示例
~/.openclaw/workspace/img/ 目录image 参数相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章