Image Gen

Polar Sponsor
爱发电 赞助
.NET 9.0

Nano-banana 图像生成与编辑 Skill。支持文生图和图生图,根据文字描述或参考图使用 AI 生成/编辑图像,自动压缩大图,保存到 workspace/img 目录,并直接在飞书中展示。 触发场景:用户要求生成图片、画图、AI 绘图、创建图像、修改图片、基于图片生成、图生图。

Nano-banana 图像生成与编辑 Skill

功能概述

Nano-banana 图像生成与编辑 Skill是一项面向实际任务的技能,主要用于使用 Nano-banana-3.1-Flash API 进行图像生成与编辑,支持:;文生图 (text-to-image) : 根据文字描述生成图像;

核心要点

  • 图生图 (image-to-image) : 基于参考图生成新图像;
  • 自动压缩超过 1MB 的图片,保存到 workspace,并直接在飞书中展示;
  • 在workspace目录下创建 .en。

使用与执行

它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Nano-banana 图像生成与编辑 Skill

使用 Nano-banana-3.1-Flash API 进行图像生成与编辑,支持:

  • 文生图 (text-to-image): 根据文字描述生成图像
  • 图生图 (image-to-image): 基于参考图生成新图像

自动压缩超过 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.png
  • 如果原图 > 1MB,自动压缩并保存为:image_YYYYMMDD_HHMMSS.png
  • 发送到时使用压缩后的版本

使用方法

1. 文生图 (Text-to-Image)

直接告诉我要生成什么图片:

示例:

  • "生成一张夕阳下的海滩图片"
  • "画一只可爱的猫咪"
  • "创建一个赛博朋克风格的大龙虾,16:9 比例"

2. 图生图 (Image-to-Image)

提供参考图和修改描述:

示例:

  • "基于这张图,改成水彩风格"
  • "把这张图改成夜景"
  • "参考这张图,生成一个类似风格的建筑"
  • "把这张照片变成油画风格"

工作流程:

  1. 用户提供参考图(发送图片)
  2. 下载图片并转为 base64
  3. 调用 API 时传入 image 参数
  4. 返回基于参考图生成的新图像

工作流程

文生图流程

  1. 解析参数

    • 提取提示词
    • 识别宽高比参数(如 "16:9"、"1:1")
  2. 调用 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"
        }'
    

图生图流程

  1. 获取参考图

    • 用户发送图片
    • 下载图片并转为 base64
  2. 调用 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..."]
        }'
    
  3. 获取图片 URL

    • 从响应中提取 data[0].url
  4. 下载并保存原始图片

    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"
    
  5. 检查大小并压缩(如需要)

    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
    
  6. 发送到飞书 如果在飞书对话中,注意以下发送方式

    message(
      action="send",
      channel="feishu",
      accountId="second",
      target="用户或群组ID",
      media="~/.openclaw/workspace/img/image_xxx.png"
    )
    

压缩工具

使用 compress_image.py 进行图片压缩:

# 用法
python3 compress_image.py   [max_size_mb]

# 示例
python3 compress_image.py original.png compressed.png 1

压缩策略:

  1. 如果图片 ≤ 1MB,不压缩
  2. 如果图片 > 1MB:
    • 逐步降低 JPEG 质量 (85 → 10)
    • 如果仍超过限制,缩小尺寸 (90% → 30%)
  3. 保留原始文件,压缩结果另存

支持的参数

宽高比 (aspect_ratio)

  • 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 - 超长条形

图像尺寸 (image_size)

  • 1K - 适合快速预览
  • 2K - 推荐默认(默认)
  • 4K - 高清大图
  • 512px - 小图

参考图 (image)

  • 类型:字符串数组
  • 格式:URL 或 base64 编码(推荐 data:image/png;base64,... 格式)
  • 支持:单张或多张参考图

API 信息

  • Endpoint: POST /v1/images/generations
  • 认证: Authorization: Bearer {{YOUR_API_KEY}}
  • 模型: ${IMAGE_MODEL} (默认: gemini-3.1-flash-image-preview)
  • Base URL: 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          # 配置示例

注意事项

  1. 图片必须保存在 ~/.openclaw/workspace/img/ 目录
  2. 超过 1MB 的图片会自动压缩后再发送到飞书
  3. 原始图片保留,方便后续使用
  4. 文件名使用时间戳避免冲突
  5. 提示词会自动翻译为英文以获得更好的生成效果
  6. API 调用可能需要 30-60 秒,请告知用户等待
  7. 图生图时:参考图会转为 base64 传入 API 的 image 参数

相关专题

更多
DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

XORM框架零基础入门教程
XORM框架零基础入门教程

本专题梳理XORM框架的入门路径,从框架定位、依赖安装、连接数据库到跑通第一个增删改查示例,讲清Engine初始化、日志开启与项目目录规划,并对比GORM等同类ORM的差异,帮助Go开发者建立整体认知。

2026.11.04

0

15

Docker Desktop怎么设置端口映射
Docker Desktop怎么设置端口映射

本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。

2026.11.03

0

18

Docker Desktop镜像构建教程
Docker Desktop镜像构建教程

想使用Docker Desktop将本地项目构建成Docker镜像?本专题围绕镜像构建的实际操作展开,介绍Dockerfile编写、构建命令使用、镜像标签设置和构建日志查看等内容,同时整理镜像无法生成、依赖安装失败及构建缓存异常等问题的排查思路。

2026.11.03

0

11

Docker Desktop容器创建指南
Docker Desktop容器创建指南

本专题聚焦Docker Desktop容器创建与运行配置,介绍通过本地镜像或远程镜像创建容器的方法,以及容器启动、终端访问、日志查看和基础管理等操作。针对端口冲突、参数配置不当、容器无法启动等情况,也整理了相应的排查方向。

2026.11.03

0

11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习