Nano Banana Pro
SkillMediaGenerate 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.
Then ask your AI: use the Nano Banana Pro skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add it as a step in a pipeline you build on Ahel, or connect Ahel to Claude, ChatGPT, Cursor, Claude Code or Codex and ask your AI to use it.
What this skill tells your AI
The instructions your AI receives, as published by refly-ai/refly-skills in skills/nano-banana-pro/SKILL.md and read by Ahel’s review.
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_imageis optional and requires a file ID (format:df-xxxxx)- How to get file ID:
- Upload your image using
refly file upload <file-path> - Copy the returned file ID from the upload response
- Use this file ID in the input JSON
- Upload your image using
- Omit
input_imagefor pure text-to-image generation - Provide
input_imagefor 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
imageSizemaps to resolution: 1K, 2K, or 4KaspectRatiodetermines 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
done
Expected 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
Signals
- GitHub stars
- 204
- Forks
- 26
- Last commit
- Jul 2026
Advanced
- Item type
- skill
- Key
nano-banana-pro-refly-ai- Source
- github.com/refly-ai/refly-skills