Skip to main content

What you will build

You will call the Gemini image generateContent route through CometAPI, request an image output from Gemini image models including Nano Banana model families, skip intermediate thought image parts, and save the final inlineData image.

Prerequisites

  • A CometAPI API key stored in COMETAPI_KEY
  • Python 3.10+ with requests, or Node.js 18+
  • A Gemini image model ID. Available models include gemini-nano-banana-2.1, gemini-3.1-flash-image-preview, and other Nano Banana model families.

API key, base URL, authentication

Use the Gemini image route through CometAPI. Replace the model ID with your chosen model:
For example, with gemini-nano-banana-2.1:
Authenticate with x-goog-api-key:

Code examples

Use the tabs below for copyable examples in cURL, Python, and Node.js. These examples use gemini-nano-banana-2.1.

Flow explanation

Gemini image generation is synchronous on this route. The response uses Gemini native candidates[].content.parts[]. Parts can include text, generated images, and intermediate image parts where thought is true. When saving the result, iterate through image parts, ignore thought: true, and save the last remaining inlineData image.

Common parameters

Troubleshooting / FAQ

Do not save parts where thought is true. These are intermediate images, not the final output.
Check that generationConfig.responseModalities includes IMAGE, and that the selected model supports image output.
Use inline_data request parts as shown in the Gemini image guide, and keep the final-image parsing logic the same.

Next steps

Last modified on October 8, 2026