skills/nano-banana-pro/SKILL.md
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.
npx skillsauth add refly-ai/refly-skills nano-banana-proInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
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)refly file upload <file-path>input_image for pure text-to-image generationinput_image for image editing or transformationThis skill uses Gemini 3 Pro Image API with the following structure:
{
"contents": [{
"parts": [
{"text": "Your prompt here"}
]
}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {
"aspectRatio": "1:1",
"imageSize": "2K"
}
}
}
{
"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:
imageSize maps to resolution: 1K, 2K, or 4KaspectRatio determines output dimensions# 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"
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')
open "https://refly.ai/workflow/c-g6emwcpi1wpalsz6j4gyi3d9"
# Use RUN_ID (we-xxx), not installationId or skillId
refly workflow status "$RUN_ID" --watch --interval 30000
# 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
~/Desktop/Follow base skill workflow: ~/.claude/skills/refly/SKILL.md
data-ai
Integrate with Zoom for video meetings. Use when you need to: (1) schedule Zoom meetings, (2) create instant meetings, or (3) manage meeting details and invitations programmatically.
data-ai
Integrate with YouTube for video management. Use when you need to: (1) upload videos to YouTube, (2) manage channel content, or (3) retrieve video analytics and insights.
content-media
YouTube视频分析工具,提取视频数据和表现指标,分析内容策略、受众互动和增长机会
data-ai
Generate AI videos using Alibaba Wan 2.6 video models. Use when you need to: (1) create videos from text descriptions, (2) animate static images into videos, or (3) transform and enhance existing videos with AI style transfer.