/nano-banana-pro
Generate or edit images via Gemini 3 Pro Image (Nano Banana Pro). Use when you need to: (1) generate images from text descriptions, (2) edit existing images with AI, (3) compose multiple images into one scene. Supports 1K/2K/4K resolutions and up to 14 input images for
$ npx -y skills add refly-ai/refly-skills --skill nano-banana-pro --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/nano-banana-pro
Context preview
The summary Claude sees to decide when to auto-load this skill.
Generate or edit images via Gemini 3 Pro Image (Nano Banana Pro). Use when you need to: (1) generate images from text descriptions, (2) edit existing images with AI, (3) compose multiple images into one scene. Supports 1K/2K/4K resolutions and up to 14 input images for
SKILL.md
nano-banana-pro.SKILL.mdname: nano-banana-pro
description: "Generate or edit images via Gemini 3 Pro Image (Nano Banana Pro). Use when you need to: (1) generate images from text descriptions, (2) edit existing images with AI, (3) compose multiple images into one scene. Supports 1K/2K/4K resolutions and up to 14 input images for composition."
category: file-generation
tags:
- image
- ai
- gemini
- generation
- editing
version: 1.0.0
skillId: skp-ud4d5kijwrf8k18muzmhwv9y
workflowId: c-g6emwcpi1wpalsz6j4gyi3d9
installationId: skpi-h9kpmts9ho1kl9l1sohaloeu
triggers:
- generate image
- edit image
- AI image generation
- Gemini image
- 图片生成
- AI绘图
- 编辑图片
- 文生图
- 图生图
Nano Banana Pro
Generate or edit images via Gemini 3 Pro Image (Nano Banana Pro). Use when you need to: (1) generate images from text descriptions, (2) edit existing images with AI, (3) compose multiple images into one scene. Supports 1K/2K/4K resolutions and up to 14 input images for composition.
Input
Provide input as JSON:
{
"prompt": "Detailed description for image generation or editing (e.g., 'a cute cat playing in a garden')",
"resolution": "Image resolution: 1K, 2K, or 4K (default: 1K)",
"aspect_ratio": "Image aspect ratio: 16:9, 1:1, 9:16, 5:4, or 4:3 (default: 1:1)",
"input_image": "<file-id>"
}**Note on File Input:**
- `input_image` is optional and requires a **file ID** (format: `df-xxxxx`)
- **How to get file ID:**
1. Upload your image using `refly file upload <file-path>` 2. Copy the returned file ID from the upload response 3. Use this file ID in the input JSON
- Omit `input_image` for pure text-to-image generation
- Provide `input_image` for image editing or transformation
API Request Structure
This skill uses **Gemini 3 Pro Image API** with the following structure:
Text-to-Image (Pure Generation)
{
"contents": [{
"parts": [
{"text": "Your prompt here"}
]
}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {
"aspectRatio": "1:1",
"imageSize": "2K"
}
}
}Image-to-Image (With Reference)
{
"contents": [{
"parts": [
{"text": "Your editing prompt"},
{"inline_data": {"mime_type": "image/png", "data": "<BASE64_DATA>"}}
]
}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {
"aspectRatio": "16:9",
"imageSize": "2K"
}
}
}**Notes:**
- Images are automatically converted to base64 format
- Supports up to 14 input images for composition
- `imageSize` maps to resolution: 1K, 2K, or 4K
- `aspectRatio` determines output dimensions
Execution (Pattern A: File Generation)
Step 0 (Optional): Upload Input Image
# Upload an image if you want to edit or transform an existing image
INPUT_RESULT=$(refly file upload /path/to/your/image.jpg)
INPUT_FILE_ID=$(echo "$INPUT_RESULT" | jq -r '.payload.fileId')
echo "Input image file ID: $INPUT_FILE_ID"
Step 1: Run the Skill and Get Run ID
**Example 1: Text-to-Image Generation**
RESULT=$(refly skill run --id skpi-h9kpmts9ho1kl9l1sohaloeu --input '{
"prompt": "a cute cat playing in a garden",
"resolution": "2K",
"aspect_ratio": "16:9"
}')
RUN_ID=$(echo "$RESULT" | jq -r '.payload.workflowExecutions[0].id')**Example 2: Image Editing with Reference**
# Use the INPUT_FILE_ID from Step 0
RESULT=$(refly skill run --id skpi-h9kpmts9ho1kl9l1sohaloeu --input '{
"prompt": "transform this image into watercolor painting style",
"input_image": "'"$INPUT_FILE_ID"'",
"resolution": "2K",
"aspect_ratio": "1:1"
}')
RUN_ID=$(echo "$RESULT" | jq -r '.payload.workflowExecutions[0].id')Step 2: Open Workflow in Browser and Wait for Completion
open "https://refly.ai/workflow/c-g6emwcpi1wpalsz6j4gyi3d9"
# Use RUN_ID (we-xxx), not installationId or skillId
refly workflow status "$RUN_ID" --watch --interval 30000
Step 3: Download and Show Result
# Get files from this run (use RUN_ID)
FILES=$(refly workflow toolcalls "$RUN_ID" --files --latest | jq -r '.payload.files[]')
# Download and open each file
echo "$FILES" | jq -c '.' | while read -r file; do
FILE_ID=$(echo "$file" | jq -r '.fileId')
FILE_NAME=$(echo "$file" | jq -r '.name')
if [ -n "$FILE_ID" ] && [ "$FILE_ID" != "null" ]; then
OUTPUT_PATH="$HOME/Desktop/${FILE_NAME}"
refly file download "$FILE_ID" -o "$OUTPUT_PATH"
open "$OUTPUT_PATH"
fi
doneExpected Output
- **Type**: Image
- **Format**: .png/.jpg image file (1K/2K/4K resolution)
- **Location**: `~/Desktop/`
- **Action**: Opens automatically to show user
Rules
Follow base skill workflow: `~/.claude/skills/refly/SKILL.md`
Read more
name: nano-banana-pro description: "Generate or edit images via Gemini 3 Pro Image (Nano Banana Pro). Use when you need to: (1) generate images from text descriptions, (2) edit existing images with AI, (3) compose multiple images into one scene. Supports 1K/2K/4K resolutions and up to 14 input images for composition." category: file-generation tags: - image - ai - gemini - generation - editing version: 1.0.0 skillId: skp-ud4d5kijwrf8k18muzmhwv9y workflowId: c-g6emwcpi1wpalsz6j4gyi3d9 installationId: skpi-h9kpmts9ho1kl9l1sohaloeu triggers: - generate image - edit image - AI image generation - Gemini image - 图片生成 - AI绘图 - 编辑图片 - 文生图 - 图生图
Nano Banana Pro
Generate or edit images via Gemini 3 Pro Image (Nano Banana Pro). Use when you need to: (1) generate images from text descriptions, (2) edit existing images with AI, (3) compose multiple images into one scene. Supports 1K/2K/4K resolutions and up to 14 input images for composition.
Input
Provide input as JSON:
{
"prompt": "Detailed description for image generation or editing (e.g., 'a cute cat playing in a garden')",
"resolution": "Image resolution: 1K, 2K, or 4K (default: 1K)",
"aspect_ratio": "Image aspect ratio: 16:9, 1:1, 9:16, 5:4, or 4:3 (default: 1:1)",
"input_image": "<file-id>"
}**Note on File Input:**
- `input_image` is optional and requires a **file ID** (format: `df-xxxxx`)
- **How to get file ID:**
1. Upload your image using `refly file upload <file-path>` 2. Copy the returned file ID from the upload response 3. Use this file ID in the input JSON
- Omit `input_image` for pure text-to-image generation
- Provide `input_image` for image editing or transformation
API Request Structure
This skill uses **Gemini 3 Pro Image API** with the following structure:
Text-to-Image (Pure Generation)
{
"contents": [{
"parts": [
{"text": "Your prompt here"}
]
}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {
"aspectRatio": "1:1",
"imageSize": "2K"
}
}
}Image-to-Image (With Reference)
{
"contents": [{
"parts": [
{"text": "Your editing prompt"},
{"inline_data": {"mime_type": "image/png", "data": "<BASE64_DATA>"}}
]
}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {
"aspectRatio": "16:9",
"imageSize": "2K"
}
}
}**Notes:**
- Images are automatically converted to base64 format
- Supports up to 14 input images for composition
- `imageSize` maps to resolution: 1K, 2K, or 4K
- `aspectRatio` determines output dimensions
Execution (Pattern A: File Generation)
Step 0 (Optional): Upload Input Image
# Upload an image if you want to edit or transform an existing image INPUT_RESULT=$(refly file upload /path/to/your/image.jpg) INPUT_FILE_ID=$(echo "$INPUT_RESULT" | jq -r '.payload.fileId') echo "Input image file ID: $INPUT_FILE_ID"
Step 1: Run the Skill and Get Run ID
**Example 1: Text-to-Image Generation**
RESULT=$(refly skill run --id skpi-h9kpmts9ho1kl9l1sohaloeu --input '{
"prompt": "a cute cat playing in a garden",
"resolution": "2K",
"aspect_ratio": "16:9"
}')
RUN_ID=$(echo "$RESULT" | jq -r '.payload.workflowExecutions[0].id')**Example 2: Image Editing with Reference**
# Use the INPUT_FILE_ID from Step 0
RESULT=$(refly skill run --id skpi-h9kpmts9ho1kl9l1sohaloeu --input '{
"prompt": "transform this image into watercolor painting style",
"input_image": "'"$INPUT_FILE_ID"'",
"resolution": "2K",
"aspect_ratio": "1:1"
}')
RUN_ID=$(echo "$RESULT" | jq -r '.payload.workflowExecutions[0].id')Step 2: Open Workflow in Browser and Wait for Completion
open "https://refly.ai/workflow/c-g6emwcpi1wpalsz6j4gyi3d9" # Use RUN_ID (we-xxx), not installationId or skillId refly workflow status "$RUN_ID" --watch --interval 30000
Step 3: Download and Show Result
# Get files from this run (use RUN_ID)
FILES=$(refly workflow toolcalls "$RUN_ID" --files --latest | jq -r '.payload.files[]')
# Download and open each file
echo "$FILES" | jq -c '.' | while read -r file; do
FILE_ID=$(echo "$file" | jq -r '.fileId')
FILE_NAME=$(echo "$file" | jq -r '.name')
if [ -n "$FILE_ID" ] && [ "$FILE_ID" != "null" ]; then
OUTPUT_PATH="$HOME/Desktop/${FILE_NAME}"
refly file download "$FILE_ID" -o "$OUTPUT_PATH"
open "$OUTPUT_PATH"
fi
doneExpected Output
- **Type**: Image
- **Format**: .png/.jpg image file (1K/2K/4K resolution)
- **Location**: `~/Desktop/`
- **Action**: Opens automatically to show user
Rules
Follow base skill workflow: `~/.claude/skills/refly/SKILL.md`
Repo: refly-ai/refly-skills
Other skills on refly-skills.
- /ai-readability-audit
AI可读性审计工具,模拟AI爬虫视角评估网站对大语言模型的友好程度,分析结构化数据、语义HTML和Meta信息
Open skill - /airtable
Integrate with Airtable for database management. Use when you need to: (1) create and query Airtable records, (2) manage structured data in bases, or (3) automate data workflows.
Open skill - /alpha-vantage
Get financial data from Alpha Vantage. Use when you need to: (1) retrieve stock quotes and prices, (2) get forex or crypto rates, or (3) access market analytics data.
Open skill - /amazon-christmas-tree-research
亚马逊圣诞树竞品调研分析,搜索热销产品,分析定价策略、用户评价和市场机会
Open skill - /apollo
Search sales leads with Apollo.io. Use when you need to: (1) find company and contact information, (2) enrich lead data, or (3) search for B2B prospects.
Open skill - /asana
Integrate with Asana for task management. Use when you need to: (1) create and manage Asana tasks, (2) organize project work, or (3) automate team task tracking workflows.
Open skill

