AgentSkillsCN

gemini-image-edit

使用 fal.ai Gemini 3 Pro,通过文本提示修改现有图像。适用于用户希望根据文本描述对现有图像进行修改、编辑、变换或调整时使用。支持多张输入图像以提供更丰富的上下文。

SKILL.md
--- frontmatter
name: gemini-image-edit
description: 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.
allowed-tools: Bash, Read, Write

Gemini Image Editing

Edit and transform existing images using text prompts with Google's Gemini 3 Pro model via fal.ai.

Prerequisites

  • FAL_KEY environment variable must be set (typically in ~/.zshrc)

API Endpoint

POST https://fal.run/fal-ai/gemini-3-pro-image-preview/edit

Parameters

Required

  • prompt (string): The editing instruction describing what changes to make
  • image_urls (array of strings): URLs of the images to edit

Optional

ParameterTypeDefaultOptions
num_imagesinteger11-4
aspect_ratiostring"auto""auto", "21:9", "16:9", "3:2", "4:3", "5:4", "1:1", "4:5", "3:4", "2:3", "9:16"
output_formatstring"png""jpeg", "png", "webp"
resolutionstring"1K""1K", "2K", "4K"
sync_modebooleanfalseReturns data URI when true
enable_web_searchbooleanfalseUses current web data for generation
limit_generationsbooleanfalseRestricts to 1 image per prompt round

Usage

cURL

bash
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

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

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

json
{
  "images": [
    {
      "file_name": "edited_image.png",
      "content_type": "image/png",
      "url": "https://storage.googleapis.com/..."
    }
  ],
  "description": "A description of the edited image"
}

Examples

  1. Style transformation:

    • Prompt: "Convert this photo to a watercolor painting style"
  2. Object addition:

    • Prompt: "Add a rainbow in the sky"
  3. Scene modification:

    • Prompt: "Change the time of day to sunset with golden hour lighting"
  4. Multiple reference images:

    • Prompt: "Combine elements from these images into a cohesive scene"
    • Provide multiple URLs in image_urls array

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 auto aspect ratio preserves the original image proportions

Error Handling

ErrorCauseSolution
401 UnauthorizedInvalid FAL_KEYVerify key at fal.ai dashboard
429 Too Many RequestsRate limit exceededWait 60 seconds, retry
400 Bad RequestInvalid image URL or parametersEnsure image URLs are accessible
500 Server ErrorAPI temporary issueRetry after 30 seconds
TimeoutGeneration taking too longReduce resolution or simplify edit