Claude-skill-registry gemini-image-edit
Edit existing images with text prompts using fal.ai Gemini 3 Pro. Use when the user wants to modify, edit, transform, or change an existing image based on a text description. Supports multiple input images for context.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/gemini-image-edit" ~/.claude/skills/majiayu000-claude-skill-registry-gemini-image-edit && rm -rf "$T"
manifest:
skills/data/gemini-image-edit/SKILL.mdsource content
Gemini Image Editing
Edit and transform existing images using text prompts with Google's Gemini 3 Pro model via fal.ai.
Prerequisites
environment variable must be set (typically inFAL_KEY
)~/.zshrc
API Endpoint
POST https://fal.run/fal-ai/gemini-3-pro-image-preview/edit
Parameters
Required
(string): The editing instruction describing what changes to makeprompt
(array of strings): URLs of the images to editimage_urls
Optional
| Parameter | Type | Default | Options |
|---|---|---|---|
| integer | 1 | 1-4 |
| string | "auto" | "auto", "21:9", "16:9", "3:2", "4:3", "5:4", "1:1", "4:5", "3:4", "2:3", "9:16" |
| string | "png" | "jpeg", "png", "webp" |
| string | "1K" | "1K", "2K", "4K" |
| boolean | false | Returns data URI when true |
| boolean | false | Uses current web data for generation |
| boolean | false | Restricts to 1 image per prompt round |
Usage
cURL
curl --request POST \ --url https://fal.run/fal-ai/gemini-3-pro-image-preview/edit \ --header "Authorization: Key $FAL_KEY" \ --header "Content-Type: application/json" \ --data '{ "prompt": "Add snow to this mountain scene and make it winter", "image_urls": ["https://example.com/mountain.jpg"], "num_images": 1, "output_format": "png" }'
Python
import fal_client result = fal_client.subscribe( "fal-ai/gemini-3-pro-image-preview/edit", arguments={ "prompt": "Add snow to this mountain scene and make it winter", "image_urls": ["https://example.com/mountain.jpg"], "num_images": 1 } ) # Access the edited image URL edited_url = result["images"][0]["url"] print(f"Edited image: {edited_url}")
JavaScript
import { fal } from "@fal-ai/client"; const result = await fal.subscribe("fal-ai/gemini-3-pro-image-preview/edit", { input: { prompt: "Add snow to this mountain scene and make it winter", image_urls: ["https://example.com/mountain.jpg"], num_images: 1 } }); console.log("Edited image:", result.images[0].url);
Response Format
{ "images": [ { "file_name": "edited_image.png", "content_type": "image/png", "url": "https://storage.googleapis.com/..." } ], "description": "A description of the edited image" }
Examples
-
Style transformation:
- Prompt: "Convert this photo to a watercolor painting style"
-
Object addition:
- Prompt: "Add a rainbow in the sky"
-
Scene modification:
- Prompt: "Change the time of day to sunset with golden hour lighting"
-
Multiple reference images:
- Prompt: "Combine elements from these images into a cohesive scene"
- Provide multiple URLs in
arrayimage_urls
Tips
- Be specific about what changes you want
- Use descriptive language for style changes
- Multiple images can be provided for context or combining elements
- The
aspect ratio preserves the original image proportionsauto
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Invalid FAL_KEY | Verify key at fal.ai dashboard |
| Rate limit exceeded | Wait 60 seconds, retry |
| Invalid image URL or parameters | Ensure image URLs are accessible |
| API temporary issue | Retry after 30 seconds |
| Generation taking too long | Reduce resolution or simplify edit |