Image
gemini-3.1-flash-image API
Appelez gemini-3.1-flash-image via Modelflare avec l'ID de modèle exact indiqué sur cette page.
Utilisez l’ID de modèle exact gemini-3.1-flash-image. Le champ modèle doit correspondre exactement à cette page.

Paramètres : size=2Kratio=16:9
Prompt : The cold room of a flower shop, steel shelves and buckets of cut stems. A figure in an acid-green vinyl coat has just pulled one bucket toward the door. Along that whole shelf the flowers have begun turning to blown glass, petal by petal, the transformation running outward from the bucket like frost: stems still green at the base, heads already clear and ringing, throwing hard coloured caustics across the steel. One hard pink light through the open cooler door, cold blue shade behind. Wide low camera, macro-sharp on the glass edges, real weight, film grain, no text.
{ "contents": [ { "role": "user", "parts": [ { "text": "The cold room of a flower shop, steel shelves and buckets of cut stems. A figure in an acid-green vinyl coat has just pulled one bucket toward the door. Along that whole shelf the flowers have begun turning to blown glass, petal by petal, the transformation running outward from the bucket like frost: stems still green at the base, heads already clear and ringing, throwing hard coloured caustics across the steel. One hard pink light through the open cooler door, cold blue shade behind. Wide low camera, macro-sharp on the glass edges, real weight, film grain, no text." } ] } ], "generationConfig": { "responseModalities": [ "IMAGE" ], "imageConfig": { "aspectRatio": "16:9", "imageSize": "2K" } }}Authentification et point de terminaison
Section intitulée « Authentification et point de terminaison »Utilisez une clé API Modelflare avec https://modelflare.dev. Le point d’entrée de la passerelle est POST /v1/models/{model}:generateContent.
Authorization: Bearer YOUR_MODELFLARE_API_KEYGénérer une image
Section intitulée « Générer une image »curl "https://modelflare.dev/v1/models/gemini-3.1-flash-image:generateContent" \ -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "contents": [{"role": "user", "parts": [{"text": "A white cat runs through a neon-lit street in the rain"}]}], "generationConfig": {"responseModalities": ["TEXT", "IMAGE"], "imageConfig": {"aspectRatio": "16:9", "imageSize": "1K"}} }'Demander des notes
Section intitulée « Demander des notes »Les modèles d’images Gemini utilisent contents et generationConfig natifs ; les modifications envoient l’instruction texte et inline_data dans le même parts[].
Paramètres de requête
Section intitulée « Paramètres de requête »Les modèles d’images Gemini utilisent Gemini natif generateContent. Mettez le texte et les images de référence dans le même contents[].parts[] ; les images utilisent inline_data. N’envoyez pas ces modèles vers /v1/images/generations, /v1/images/edits ou OpenAI /v1/responses. L’énumération imageSize est spécifique au modèle et est illustrée ci-dessous.
| Champ | Obligatoire | Remarques |
|---|---|---|
contents[].parts[].text |
Oui | Invite textuelle ou instruction de modification |
contents[].parts[].inline_data |
Non | Données d’image Base64 et type MIME |
contents[].parts[].inline_data.mime_type |
Non | image/jpeg / image/png / image/webp |
contents[].parts[].inline_data.data |
Non | Contenu de l’image de référence codée en base64 |
generationConfig.responseModalities |
Oui | ["IMAGE"] ou ["TEXT", "IMAGE"] |
generationConfig.imageConfig.aspectRatio |
Non | 1:1 / 4:3 / 3:4 / 16:9 / 9:16 |
generationConfig.imageConfig.imageSize |
Non | 512 / 1K / 2K / 4K |
Limites de réponse et d’entrée
Section intitulée « Limites de réponse et d’entrée »Flash Image prend en charge 512, 1K, 2K et 4K avec 1:1, 4:3, 3:4, 16:9 et 9:16. La documentation officielle ne publie pas de plafond de nombre d’images de référence, donc la passerelle n’ajoute aucun plafond local.
Exemple d’édition d’image
Section intitulée « Exemple d’édition d’image »Placez l’instruction d’édition et l’image de référence dans le même contents[].parts[]. inline_data.data est le contenu de l’image Base64 ; n’envoyez pas de modèles d’image Gemini aux points de terminaison OpenAI Images ou Responses.
curl "https://modelflare.dev/v1/models/gemini-3.1-flash-image:generateContent" \ -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "contents": [{"role": "user", "parts": [ {"text": "Keep the subject and lighting, but replace the background with a misty pine forest."}, {"inline_data": {"mime_type": "image/jpeg", "data": "BASE64_IMAGE_DATA"}} ]}], "generationConfig": {"responseModalities": ["TEXT", "IMAGE"], "imageConfig": {"aspectRatio": "1:1", "imageSize": "1K"}} }'Forme de réponse
Section intitulée « Forme de réponse »Lire candidates[].content.parts[] ; ne présumez pas que chaque partie est une image car la réponse peut contenir ensemble des parties de texte et d’image.
| Champ | Remarques |
|---|---|
candidates[].content.parts[].inline_data |
Type MIME de l’image générée et données Base64 |
candidates[].content.parts[].text |
Légende de texte renvoyée lorsque TEXT a été demandé |
candidates[].finishReason |
Raison d’achèvement ou de sécurité |
usageMetadata |
Utilisation du jeton d’entrée/sortie lorsqu’il est renvoyé par le service |
Modelflare préserve la forme de réponse native Gemini pour gemini-3.1-flash-image et conserve les parties d’image utilisables.
Erreurs et tâches ayant échoué
Section intitulée « Erreurs et tâches ayant échoué »Les erreurs de champ, les limites de taille/rapport et les refus de sécurité de la requête Gemini native restent des réponses d’erreur compatibles avec Gemini. La passerelle ne les réécrit pas en tant que réponses OpenAI Images.
Portée prise en charge
Section intitulée « Portée prise en charge »Cette page couvre la génération et l’édition de modèles Modelflare. L’enrichissement de la recherche ou de la carte, la gestion de la voix et la gestion de la bibliothèque d’éléments sont des API de ressources en dehors de cette surface d’appel de modèle publique et ne sont pas des champs de requête obligatoires.
Tarification et facturation
Section intitulée « Tarification et facturation »Ce modèle utilise une facturation basée sur des jetons. Consultez la page de tarification du modèle pour connaître le prix client actuel, le prix catalogue de référence et les spécifications complètes.
Contrat média · v1
Source officielle: Google
Paramètres du contrat
| Champ d'intention | Contrôle | Options |
|---|---|---|
size | select | 512 / 1K / 2K / 4K |
ratio | select | 1:1 / 4:3 / 3:4 / 16:9 / 9:16 |
Capacité prise en charge
allowed_values·size· 512, 1K, 2K, 4Kallowed_values·ratio· 1:1, 4:3, 3:4, 16:9, 9:16
Exemple de requête structurée
text
Intention
{
"prompt": "A red paper kite over a quiet harbour at dusk.",
"ratio": "1:1",
"size": "512"
}Demande du fournisseur
{
"contents": [
{
"parts": [
{
"text": "A red paper kite over a quiet harbour at dusk."
}
],
"role": "user"
}
],
"generationConfig": {
"imageConfig": {
"aspectRatio": "1:1",
"imageSize": "512"
},
"responseModalities": [
"TEXT",
"IMAGE"
]
},
"systemInstruction": {
"parts": [
{
"text": "Generate an image for the user's request. If details are missing, choose reasonable defaults and still return an image. Do not ask clarifying questions."
}
]
}
}reference
Intention
{
"prompt": "A red paper kite over a quiet harbour at dusk.",
"ratio": "1:1",
"size": "512"
}Demande du fournisseur
{
"contents": [
{
"parts": [
{
"text": "A red paper kite over a quiet harbour at dusk."
},
{
"inline_data": {
"data": "AAAA",
"mime_type": "image/png"
}
}
],
"role": "user"
}
],
"generationConfig": {
"imageConfig": {
"aspectRatio": "1:1",
"imageSize": "512"
},
"responseModalities": [
"TEXT",
"IMAGE"
]
},
"systemInstruction": {
"parts": [
{
"text": "Generate an image for the user's request. If details are missing, choose reasonable defaults and still return an image. Do not ask clarifying questions."
}
]
}
}