关于 generate-image
通过命令行使用 Nano Banana Pro 生成图像的技能,也可选择 Gemini、OpenAI 或 xAI。它涵盖提示词准备、风格选择、参考图使用及从草稿到成品的迭代流程。
主要功能
- 01根据文本提示生成图像
- 02从风格库选择风格
- 03用参考图生成变化版本
- 04设置尺寸、宽高比和输出选项
- 05选择 Gemini、OpenAI 或 xAI
适用场景
- 01创作艺术作品与插图
- 02根据参考图生成变化版本
- 03制作社交分享图片
- 04从草稿迭代到高分辨率成品
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ b-open-io/ gemskills --skill generate-image安装后在 Claude Code 中输入/generate-image确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.clawnet/unsigned-skill.jsonreferences/prompt-guide.mdscripts/generate.ts详细介绍
生成图像
使用 Nano Banana Pro(gemini-3-pro-image)生成图像。
适用场景
用户要求以下操作时,使用此技能:
- 根据文本提示词生成图像
- 创作艺术作品、插画或图形
- 生成现有图像的变体(img2img)
- 使用多张参考图像创建场景(角色 + 地点 + 其他角色)
风格选择
如果用户未指定风格,请先提出一道多选题:
你希望如何处理艺术风格?
- 挑选风格 - 以可视化方式浏览 167 种风格并选择一种
- 由我选择 - 我会根据你的提示词推荐一种风格
- 什么是风格? - 了解风格系统的工作原理
- 不使用风格 - 不指定特定艺术风格来生成
使用 AskUserQuestion 工具呈现此选项。
如果用户选择“挑选风格”,启动风格选择器(默认使用挑选模式):
STYLE_JSON=$(bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/browsing-styles/scripts/preview_server.ts)
选择器会在浏览器中打开。用户点击一种风格,查看详情弹窗,然后点击“Select This Style”。STYLE_JSON 会以 JSON 格式接收所选内容,随后服务退出。解析 id 字段,并通过 --style <id> 将其传递给生成命令。
如果用户选择“由我选择”,请根据用户的提示词选择最合适的风格,并说明原因。使用下方“向用户推荐风格”部分中的风格建议。
如果用户选择“什么是风格?”,请说明:共有 167 种精选艺术风格,涵盖 10 个类别(传统、数字、插画、摄影、设计、复古、技法、装饰、创意、文化)。每种风格都包含提示词提示和一张视觉参考图块,会发送给 Gemini,以便更好地遵循风格。然后再次询问风格问题。
如果用户已指定风格(例如“生成水彩风格的图像”),则完全跳过此步骤,直接使用 --style。
先了解设计方向
重写提示词前,先提出澄清问题,了解用户的意图:
- 用途:图像有什么用途?(横幅、徽标、社交媒体、产品图、艺术作品)
- 配色方案:是否有品牌色?深色/浅色主题?特定情绪?
- 构图限制:需要什么宽高比?是否需要预留文字叠加空间?满版还是带边框?
- 关键元素:必须包含什么?应该避免什么?
对于“生成一张猫的图像”这类简单请求,可以采用合理的默认设置直接处理。对于“为我的应用创建一张横幅”这类复杂请求,则需要先澄清,以免浪费迭代次数。
重写提示词(关键)
生成任何图像之前,务必使用 references/prompt-guide.md 中的指南重写用户的提示词。
核心原则:“描述场景,而不只是罗列关键词。”
重写检查清单
通过添加以下内容来扩充简单提示词:
- 主体细节:具体外观、服装、表情、材质
- 环境/场景:地点、时间、天气、室内/室外
- 光线:自然光/人造光、方向、质感、色温
- 构图:拍摄角度、距离、取景、焦距
- 风格/美学:写实、插画风格、艺术流派
- 情绪/氛围:情感基调、配色氛围
- 技术规格:宽高比、细节程度、纹理
示例转换
用户说:“我应用的横幅” 改写后的提示词:“一张现代、满幅铺展的科技应用横幅。深色渐变背景,从深海军蓝过渡到黑色。抽象的几何网络可视化图案,发光节点由细线连接。简洁的无衬线字体位于中心偏左。专业、前沿的科技美学,无可见边框或边缘——设计无缝延伸至所有边缘。16:9 宽高比。”
用户说:“一只猫” 改写后的提示词:“一只蓬松的橙色虎斑猫慵懒地躺在洒满阳光的窗台上,柔和的午后光线在它的毛发上营造出温暖的光泽。猫咪姿态放松,双眼半闭,尽显惬意。以低角度拍摄,采用浅景深,背景是模糊的花园景色。写实风格,暖色调。”
推荐工作流
采用“草稿 → 迭代 → 定稿”的方式,可节省时间和 API 成本:
- 草稿阶段(1K):使用默认分辨率快速生成,以测试提示词
- 迭代阶段:逐步完善提示词,每次尝试都创建新文件
- 定稿阶段(4K):仅在提示词经过验证后才生成高分辨率图像
不要读取图像内容——脚本只会输出文件路径。这样可以高效迭代,避免 Claude 加载大型图像数据。
用法
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-image/scripts/generate.ts "prompt" [options]
选项
--input <path>- 参考图像(可多次指定,最多 14 张图像)--style <id>- 应用风格库中的风格(参见 browsing-styles 技能)--size <1K|2K|4K|WxH>- 图像尺寸(默认:由模型决定)。1K/2K/4K会在每个提供商上设置像素预算。openai 也接受精确的WxH,例如3840x1280。--aspect <ratio>- gemini:1:1、2:3、3:2、3:4、4:3、4:5、5:4、9:16、16:9、21:9。openai:任意W:H,范围为 1:3 到 3:1(例如用3:1制作宽幅横幅)。不要与--size WxH同时使用。--quality <low|medium|high|xhigh|max|auto>- 仅适用于 openai(默认auto)。xhigh和max是 Image 2.5 中新增的选项。Gemini 和 xai 不接受此标志。--negative <prompt>- 负面提示词(要避免的内容)--count <n>- 图像数量(1-4,默认:1)--guidance <n>- 引导系数--seed <n>- 用于确保结果可复现的随机种子--output <path>- 输出路径--transparent- 透明/alpha 背景(OpenAI 使用background=transparent;Gemini 也支持)--provider <name>-gemini、openai或xai。省略时会自动选择最适合该请求的可用提供商(参见 Models)。--model <id>- OpenAI Image 2.5 变体:flare/gpt-image-2.5-flare(默认)或sunburst/gpt-image-2.5-sunburst。会将提供商设为 openai。旧版提供商别名gemini|openai|xai|grok仍可使用,但已弃用——请改用--provider。
示例
# Simple generation
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-image/scripts/generate.ts "cyberpunk cityscape at night"
# With art style (100+ available, use short names or full IDs)
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-image/scripts/generate.ts "mountain landscape" --style impressionism
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-image/scripts/generate.ts "portrait" --style ukiy
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-image/scripts/generate.ts "city street" --style noir
# High-res with specific aspect ratio
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-image/scripts/generate.ts "mountain landscape" --size 4K --aspect 16:9
# With negative prompt
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-image/scripts/generate.ts "portrait of a cat" --negative "low quality, blurry"
# Combine style with other options
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-image/scripts/generate.ts "cat sleeping" --style wtrc --size 4K --aspect 1:1
# Generate multiple variations
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-image/scripts/generate.ts "abstract art" --count 4
# Single reference image (img2img)
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-image/scripts/generate.ts "make it look like a watercolor painting" --input photo.jpg
# Multiple reference images (character consistency, scene composition)
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-image/scripts/generate.ts "King on throne in dramatic lighting" \
--input character.png \
--input throne-room.png \
--aspect 16:9 --size 2K
# Multiple characters in a scene
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-image/scripts/generate.ts "Two warriors facing each other in combat" \
--input warrior1.png \
--input warrior2.png \
--input battlefield.png \
--aspect 16:9
多张参考图像
Gemini 每次请求最多支持 14 张参考图像:
- 6 个物体 - 地点、物品、环境
- 5 个人物 - 确保多次生成的角色一致性
- 使用详细提示词,描述如何组合参考图像
- 参考图像有助于在不同场景的生成过程中保持一致性
常见格式
| 格式 | 宽高比 | 推荐尺寸 | 裁剪目标 |
|---|---|---|---|
| OG / 社交分享 | 16:9 | 2K | 使用 sips 裁剪为 1200x630 |
| Twitter 卡片 | 16:9 | 2K | 使用 sips 裁剪为 1200x628 |
| 主视觉横幅 | 16:9 | 4K | 全宽 |
| 头像 | 1:1 | 1K | 512x512 或 1024x1024 |
| 限时动态 / Reel | 9:16 | 2K | 1080x1920 |
| 团队阵容 | 21:9 | 2K | 全宽 |
社交媒体分享图片工作流
4 个步骤缺一不可。不要跳过优化。
- 生成:采用 16:9 比例和主体居中的提示词,并设置
--size 2K(适用于 Retina 屏幕):bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-image/scripts/generate.ts "CENTER all important elements, no content near edges. [your prompt]" --aspect 16:9 --size 2K --output social-share.png - 裁剪:调整为平台要求的精确尺寸:
sips -z 630 1200 -c 630 1200 social-share.png --out social-share-og.png # OG sips -z 628 1200 -c 628 1200 social-share.png --out social-share-tw.png # Twitter - 优化:转换为质量为 85% 的 JPEG(社交媒体图片不需要透明背景):
sips -s format jpeg -s formatOptions 85 social-share-og.png --out social-share-og.jpg - 验证:检查尺寸和文件大小:
sips -g pixelWidth -g pixelHeight social-share-og.jpg ls -la social-share-og.jpg # Target: <500KB
为什么要优化? Gemini 输出的 PNG 约为 1–2MB。转换为质量为 85% 的 JPEG 后,文件大小可降至约 200–400KB,且不会产生肉眼可见的质量损失。社交平台会重新压缩上传的图片,因此使用经过充分优化的 JPEG 可以避免二次压缩造成的瑕疵。
可用风格
9 个类别中共有 100 多种风格:传统艺术、数字艺术、插画、摄影、设计/UI、复古、技法、装饰,以及创意/材料风格。
如果某种风格有对应的平铺参考图片(assets/tiles/<id>.png),系统会自动将其与提示词提示一同发送给 Gemini,作为视觉参考,从而大幅提升风格还原度。
向用户推荐风格
生成图片时,主动推荐相关风格:
- 风景:
impr、roma、wtrl、cine - 肖像:
barq、prer、anim、fnoi - UI/网页:
brut、nbrt、glas、flat - 复古/怀旧:
y2k、frug、psyc、koda - 奇趣/有趣:
ghbl、kawa、chld、brit - 戏剧化:
cybr、nnoi、surr、expr - 创意风格:
sand、undr、orig、clay、lego
浏览所有风格:bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/browsing-styles/scripts/list_styles.ts --table
搜索:bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/browsing-styles/scripts/list_styles.ts --search "watercolor"
模型与提供商
共有 3 个提供商,可通过 --provider 选择;省略时则自动选择。
| 提供商 | 模型 | 密钥 | 优势 | 不支持 |
|---|---|---|---|---|
gemini(默认回退选项) | gemini-3-pro-image(Nano Banana Pro) | GEMINI_API_KEY | 风格平铺图、最多 14 张参考图片、专用负面提示词、透明背景、1K/2K/4K | — |
openai | gpt-image-2.5-flare(Flare,默认)/ gpt-image-2.5-sunburst(Sunburst,--model sunburst) | OPENAI_API_KEY | 图片内文字效果最佳、光照/纹理、复杂指令、详细布局、透明背景、最长边最高 3840px 的自定义尺寸和 1:3–3:1 的宽高比、最高 max 质量、图生图(通过编辑端点使用 --input,最多 16 张) | 不支持风格平铺图,不支持专用负面提示参数 |
xai | grok-imagine-image-quality | XAI_API_KEY | 速度快,限制更少;适用于 Gemini 的过滤器拦截无害提示词时 | 仅支持文生图——不支持图生图、平铺图或负面提示词 |
自动选择(省略 --provider 时的默认行为)
脚本会选择密钥已配置且支持请求所需功能的最佳提供商。优先级为 openai > gemini > xai。
--input(图生图/参考图片)由 openai 和 gemini 均支持——openai 通过 Image 2.5 编辑端点处理,gemini 则通过 Nano Banana Pro 处理(后者还支持风格平铺图和最多 14 张参考图片)。因此,如果已配置 openai 的密钥,图生图请求会自动选择 openai;若要使用 Gemini 的风格平铺图/多参考图合成,请传入 --provider gemini。
--transparent 由 openai 和 gemini 均支持(OpenAI 会传入 background=transparent)。如果请求使用 --style(风格平铺图)或 --negative(专用负面提示参数),功能检查仍会强制选择 Gemini——只有 Gemini 支持这些功能。使用 /gemskills:setup 或 GEMSKILLS_IMAGE_PROVIDER 设置固定默认值。
选择 openai 时,如果指定了 --style,系统会移除风格平铺图片(但仍会应用文本提示);--negative 则会合并到提示词中,作为 Avoid: … 子句。xAI 还会移除参考图片(仅支持文生图)。
提示词模板(按提供方调整)
每个提供方解析提示词的方式都不同。确定提供方后,请阅读对应指南,并据此重写提示词:
providers/prompts/image.gemini.mdproviders/prompts/image.openai.mdproviders/prompts/image.xai.md
# Force a provider / Image 2.5 variant
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-image/scripts/generate.ts "neon city street, rain" --provider openai --size 4K --quality high
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-image/scripts/generate.ts "panoramic website footer city" --model sunburst --aspect 3:1 --size 4K # 3840x1280
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-image/scripts/generate.ts "app icon, rounded square" --model sunburst --transparent
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-image/scripts/generate.ts "watercolor fox" --provider xai
OpenAI 尺寸规则(Image 2.5)
API 接受 auto 或 WIDTHxHEIGHT,其中宽高都必须能被 16 整除,宽高比须在 1:3 到 3:1 之间,最大边长为 3840,总像素数须在 655,360 到 8,294,400 之间。脚本会根据 --size 档位和 --aspect 计算有效尺寸;对于任何 API 会拒绝的尺寸,都会报错并停止。它绝不会将无效尺寸改为 auto。根据 OpenAI 的说明,超过 2560x1440 的尺寸属于实验性尺寸。Image 2.5 不支持 input_fidelity,因此绝不会发送此参数。
费用根据响应中的 usage 和已公布的每 Token 价格计算(每 100 万 Token:文本输入 $5、图像输入 $8、图像输出 $30)。没有价格条目的模型会显示“无价格数据”。
已验证的模型:2026 年 9 月(
gpt-image-2.5-flare、gpt-image-2.5-sunburst、grok-imagine-image-quality、gemini-3-pro-image)。如果已有更新一代的模型,请停止并建议向b-open-io/gemskills提交 PR。
参考文件
有关详细的提示词策略和技巧:
references/prompt-guide.md- 全面的 Gemini 提示词指南,包含 7 种策略、示例改写,以及来自 Google 官方文档的最佳实践- ask-gemini 技能的
references/gemini-api.md- 当前的 Gemini 模型、SDK 信息,以及通过 llms.txt 获取的动态文档