GET

/v1/schemas/fal/image/fal-ai/gemini-3-pro-image-preview/edit

kind inputactivity imagehash d15fc615…extracted Nov 10, 2026version currentsource upstream spec ↗
fieldrecorded source
schemaSource linked above.

upstream-spec

Source trace
52c1049adeb313973d6fca29a43bb992e1198a607bbfcfcc55e948cc733b514e
{
  "fetchedAt": 1794286801,
  "extractorVersion": "2",
  "verifiedAt": null
}

Request body

20 properties · 1 required · 5 $defs
propertytypedescriptionconstraints
prompt*stringThe prompt for image editing.length ≥ 3 · length ≤ 50000
temperaturenumberSampling temperature. Omit to use the provider default of 1. Explicit values use a direct Google or Vertex API.0 ≤ n ≤ 2 · nullable
num_imagesintegerThe number of images to generate.1 ≤ n ≤ 4 · default: 1
top_pnumberNucleus sampling probability. Omit to use the provider default of 0.95. Explicit values use a direct Google or Vertex API.0 ≤ n ≤ 1 · nullable
historyGeminiMessage[]Previous native user/model turns. Replay a returned conversation's messages unchanged, including thought signatures; the current prompt is appended as a new user turn.
resolutionenumThe resolution of the image to generate.1K | 2K | 4K · default: "1K"
return_historybooleanReturn reusable native conversations with original image parts and provider thought signatures. Uses a native provider. Each generated conversation is independent; send its messages as history for the next turn.default: false
safety_toleranceenumThe safety tolerance level for content moderation. 1 is the most strict (blocks most content), 6 is the least strict.1 | 2 | 3 | 4 | 5 | 6 · default: "4"
contextGeminiTextPart | GeminiImagePart | GeminiDocumentPart[]Ordered text, original images, PDF or UTF-8 text documents appended to the current prompt. Uses a native provider. Images count toward the total 14-reference limit.
enable_web_searchbooleanEnable web search for the image generation task. This will allow the model to use the latest information from the web to generate the image.default: false
sync_modebooleanIf `True`, the media will be returned as a data URI and the output data won't be available in the request history.default: false
limit_generationsbooleanExperimental parameter to limit the number of generations from each round of prompting to 1. Set to `True` to to disregard any instructions in the prompt regarding the number of images to generate.default: true
thinking_levelconstThinking effort. Pro Image supports only high; omit to retain its provider default. An explicit level requests summaries unless include_thoughts overrides it. Thinking cannot be disabled."high" · nullable
output_formatenumThe format of the generated image.jpeg | png | webp · default: "png"
system_promptstringOptional system instruction that steers the model's persona and output style across the request. Leave blank to omit; when provided, it is sent as the system instruction to Gemini (or as a system message on OpenAI-compatible providers).length ≤ 50000 · default: ""
image_urlsstring[]The URLs of the images to use for image-to-image generation or image editing.
include_thoughtsbooleanWhether to include thought summaries. Omit to preserve the existing behavior: an explicit thinking_level requests summaries. Set limit_generations=false to return summary text in description. This does not disable thinking or return intermediate thought images.nullable
max_output_tokensintegerMaximum output tokens for the generation. Omit to retain the provider default. Explicit values use a direct Google or Vertex API.1 ≤ n ≤ 32768 · nullable
seedintegerThe seed for the random number generator.nullable
aspect_ratioenumThe aspect ratio of the generated image, including 1:4, 4:1, 1:8 and 8:1.auto | 21:9 | 16:9 | 3:2 | 4:3 | 5:4 · +9 more · nullable

Types

5 $defs

GeminiDocumentPartobject

file_url*stringPDF or UTF-8 plain-text document URL or data URI (up to 15 MB).
thoughtbooleanProvider thought marker, preserved when replaying a returned conversation.nullable
type*constThe document part discriminator."document"
mime_type*enumThe document's media type.application/pdf | text/plain
thought_signaturestringOpaque provider-issued thought signature. Replay it unchanged on its original part.length ≥ 1 · nullable

GeminiImagePartobject

image_url*stringOriginal image URL or data URI. Replayed without resizing or re-encoding.
type*constThe image part discriminator."image"
thoughtbooleanProvider thought marker, preserved when replaying a returned conversation.nullable
thought_signaturestringOpaque provider-issued thought signature. Replay it unchanged on its original part.length ≥ 1 · nullable

GeminiMessageobject

role*enumNative Gemini conversation role.user | model
parts*GeminiTextPart | GeminiImagePart | GeminiDocumentPart[]Ordered text, image, document, and signature parts.items ≥ 1

GeminiSignaturePartobject

thoughtbooleanProvider thought marker, preserved when replaying a returned conversation.nullable
type*constThe signature part discriminator."signature"
thought_signature*stringProvider-issued signature-only part, replayed unchanged.length ≥ 1

GeminiTextPartobject

thoughtbooleanProvider thought marker, preserved when replaying a returned conversation.nullable
type*constThe text part discriminator."text"
text*stringText at this position in the conversation.
thought_signaturestringOpaque provider-issued thought signature. Replay it unchanged on its original part.length ≥ 1 · nullable

Validate a payload

before you spend tokens
shell
$ curl -X POST https://modelschemas.com/v1/validate \
    -d '{"provider":"fal","endpointId":"fal-ai/gemini-3-pro-image-preview/edit","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}