Skip to main content
Glama

gemini_image_generate

Create images from text descriptions using Gemini's image models. Supports multiple sizes, aspect ratios, and reference images for guided generation.

Instructions

Generate image(s) from a text prompt with a Gemini image model (Nano Banana / Nano Banana Pro). If the result will likely be refined iteratively, prefer gemini_interact (multi-turn) as the entry point.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for reproducible generation; random if omitted
asyncNoRun in the background and return a job_id immediately instead of the image, so a long (Pro/4K) generation cannot hit the host tools/call timeout (-32001). Poll gemini_get_result with the job_id to fetch the result (jobs are per-process and expire ~10 min after completion).
countNoNumber of independent images (default 1)
modelNoModel id override (default: server default; see gemini_list_models). gemini-3.1-flash-image (Nano Banana 2) is the versatile generalist workhorse — balances speed with state-of-the-art 4K generation, world knowledge, and reliable text rendering; excels at multi-reference-image processing and consistency. gemini-3-pro-image (Nano Banana Pro) is the premium choice for the most complex visual tasks — highest world knowledge, advanced localization, accurate brand consistency, precision creative control. gemini-3.1-flash-lite-image (Nano Banana 2 Lite) is the fastest/cheapest for simple tasks (1K only, no search grounding).
imagesNoPaths to reference input images (image-conditioned generation)
inlineNoReturn base64 images inline instead of writing to disk
promptYesText prompt describing the image
confirmNoMust be true to proceed. Without this, the tool returns a preview.
filenameNoBase filename for the output image (extension stripped; default: slugified prompt)
video_urlNoPublic YouTube URL (or a previously uploaded Files API uri) as a video reference (video→image; use a Flash model e.g. gemini-3.1-flash-image)
image_sizeNoOutput resolution (512 = 0.5K, Flash-only)
images_urlNoReference images as public https URLs — the SERVER downloads them, so no image bytes travel through the conversation. Preferred over images_base64, which costs ~14k tokens per photo and breaks if a file read was truncated. Max 15MB each; must be a directly-linked image (Content-Type image/*).
output_dirNoDirectory to write images to (default: $GEMINI_OUTPUT_DIR or cwd)
timeout_msNoUpstream request timeout in ms for this call (default: $GEMINI_TIMEOUT_MS, else 60000 — or 120000 when image_size is 4K, which routinely runs past 60s)
video_pathNoPath to a local video file — uploaded to the Gemini Files API (~48h retention, 2 GB max) and used as the video reference. Alternative to video_url.
aspect_ratioNoOutput aspect ratio
google_searchNoGround the image in live Google Search results (current events, weather, data)
images_base64NoReference images as base64 strings or data URIs. Last resort: prefer images_url or images_file_uris, which keep image bytes out of the conversation
from_clipboardNoUse the image currently on the macOS system clipboard as an input (downscaled to JPEG)
thinking_levelNoReasoning depth (Gemini 3 models); higher can help complex/structural edits
idempotency_keyNoOpaque idempotency key: a repeat call with the same key returns the recorded result (reused: true) instead of billing a new generation. Set it when retrying after a host timeout (-32001) to avoid a duplicate charge.
images_file_urisNoReference images by Gemini Files API reference ("files/<id>", or the full uri) from gemini_upload_file or POST /upload. Upload once, then reference it across as many calls as you like — no bytes are re-sent and none enter the conversation. Files are retained ~48h, after which the reference stops resolving.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite annotations being minimal (readOnlyHint=false, openWorldHint=true), the description extensively covers behavioral traits: async mode for timeout avoidance, idempotency for retries, preview behavior when confirm is false, default timeouts varying by resolution, and multiple image input methods with preference order. This far exceeds what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The top-level description is concise (2 sentences plus sibling guidance), while parameter details are in the schema. The full description is relatively long but justified by the tool's complexity (22 parameters). It front-loads the key purpose and usage guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 22 parameters, no output schema, and complex async behavior, the description covers the major flow: async polling, idempotency, input methods, output options (inline/disk). It doesn't explicitly state the return format for sync calls, but overall it's mostly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, but the description adds significant value beyond the schema: e.g., model descriptions include usage advice (workhorse, premium, lite), timeout defaults are context-specific, images_url preference over base64 explained. This enriches parameter meaning substantially.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Generate image(s) from a text prompt' with specific model names, and distinguishes from sibling gemini_image_edit. The verb and resource are precise, and the sibling gemini_interact is mentioned for iterative refinement, providing clear differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly advises to 'prefer gemini_interact (multi-turn) as the entry point' for iterative refinement, and details model selection guidance (workhorse vs premium vs lite). No explicit 'when not to use' beyond that, but context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chrischall/gemini-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server