
Comment utiliser l'API Gemini 3.5 Flash : Model ID, tarifs et exemples de code

Gemini 3.5 Flash est le dernier modèle Flash prêt pour la production de Google, disponible en version générale (GA) et stable pour une utilisation en production à grande échelle. Il est conçu pour les workflows agentiques, les agents de codage, le déploiement en sous-agent et les tâches de longue durée — combinant une intelligence de niveau frontier avec la vitesse et le coût typiques de la gamme Flash.
Ce guide couvre tout ce dont vous avez besoin pour intégrer Gemini 3.5 Flash dans votre application : Model ID, tarifs, exemples de code en Python et Node.js, appel de fonctions, sorties structurées, modèles de workflows agentiques, analyse des coûts et comment choisir entre Flash et Pro.
Carte de référence rapide
| Élément | Valeur |
|---|---|
| Model ID | gemini-3.5-flash |
| Statut | Disponible en version générale (GA), stable pour la production |
| Tarif d'entrée | $1.50 par 1M de tokens |
| Tarif de sortie | $9.00 par 1M de tokens |
| Fenêtre de contexte | 1 000 000 de tokens en entrée |
| Sortie maximale | 65 536 tokens |
| Modalités d'entrée | Texte, image, vidéo, audio, PDF |
| Modalités de sortie | Texte uniquement |
| Appel de fonctions | Pris en charge |
| Sorties structurées | Pris en charge |
| Exécution de code | Pris en charge |
| Ancrage par recherche | Pris en charge |
| Mise en cache du contexte | Pris en charge |
| Batch API | Pris en charge |
| Streaming | Pris en charge |
Table des matières
- Quand utiliser Gemini 3.5 Flash
- Gemini 3.5 Flash vs autres modèles Gemini
- Tarifs en détail
- Configuration : démarrer en 2 minutes
- Exemples de code
- Appel de fonctions
- Sorties structurées
- Workflow d'agent de codage
- Modèle de déploiement en sous-agent
- Analyse des coûts : ce que coûtent réellement les boucles d'agent
- Stratégies de contrôle des coûts
- Erreurs courantes et comment les éviter
- Quand NE PAS utiliser Gemini 3.5 Flash
- FAQ
Quand utiliser Gemini 3.5 Flash
Gemini 3.5 Flash n'est pas un modèle économique généraliste. Google le positionne explicitement pour des charges de travail spécifiques à forte valeur où la vitesse, le coût par itération et le support d'outils comptent davantage que la profondeur maximale de raisonnement.
Meilleurs cas d'utilisation
| Cas d'utilisation | Pourquoi Gemini 3.5 Flash convient | Quoi mesurer |
|---|---|---|
| Agents de codage | Génération de code rapide, débogage, refactoring à la vitesse Flash par itération | Itérations pour corriger, coût par session, qualité des diffs |
| Workflows agentiques | Appel de fonctions natif, boucles d'exécution parallèle, faible coût par appel | Précision des appels d'outils, taux de repli, coût total du workflow |
| Déploiement en sous-agent | Déployé comme sous-agent dans les systèmes multi-agents où l'économie par appel compte | Latence par sous-appel, taux d'erreur, surcoût d'orchestration |
| Tâches de longue durée | 1M de contexte gère des bases de code complètes et des analyses multi-documents sans troncature | Taux d'utilisation du contexte, qualité de sortie à nombre élevé de tokens |
| Traitement de documents | Entrées PDF, audio, vidéo à tarification unifiée — pas de supplément par modalité | Précision d'extraction, coût de traitement par document |
| Chat de production | Raisonnement intégré à la latence Flash pour les applications orientées client | Temps au premier token, satisfaction utilisateur, coût par conversation |
Arbre de décision des cas d'utilisation
Posez-vous ces questions dans l'ordre :
- La tâche nécessite-t-elle le raisonnement le plus profond possible ? Si oui → Gemini 3.1 Pro.
- S'agit-il d'une tâche simple à grand volume (classification, routage, extraction) ? Si oui → Gemini 3.1 Flash Lite.
- La tâche implique-t-elle du codage, des agents, des outils ou un contexte long ? Si oui → Gemini 3.5 Flash.
- S'agit-il de chat de production général ou de résumés ? Si oui → Gemini 3.5 Flash ou Gemini 2.5 Flash (comparez selon votre charge de travail).
Gemini 3.5 Flash vs autres modèles Gemini
Voici la comparaison qui compte pour les décisions de routage en production.
| Caractéristique | Gemini 3.5 Flash | Gemini 3.1 Pro | Gemini 3 Flash | Gemini 3.1 Flash Lite | Gemini 2.5 Flash |
|---|---|---|---|---|---|
| Statut | GA, stable | Aperçu | Aperçu | Aperçu | Stable |
| Idéal pour | Agents, codage, longue durée | Raisonnement le plus complexe | Charges rapides générales | Batch à grand volume | Chat de production |
| Coût d'entrée | $1.50/MTok | $2–$4/MTok | $0.50/MTok | $0.25/MTok | $0.30/MTok |
| Coût de sortie | $9.00/MTok | $12–$18/MTok | $3.00/MTok | $1.50/MTok | $2.50/MTok |
| Contexte | 1M / 65K | 1M / 64K | 1M / 64K | 1M / 64K | 1M / 64K |
| Raisonnement | Intégré | Le plus profond (thinking) | Standard | Léger | Standard |
| Appel de fonctions | Oui | Oui | Oui | Oui | Oui |
| Exécution de code | Oui | Oui | Oui | Oui | Oui |
| Maturité production | GA | Aperçu | Aperçu | Aperçu | Stable |
Tarifs en détail
Tarification standard
| Type de token | Prix par 1M de tokens |
|---|---|
| Entrée texte | $1.50 |
| Sortie texte | $9.00 |
| Entrée audio | Unifié avec le texte (pas de supplément) |
| Entrée image | Unifié avec le texte (pas de supplément) |
| Entrée vidéo | Unifié avec le texte (pas de supplément) |
| Entrée PDF | Unifié avec le texte (pas de supplément) |
Options de réduction des coûts
| Méthode | Comment ça fonctionne | Idéal pour |
|---|---|---|
| Mise en cache du contexte | Met en cache les préfixes d'entrée répétés ; les hits de cache coûtent moins que les nouvelles entrées | Boucles d'agent, contexte de code répété, prompts système |
| Batch API | Soumettez des requêtes par lots pour un traitement hors ligne à tarifs réduits | Génération de tests, extraction en masse, analyse hors ligne |
| Crédits EvoLink | Achetez des crédits à l'avance pour des remises sur volume | Équipes avec une utilisation mensuelle prévisible |
Exemples de coûts réels
| Scénario | Tokens d'entrée | Tokens de sortie | Coût estimé |
|---|---|---|---|
| Question texte unique | ~500 | ~200 | $0.003 |
| Revue de code (1 fichier, ~2K lignes) | ~8 000 | ~2 000 | $0.03 |
| Session d'agent de codage (20 itérations) | ~80 000 | ~20 000 | $0.30 |
| Analyse complète de base de code (500K contexte) | ~500 000 | ~10 000 | $0.84 |
| Extraction de document PDF (100 pages) | ~150 000 | ~5 000 | $0.27 |
| Déploiement d'agent 8 heures (continu) | ~2 000 000 | ~500 000 | $7.50 |
Ces estimations supposent une tarification standard sans mise en cache. Avec la mise en cache du contexte activée, les coûts d'entrée des boucles d'agent peuvent être considérablement réduits.
Configuration : démarrer en 2 minutes
Étape 1 : Obtenir une clé API EvoLink
Étape 2 : Installer le SDK OpenAI
EvoLink est compatible OpenAI, vous utilisez donc le SDK OpenAI standard :
pip install openainpm install openaiÉtape 3 : Faire votre première requête
from openai import OpenAI
client = OpenAI(
api_key="your-evolink-api-key",
base_url="https://api.evolink.ai/v1"
)
response = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[
{"role": "user", "content": "What is Gemini 3.5 Flash best at?"}
]
)
print(response.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
apiKey: "your-evolink-api-key",
baseURL: "https://api.evolink.ai/v1",
});
const response = await client.chat.completions.create({
model: "gemini-3.5-flash",
messages: [
{ role: "user", content: "What is Gemini 3.5 Flash best at?" },
],
});
console.log(response.choices[0].message.content);C'est tout. Pas besoin de SDK spécifique à Google, pas de flux d'authentification séparé, pas de configuration Vertex AI.
Exemples de code
Requête texte simple avec prompt système
response = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[
{"role": "system", "content": "You are a senior software engineer. Be concise and precise."},
{"role": "user", "content": "Explain the difference between a mutex and a semaphore in 3 sentences."}
],
temperature=0.3,
max_tokens=512
)Multimodal : analyse d'image
import base64
with open("screenshot.png", "rb") as f:
image_data = base64.b64encode(f.read()).decode()
response = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "What error is shown in this screenshot? Suggest a fix."},
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{image_data}"}}
]
}
]
)Toutes les entrées multimodales partagent le même tarif par token que le texte — pas de supplément audio ou vidéo.
Streaming
Pour les applications interactives où vous souhaitez que les tokens apparaissent au fur et à mesure de leur génération :
stream = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[{"role": "user", "content": "Write a Python function that validates email addresses."}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)const stream = await client.chat.completions.create({
model: "gemini-3.5-flash",
messages: [{ role: "user", content: "Write a Python function that validates email addresses." }],
stream: true,
});
for await (const chunk of stream) {
const content = chunk.choices[0]?.delta?.content;
if (content) process.stdout.write(content);
}Conversation multi-tours
messages = [
{"role": "system", "content": "You are a helpful coding assistant."},
{"role": "user", "content": "Write a linked list implementation in Python."},
]
# First turn
response = client.chat.completions.create(model="gemini-3.5-flash", messages=messages)
assistant_message = response.choices[0].message.content
messages.append({"role": "assistant", "content": assistant_message})
# Follow-up
messages.append({"role": "user", "content": "Now add a reverse() method."})
response = client.chat.completions.create(model="gemini-3.5-flash", messages=messages)
print(response.choices[0].message.content)Appel de fonctions
Gemini 3.5 Flash prend en charge l'appel de fonctions natif, essentiel pour les workflows agentiques. Définissez des outils et laissez le modèle décider quand les appeler.
Exemple Python
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get current weather for a location",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string", "description": "City name"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}
},
"required": ["location"]
}
}
},
{
"type": "function",
"function": {
"name": "search_database",
"description": "Search the internal knowledge base",
"parameters": {
"type": "object",
"properties": {
"query": {"type": "string", "description": "Search query"},
"limit": {"type": "integer", "description": "Max results to return"}
},
"required": ["query"]
}
}
}
]
response = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[{"role": "user", "content": "What's the weather in Tokyo and find articles about climate change?"}],
tools=tools,
tool_choice="auto"
)
# The model may call one or both tools
for tool_call in response.choices[0].message.tool_calls:
print(f"Function: {tool_call.function.name}")
print(f"Arguments: {tool_call.function.arguments}")Exemple Node.js
const tools = [
{
type: "function",
function: {
name: "run_tests",
description: "Run the test suite and return results",
parameters: {
type: "object",
properties: {
test_file: { type: "string", description: "Path to test file" },
verbose: { type: "boolean", description: "Show detailed output" },
},
required: ["test_file"],
},
},
},
];
const response = await client.chat.completions.create({
model: "gemini-3.5-flash",
messages: [{ role: "user", content: "Run the tests for auth module" }],
tools,
tool_choice: "auto",
});
const toolCalls = response.choices[0].message.tool_calls;
for (const call of toolCalls) {
console.log(`Call: ${call.function.name}(${call.function.arguments})`);
}Bonnes pratiques pour l'appel de fonctions
| Pratique | Pourquoi |
|---|---|
| Écrire des descriptions de fonctions claires | Le modèle s'appuie sur les descriptions pour décider quand appeler chaque outil |
Utiliser les champs required | Empêche le modèle d'omettre des paramètres critiques |
| Garder les schémas de paramètres simples | Les schémas imbriqués complexes augmentent le taux d'erreur |
| Gérer les appels d'outils parallèles | Gemini 3.5 Flash peut appeler plusieurs outils dans une seule réponse |
| Valider les arguments des appels d'outils | Toujours valider avant l'exécution — ne pas faire aveuglément confiance à la sortie du modèle |
Sorties structurées
Pour les workflows qui nécessitent des résultats lisibles par machine, utilisez le mode JSON ou le format de réponse :
response = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[
{"role": "system", "content": "Extract structured data from the text. Return valid JSON only."},
{"role": "user", "content": "John Smith, age 34, works at Acme Corp as a senior engineer since 2022. Email: [email protected]"}
],
response_format={"type": "json_object"}
)
import json
data = json.loads(response.choices[0].message.content)
print(data)
# {"name": "John Smith", "age": 34, "company": "Acme Corp", "role": "senior engineer", "start_year": 2022, "email": "[email protected]"}Quand utiliser les sorties structurées
| Scénario | Format | Pourquoi |
|---|---|---|
| Extraction de données depuis des documents | Mode JSON | Les systèmes en aval ont besoin de données structurées |
| Réponses d'outils d'agent | Mode JSON | Les orchestrateurs d'outils ont besoin de sorties analysables |
| Tâches de classification | Mode JSON | Besoin d'un champ d'étiquette cohérent, pas de texte libre |
| Génération de code | Texte brut | Le code est déjà structuré ; l'encapsulation JSON ajoute du surcoût |
| Explications et chat | Texte brut | Le langage naturel se lit mieux sans JSON |
Workflow d'agent de codage
C'est le cas d'utilisation à la plus haute valeur pour Gemini 3.5 Flash. Voici une boucle d'agent de codage complète :
from openai import OpenAI
import subprocess
import json
client = OpenAI(api_key="your-evolink-api-key", base_url="https://api.evolink.ai/v1")
def run_tests(test_file: str) -> dict:
"""Run tests and return results."""
result = subprocess.run(["python", "-m", "pytest", test_file, "-v", "--tb=short"],
capture_output=True, text=True, timeout=60)
return {"passed": result.returncode == 0, "output": result.stdout + result.stderr}
def read_file(path: str) -> str:
with open(path) as f:
return f.read()
def write_file(path: str, content: str):
with open(path, "w") as f:
f.write(content)
# Initial context
module_code = read_file("src/auth.py")
test_code = read_file("tests/test_auth.py")
test_result = run_tests("tests/test_auth.py")
messages = [
{"role": "system", "content": """You are a coding agent. Your job is to fix failing tests.
Rules:
1. Read the code and test output carefully.
2. Identify the root cause.
3. Output the complete fixed file content.
4. Do not change test expectations — fix the implementation."""},
{"role": "user", "content": f"""Module code:\n```python\n{module_code}\n```\n\nTest code:\n```python\n{test_code}\n```\n\nTest output:\n```\n{test_result['output']}\n```"""}
]
MAX_ITERATIONS = 15
for i in range(MAX_ITERATIONS):
response = client.chat.completions.create(
model="gemini-3.5-flash",
messages=messages,
temperature=0.2,
max_tokens=8192
)
reply = response.choices[0].message.content
messages.append({"role": "assistant", "content": reply})
# Extract and apply the fix
if "```python" in reply:
code_block = reply.split("```python")[1].split("```")[0]
write_file("src/auth.py", code_block)
# Re-run tests
test_result = run_tests("tests/test_auth.py")
if test_result["passed"]:
print(f"All tests pass after {i + 1} iterations.")
break
messages.append({"role": "user", "content": f"Tests still failing:\n```\n{test_result['output']}\n```\nAnalyze the failure and try again."})
else:
print(f"Failed to fix after {MAX_ITERATIONS} iterations.")Conseils de performance pour les boucles d'agent
| Conseil | Impact |
|---|---|
Utiliser temperature=0.2 pour des corrections déterministes | Réduit la variation aléatoire entre les itérations |
Définir max_tokens=8192 pour la sortie de code | Empêche la troncature sur les fichiers volumineux |
| Inclure la sortie des tests dans le contexte | Fournit au modèle des signaux d'échec concrets |
| Limiter les itérations (15–20) | Empêche les coûts incontrôlés si le modèle est bloqué |
| Utiliser la mise en cache du contexte | Même contexte de code envoyé à chaque itération — les hits de cache peuvent réduire significativement le coût d'entrée |
Modèle de déploiement en sous-agent
Dans les systèmes multi-agents, Gemini 3.5 Flash fonctionne bien comme sous-agent gérant des tâches spécifiques tandis qu'un coordinateur (Pro ou un autre modèle) gère le workflow global :
def coding_sub_agent(task: str, context: str) -> str:
"""Fast coding sub-agent using Gemini 3.5 Flash."""
response = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[
{"role": "system", "content": "You are a fast coding sub-agent. Complete the task concisely."},
{"role": "user", "content": f"Context:\n{context}\n\nTask:\n{task}"}
],
temperature=0.2,
max_tokens=4096
)
return response.choices[0].message.content
def reasoning_agent(task: str) -> str:
"""Deep reasoning agent using Gemini 3.1 Pro for complex decisions."""
response = client.chat.completions.create(
model="gemini-3.1-pro-preview",
messages=[
{"role": "system", "content": "You are a senior architect. Analyze deeply and decide."},
{"role": "user", "content": task}
],
temperature=0.3,
max_tokens=4096
)
return response.choices[0].message.content
# Coordinator pattern: Pro decides, Flash executes
plan = reasoning_agent("Design a refactoring plan for the auth module to support OAuth2.")
subtasks = parse_subtasks(plan)
results = []
for subtask in subtasks:
result = coding_sub_agent(subtask, context=module_code)
results.append(result)Quel modèle pour quel rôle dans un système multi-agents
| Rôle de l'agent | Modèle recommandé | Pourquoi |
|---|---|---|
| Coordinateur / planificateur | Gemini 3.1 Pro | A besoin du raisonnement le plus profond pour les décisions architecturales |
| Sous-agent de codage | Gemini 3.5 Flash | Itération rapide, bonne qualité de code, faible coût par appel |
| Classification / routage | Gemini 3.1 Flash Lite | Option la moins chère pour les décisions structurées simples |
| Analyse de documents | Gemini 3.5 Flash | 1M de contexte + multimodal pour PDF et images |
| Validation / revue | Gemini 3.5 Flash ou Pro | Dépend du caractère critique de la revue |
Analyse des coûts : ce que coûtent réellement les boucles d'agent
La plupart des développeurs sous-estiment les coûts des agents parce qu'ils ne regardent que le prix par requête unique. Voici une ventilation réaliste :
Agent de codage : session de débogage à 20 itérations
| Phase | Tokens d'entrée | Tokens de sortie | Coût d'entrée | Coût de sortie |
|---|---|---|---|---|
| Itération 1 (contexte complet) | 8 000 | 2 000 | $0.012 | $0.018 |
| Itérations 2–5 (contexte croissant) | 40 000 | 6 000 | $0.060 | $0.054 |
| Itérations 6–10 (contexte large) | 60 000 | 5 000 | $0.090 | $0.045 |
| Itérations 11–20 (plateau) | 100 000 | 7 000 | $0.150 | $0.063 |
| Total | 208 000 | 20 000 | $0.312 | $0.180 |
| Total de la session | $0.49 |
Avec mise en cache du contexte (taux de hit de 50 % supposé sur le contexte de code répété) :
| Sans cache | Avec cache | Économies | |
|---|---|---|---|
| Coût d'entrée | $0.312 | ~$0.187 | 40 % |
| Coût de sortie | $0.180 | $0.180 | 0 % |
| Total | $0.492 | $0.367 | 25 % |
Comparaison des coûts : même session d'agent sur différents modèles
| Modèle | Coût d'entrée | Coût de sortie | Total session | Compromis qualité |
|---|---|---|---|---|
| Gemini 3.5 Flash | $0.312 | $0.180 | $0.49 | Meilleur équilibre pour les agents de codage |
| Gemini 3.1 Pro | $0.416–$0.832 | $0.240–$0.360 | $0.66–$1.19 | Raisonnement plus profond, 2–3x le coût |
| Gemini 3 Flash | $0.104 | $0.060 | $0.16 | Moins cher mais codage plus faible |
| Gemini 3.1 Flash Lite | $0.052 | $0.030 | $0.08 | Le moins cher mais raisonnement limité |
Stratégies de contrôle des coûts
1. Activer la mise en cache du contexte
Si votre agent envoie le même contexte de code de manière répétée, la mise en cache du contexte peut réduire significativement le coût d'entrée sur les hits de cache.
2. Utiliser le Batch API pour le travail non urgent
Pour la génération de tests, l'extraction en masse ou l'analyse de code hors ligne, le Batch API offre des tarifs réduits. La latence est plus élevée mais le coût par token est inférieur.
3. Définir Max Tokens
max_tokens pour éviter des sorties inattendument longues qui gonflent les coûts :response = client.chat.completions.create(
model="gemini-3.5-flash",
messages=messages,
max_tokens=4096 # Reasonable limit for code output
)4. Router par complexité de tâche
N'utilisez pas un seul modèle pour tout. Construisez une couche de routage :
def route_request(task_type: str) -> str:
routing_table = {
"architecture": "gemini-3.1-pro-preview", # Deep reasoning
"coding": "gemini-3.5-flash", # Fast iteration
"classification": "gemini-3.1-flash-lite", # Cheapest
"review": "gemini-3.5-flash", # Good balance
"chat": "gemini-3.5-flash", # Production default
}
return routing_table.get(task_type, "gemini-3.5-flash")5. Surveiller l'utilisation des tokens
Suivez les tokens d'entrée et de sortie par requête. Le tableau de bord d'EvoLink offre une visibilité en temps réel sur l'utilisation. Vérifiez l'utilisation régulièrement et définissez des limites de budget côté application selon vos besoins.
6. Tronquer le contexte quand c'est possible
N'envoyez pas la totalité de votre contexte de 1M de tokens si vous n'avez besoin que des derniers 50K tokens. Supprimez les anciens tours de conversation et ne gardez que le contexte pertinent.
Erreurs courantes et comment les éviter
| Erreur | Ce qui se passe | Solution |
|---|---|---|
| Coder en dur le Model ID partout | Impossible de changer de modèle sans modifier le code | Stocker le Model ID dans la config ; router par type de tâche |
Ne pas définir max_tokens | La sortie peut être inattendument longue et coûteuse | Toujours définir une limite de sortie raisonnable |
| Envoyer le contexte complet à chaque itération sans cache | Le coût d'entrée croît linéairement avec les itérations | Activer la mise en cache du contexte pour les préfixes répétés |
| Utiliser Flash pour des tâches nécessitant un raisonnement profond | Précision moindre sur les décisions architecturales complexes | Router les étapes les plus difficiles vers Gemini 3.1 Pro |
| Utiliser Pro pour des tâches que Flash gère bien | 2–3x plus cher avec un gain de qualité marginal | Flash par défaut ; passer à Pro uniquement si nécessaire |
| Ignorer le coût des retentatives dans les estimations budgétaires | Le coût réel est supérieur aux estimations par requête unique | Inclure le taux de retentative et le coût de repli dans les calculs |
| Ne pas valider les arguments des appels de fonctions | Le modèle produit des paramètres invalides | Toujours valider les arguments des appels d'outils avant l'exécution |
| Traiter la fenêtre de contexte comme illimitée | 1M de tokens est grand mais pas infini | Surveiller l'utilisation du contexte ; tronquer quand on approche des limites |
Quand NE PAS utiliser Gemini 3.5 Flash
Gemini 3.5 Flash est puissant mais pas universel. Utilisez autre chose quand :
| Scénario | Pourquoi Flash ne convient pas | Meilleur choix |
|---|---|---|
| Génération d'images/audio/vidéo | Flash ne produit que du texte | Modèles de génération spécialisés |
| Raisonnement multi-étapes le plus complexe | Pro offre des traces de raisonnement plus profondes | Gemini 3.1 Pro |
| Extraction par lots au coût le plus bas | Flash Lite est 6x moins cher en entrée | Gemini 3.1 Flash Lite |
| Conversation vocale en temps réel | Flash ne supporte pas le Live API | Modèles Gemini avec Live API |
| Computer Use | Computer Use non supporté | Modèles avec support Computer Use |
FAQ
Quel est le Model ID de Gemini 3.5 Flash ?
gemini-3.5-flash. Utilisez exactement cette chaîne dans les requêtes API via EvoLink.Gemini 3.5 Flash est-il gratuit ?
Gemini 3.5 Flash propose un niveau gratuit sur l'API Google Gemini. La tarification standard payante est de $1.50 par 1M de tokens d'entrée et $9.00 par 1M de tokens de sortie. La mise en cache du contexte et le Batch API offrent des tarifs réduits. Pour les tarifs EvoLink, consultez la page produit.
Puis-je utiliser Gemini 3.5 Flash avec le SDK OpenAI ?
https://api.evolink.ai/v1 et définissez model="gemini-3.5-flash". Fonctionne avec Python, Node.js, Go et tout autre client compatible OpenAI.Gemini 3.5 Flash supporte-t-il l'appel de fonctions ?
Oui. L'appel de fonctions, les sorties structurées, l'exécution de code et l'ancrage par recherche sont tous supportés nativement. Vous pouvez définir des outils et le modèle les appellera quand c'est approprié.
Comment Gemini 3.5 Flash se compare-t-il à Gemini 3 Flash ?
Gemini 3.5 Flash est le modèle Flash de génération actuelle avec une intelligence de niveau frontier, des performances agentiques et de codage supérieures, et un raisonnement intégré. Gemini 3 Flash est la génération précédente avec des capacités moindres mais aussi un coût inférieur ($0.50 vs $1.50 par MTok en entrée).
Quelle est la taille de la fenêtre de contexte ?
1 000 000 de tokens d'entrée et 65 536 tokens de sortie. C'est suffisant pour des bases de code complètes, des analyses multi-documents et de longs historiques de conversation d'agent.
Gemini 3.5 Flash est-il adapté aux agents de codage ?
Oui. Google l'optimise explicitement pour les tâches de codage et les workflows agentiques. Il gère la génération de code, le débogage, le refactoring et l'analyse multi-fichiers à la vitesse Flash. Une session de débogage typique de 20 itérations coûte environ $0.30–$0.50.
Gemini 3.5 Flash est-il prêt pour la production ?
Oui. Google le liste comme disponible en version générale (GA) et stable pour une utilisation en production à grande échelle. Ce n'est ni un modèle d'aperçu ni un modèle expérimental.
Combien coûte une session d'agent de codage ?
Une session de débogage typique de 20 itérations avec ~200K tokens d'entrée totaux et ~20K tokens de sortie coûte environ $0.49 au tarif standard, ou ~$0.37 avec la mise en cache du contexte activée.
Puis-je passer d'un modèle Gemini à un autre sans changer le code ?
model de "gemini-3.5-flash" à "gemini-3.1-pro" ou "gemini-3.1-flash-lite" — aucune autre modification nécessaire.Gemini 3.5 Flash supporte-t-il la sortie JSON structurée ?
response_format={"type": "json_object"} pour obtenir des réponses JSON structurées. Cela est utile pour l'extraction de données, la classification et l'orchestration d'outils.Prochaines étapes
- API Gemini 3.5 Flash — Page produit complète — Tarifs en direct, statut et détails du modèle
- Comparer tous les modèles Gemini — Comparaison côte à côte de 7 routes Gemini
- Notes de version Gemini 3.5 Flash — Ce qui a changé entre l'aperçu et la GA
- Documentation API EvoLink — Référence API complète et guides d'intégration
- Créer une clé API — Commencez à construire en 2 minutes


