skills/refly-ai/refly-skills/nano-banana-pro

nano-banana-pro

SKILL.md

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
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

Weekly Installs
8
GitHub Stars
174
First Seen
Feb 5, 2026
Installed on
codex8
kimi-cli8
cline7
github-copilot7
gemini-cli7
cursor7