Gemini 3 est notre famille de modèles la plus intelligente à ce jour, basée sur un raisonnement de pointe. Elle est conçue pour donner vie à toutes les idées en maîtrisant les workflows agentifs, le codage autonome et les tâches multimodales complexes. Ce guide couvre les principales fonctionnalités de la famille de modèles Gemini 3 et explique comment en tirer le meilleur parti.
Découvrez notre collection d'applications Gemini 3 pour voir comment le modèle gère le raisonnement avancé, le codage autonome et les tâches multimodales complexes.
Commencez avec quelques lignes de code :
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.1-pro-preview",
input="Find the race condition in this multi-threaded C++ snippet: [code here]",
)
print(interaction.output_text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
async function run() {
const interaction = await client.interactions.create({
model: "gemini-3.1-pro-preview",
input: "Find the race condition in this multi-threaded C++ snippet: [code here]",
});
console.log(interaction.output_text);
}
run();
Java
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Function;
import com.google.genai.gaos.models.interactions.FunctionCallStep;
import com.google.genai.gaos.models.interactions.FunctionResultStep;
import com.google.genai.gaos.models.interactions.FunctionResultStepResultUnion;
import com.google.genai.gaos.models.interactions.FunctionResultSubcontent;
import com.google.genai.gaos.models.interactions.ImageContent;
import com.google.genai.gaos.models.interactions.ImageContentMimeType;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.Step;
import com.google.genai.gaos.models.interactions.TextContent;
import com.google.genai.gaos.models.interactions.Tool;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Base64;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
Client client = new Client();
Map<String, Object> itemProp = new HashMap<>();
itemProp.put("type", "string");
itemProp.put("description", "The name or description of the item ordered (e.g., 'instrument').");
Map<String, Object> properties = new HashMap<>();
properties.put("item_name", itemProp);
Map<String, Object> parameters = new HashMap<>();
parameters.put("type", "object");
parameters.put("properties", properties);
parameters.put("required", Arrays.asList("item_name"));
Function getImageTool =
Function.builder()
.name("get_image")
.description("Retrieves the image file reference for a specific order item.")
.parameters(parameters)
.build();
CreateModelInteraction req1 =
CreateModelInteraction.builder()
.model(Model.of("gemini-3-flash-preview"))
.input(InteractionsInput.of("Use the get_image tool to show me the instrument I ordered last month."))
.tools(Arrays.asList(getImageTool))
.build();
Interaction interaction1 =
client.interactions.create(CreateInteractionRequestBody.of(req1)).interaction().get();
FunctionCallStep fcStep = null;
for (Step step : interaction1.steps().orElse(Collections.emptyList())) {
if (step instanceof FunctionCallStep) {
fcStep = (FunctionCallStep) step;
break;
}
}
if (fcStep != null) {
System.out.println("Tool Call: " + fcStep.name().orElse(""));
URL url = new URL("https://goo.gle/instrument-img");
byte[] imageBytes;
try (InputStream is = url.openStream()) {
imageBytes = is.readAllBytes();
}
String base64ImageData = Base64.getEncoder().encodeToString(imageBytes);
List<FunctionResultSubcontent> subcontents = new ArrayList<>();
subcontents.add(TextContent.builder().text("instrument.jpg").build());
subcontents.add(
ImageContent.builder()
.mimeType(ImageContentMimeType.IMAGE_JPEG)
.data(base64ImageData)
.build());
FunctionResultStep funcResult =
FunctionResultStep.builder()
.name(fcStep.name().orElse(""))
.callId(fcStep.id().orElse(""))
.result(FunctionResultStepResultUnion.of(subcontents))
.build();
CreateModelInteraction req2 =
CreateModelInteraction.builder()
.model(Model.of("gemini-3-flash-preview"))
.input(InteractionsInput.ofStep(Arrays.asList(funcResult)))
.tools(Arrays.asList(getImageTool))
.previousInteractionId(interaction1.id().orElse(""))
.build();
Interaction interaction2 =
client.interactions.create(CreateInteractionRequestBody.of(req2)).interaction().get();
System.out.println("Final model response: " + interaction2.outputText().orElse(""));
}
```bash
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "gemini-3.1-pro-preview",
"input": "Find the race condition in this multi-threaded C++ snippet: [code here]"
}'
Découvrez la série Gemini 3
Gemini 3.1 Pro est idéal pour les tâches complexes qui nécessitent une connaissance approfondie du monde et un raisonnement avancé sur plusieurs modalités.
Gemini 3 Flash est notre dernier modèle de la série 3, avec une intelligence de niveau Pro à la vitesse et au prix de Flash.
Nano Banana Pro (également appelé Gemini 3 Pro Image) est notre modèle de génération d'images de la plus haute qualité, et Nano Banana 2 (également appelé Gemini 3.1 Flash Image) est l'équivalent à volume élevé, à haute efficacité et à prix plus abordable.
Gemini 3.1 Flash-Lite est notre modèle de référence conçu pour l'efficacité économique et les tâches à volume élevé.
Tous les modèles Gemini 3 sont actuellement en preview.
| ID du modèle | Fenêtre de contexte (entrée / sortie) | Date limite des connaissances | Tarification (entrée / sortie)* |
|---|---|---|---|
| gemini-3.1-flash-lite | 1M / 64k | Janvier 2025 | 0,25 $ (texte, image, vidéo), 0,50 $ (audio) / 1,50 $ |
| gemini-3.1-flash-image-preview | 128k / 32k | Janvier 2025 | 0,25 $ (entrée de texte) / 0,067 $ (sortie d'image)** |
| gemini-3.1-pro-preview | 1M / 64k | Janvier 2025 | 2 $ / 12 $ (< 200 k jetons) 4 $ / 18 $ (> 200 k jetons) |
| gemini-3-flash-preview | 1M / 64k | Janvier 2025 | 0,50 $ / 3 $ |
| gemini-3-pro-image-preview | 65k / 32k | Janvier 2025 | 2 $ (entrée de texte) / 0,134 $ (sortie d'image)** |
* La tarification est par million de jetons, sauf indication contraire. ** La tarification des images varie en fonction de la résolution. Pour en savoir plus, consultez la page des tarifs.
Pour connaître les limites, les tarifs et obtenir des informations supplémentaires, consultez la page des modèles.
Nouvelles fonctionnalités de l'API dans Gemini 3
Gemini 3 introduit de nouveaux paramètres conçus pour offrir aux développeurs plus de contrôle sur la latence, les coûts et la fidélité multimodale.
Niveau de raisonnement
Les modèles de la série Gemini 3 utilisent par défaut le raisonnement dynamique pour traiter les prompts. Vous pouvez utiliser le paramètre thinking_level, qui contrôle la profondeur maximale du processus de raisonnement interne du modèle avant qu'il ne produise une réponse. Gemini 3 traite ces niveaux comme des allocations relatives pour le raisonnement plutôt que comme des garanties strictes de jetons.
Si thinking_level n'est pas spécifié, Gemini 3 utilise high par défaut. Pour des réponses plus rapides et à faible latence lorsque le raisonnement complexe n'est pas nécessaire, vous pouvez limiter le niveau de raisonnement du modèle à low.
| Niveau de raisonnement | Gemini 3.1 Pro | Gemini 3.1 Flash-Lite | Gemini 3 Flash | Description |
|---|---|---|---|---|
minimal |
Non compatible | Compatible (par défaut) | Compatible | Correspond au paramètre "no thinking" (pas de raisonnement) pour la plupart des requêtes. Le modèle peut raisonner de manière très minimale pour les tâches de codage complexes. Réduit la latence pour les applications de chat ou à haut débit. Remarque : minimal ne garantit pas que le raisonnement est désactivé. |
low |
Compatible | Compatible | Compatible | Réduit la latence et les coûts. Idéal pour les instructions simples, le chat ou les applications à haut débit. |
medium |
Compatible | Compatible | Compatible | Raisonnement équilibré pour la plupart des tâches. |
high |
Compatible (par défaut, dynamique) | Compatible (dynamique) | Compatible (par défaut, dynamique) | Maximise la profondeur du raisonnement. Le modèle peut mettre beaucoup plus de temps à atteindre un premier jeton de sortie (sans raisonnement), mais la sortie sera plus soigneusement raisonnée. |
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.1-pro-preview",
input="How does AI work?",
generation_config={"thinking_level": "low"},
)
print(interaction.output_text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
const interaction = await client.interactions.create({
model: "gemini-3.1-pro-preview",
input: "How does AI work?",
generation_config: {
thinking_level: "low",
},
});
console.log(interaction.output_text);
Java
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Function;
import com.google.genai.gaos.models.interactions.FunctionCallStep;
import com.google.genai.gaos.models.interactions.FunctionResultStep;
import com.google.genai.gaos.models.interactions.FunctionResultStepResultUnion;
import com.google.genai.gaos.models.interactions.FunctionResultSubcontent;
import com.google.genai.gaos.models.interactions.ImageContent;
import com.google.genai.gaos.models.interactions.ImageContentMimeType;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.Step;
import