Générez des images avec les modèles Gemini via CometAPI — prend en charge la 4K, l’édition multi-tour, jusqu’à 14 images de référence et Thinking.
from google import genai
from google.genai import types
import os
client = genai.Client(
http_options={"api_version": "v1beta", "base_url": "https://api.cometapi.com"},
api_key=os.environ.get("COMETAPI_KEY"),
)
response = client.models.generate_content(
model="gemini-3.1-flash-image-preview",
contents="A Monarch butterfly anatomical sketch on textured parchment",
config=types.GenerateContentConfig(
response_modalities=["TEXT", "IMAGE"],
image_config=types.ImageConfig(aspect_ratio="1:1", image_size="4K"),
),
)
for part in response.parts:
if part.text:
print(part.text)
elif image := part.as_image():
image.save("output.png"){
"candidates": [
{
"content": {
"role": "<string>",
"parts": [
{
"text": "<string>",
"inlineData": {
"mimeType": "<string>",
"data": "<string>"
}
}
]
},
"finishReason": "STOP",
"index": 123,
"safetyRatings": [
{
"category": "<string>",
"probability": "<string>"
}
]
}
],
"usageMetadata": {
"promptTokenCount": 123,
"candidatesTokenCount": 123,
"totalTokenCount": 123,
"thoughtsTokenCount": 123
}
}Use your CometAPI API key.
The Gemini image model to use. See the Models page for current options.
Conversation turns. Each item has a role ("user" or "model") and parts array containing text and/or image data.
Show child attributes
Controls generation behavior — output modalities, image resolution, thinking, etc.
Show child attributes
Optional tools. Pass [{"google_search": {}}] to enable Google Search grounding for real-time information in generated images.
Show child attributes
from google import genai
from google.genai import types
import os
client = genai.Client(
http_options={"api_version": "v1beta", "base_url": "https://api.cometapi.com"},
api_key=os.environ.get("COMETAPI_KEY"),
)
response = client.models.generate_content(
model="gemini-3.1-flash-image-preview",
contents="A Monarch butterfly anatomical sketch on textured parchment",
config=types.GenerateContentConfig(
response_modalities=["TEXT", "IMAGE"],
image_config=types.ImageConfig(aspect_ratio="1:1", image_size="4K"),
),
)
for part in response.parts:
if part.text:
print(part.text)
elif image := part.as_image():
image.save("output.png"){
"candidates": [
{
"content": {
"role": "<string>",
"parts": [
{
"text": "<string>",
"inlineData": {
"mimeType": "<string>",
"data": "<string>"
}
}
]
},
"finishReason": "STOP",
"index": 123,
"safetyRatings": [
{
"category": "<string>",
"probability": "<string>"
}
]
}
],
"usageMetadata": {
"promptTokenCount": 123,
"candidatesTokenCount": 123,
"totalTokenCount": 123,
"thoughtsTokenCount": 123
}
}