Skip to Content
APIProtocole natif GeminiGenerate Content

Generate Content

Appelez les modèles Google Gemini via le protocole natif Gemini. OfoxAI est compatible avec le SDK Google GenAI.

Endpoint

POST https://api.ofox.ai/gemini/v1beta/models/{model}:generateContent POST https://api.ofox.ai/gemini/v1beta/models/{model}:streamGenerateContent

Authentification

Le protocole Gemini utilise le header x-goog-api-key :

x-goog-api-key: <votre OFOXAI_API_KEY>

Exemple de requête

Terminal
curl "https://api.ofox.ai/gemini/v1beta/models/google/gemini-3.1-flash-lite-preview:generateContent" \ -H "x-goog-api-key: $OFOX_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "contents": [ { "parts": [{"text": "Implémente un serveur web simple en Python"}] } ] }'

Réponse en streaming

gemini_stream.py
response = client.models.generate_content_stream( model="google/gemini-3.1-flash-lite-preview", contents="Écris un article sur l'IA" ) for chunk in response: print(chunk.text, end="", flush=True)

Entrée multimodale

Gemini prend en charge nativement les entrées multimodales, y compris les images, l’audio et la vidéo :

import base64 # Analyse d'image with open("photo.jpg", "rb") as f: image_data = base64.b64encode(f.read()).decode() response = client.models.generate_content( model="google/gemini-3.1-flash-lite-preview", contents=[ {"text": "Décris le contenu de cette image"}, {"inline_data": {"mime_type": "image/jpeg", "data": image_data}} ] )

Générer et éditer des images

Avec le protocole natif Gemini, l’endpoint unique generateContent assure à la fois la génération d’images (text → image) et l’édition d’images (image + text → image). Modèle recommandé : google/gemini-3.1-flash-image-preview.

POST https://api.ofox.ai/gemini/v1beta/models/google/gemini-3.1-flash-image-preview:generateContent

Vous pouvez aussi appeler ce même modèle pour générer des images via l’endpoint compatible OpenAI, mais la fonctionnalité d’édition d’images n’est disponible qu’avec le protocole natif Gemini.

Génération : text → image

gen.py
from google import genai client = genai.Client( api_key="YOUR_OFOX_API_KEY", http_options={"api_version": "v1beta", "base_url": "https://api.ofox.ai/gemini"}, ) resp = client.models.generate_content( model="google/gemini-3.1-flash-image-preview", contents="A simple red apple on a white table, photorealistic", ) for part in resp.candidates[0].content.parts: if part.inline_data and part.inline_data.data: with open("output.png", "wb") as f: f.write(part.inline_data.data) break

Résultat réel :

Pomme rouge générée via le protocole natif Gemini

Édition : image + text → image

Placez simplement l’image originale en inlineData avec l’instruction textuelle dans parts :

edit.py
from google import genai from google.genai import types client = genai.Client( api_key="YOUR_OFOX_API_KEY", http_options={"api_version": "v1beta", "base_url": "https://api.ofox.ai/gemini"}, ) with open("apple.png", "rb") as f: image_bytes = f.read() resp = client.models.generate_content( model="google/gemini-3.1-flash-image-preview", contents=[ "Change la pomme en vert, ne touche à rien d'autre", types.Part.from_bytes(data=image_bytes, mime_type="image/png"), ], ) for part in resp.candidates[0].content.parts: if part.inline_data and part.inline_data.data: with open("apple_edited.png", "wb") as out: out.write(part.inline_data.data) break

Comparaison réelle :

Image originaleAprès édition
Pomme rouge originalePomme verte après édition

Réponse

{ "candidates": [{ "content": { "role": "model", "parts": [ { "text": "...", "thought": true }, { "inlineData": { "mimeType": "image/png", "data": "<Image en Base64>" } } ] }, "finishReason": "STOP" }], "modelVersion": "google/gemini-3.1-flash-image-preview", "usageMetadata": { "promptTokenCount": 1097, "candidatesTokenCount": 1120, "thoughtsTokenCount": 1306, "totalTokenCount": 3523, "candidatesTokensDetails": [ { "modality": "IMAGE", "tokenCount": 1120 } ] } }
  • L’image se trouve dans candidates[0].content.parts[].inlineData.data, sous forme de chaîne Base64
  • parts peut contenir plusieurs blocs text + thought: true correspondant au raisonnement ; lors du parcours, ne retenez que inlineData
  • Dans usageMetadata.candidatesTokensDetails, le tokenCount associé à modality: IMAGE correspond à la consommation pour la sortie image

Modèles pris en charge

Le tableau ci-dessous ne liste que quelques modèles courants. Pour la liste complète des modèles disponibles, consultez :

ModèleDescription
google/gemini-3.1-pro-previewGemini 3.1 Pro — capacité de raisonnement maximale
google/gemini-3-pro-previewGemini 3 Pro — performance équilibrée
google/gemini-3.1-flash-lite-previewGemini 3 Flash — haute vitesse et excellent rapport qualité-prix
google/gemini-3.1-flash-image-previewGemini Flash Image — génération et édition d’images

Le protocole Gemini d’OfoxAI prend en charge les principales fonctionnalités du SDK Google GenAI, notamment Function Calling, Code Execution, Grounding ainsi que la génération et l’édition d’images.

Last updated on