Gemini 3.6 Flash vs Qwen3.8 Max
Lequel choisir, et quand
Prenez gemini-3.6-flash quand l'entrée est multimédia ou que le prompt est énorme : il prend texte, image, vidéo et audio en entrée, tient 1048576 tokens de contexte et coûte $1.5 par million de tokens d'entrée avec des lectures de cache à $0.15, même si sa sortie est à $7.5 par million et que la réflexion ne peut pas être coupée. Prenez qwen3.8-max pour du travail texte-et-image qui émet beaucoup de tokens, puisque la sortie est à $6 par million (gemini-3.6-flash en vaut 1.25x) et que la sortie maximale monte à 131072 tokens contre 65536. L'arbitrage est entrée contre sortie : qwen3.8-max facture $2 en entrée et $0.25 en lecture de cache, et porte des indicateurs de raisonnement et de long contexte sur une fenêtre de 983616 tokens.
Benchmarks
Chiffres publiés par les fournisseurs : Alibaba (Qwen) Anthropic ByteDance DeepSeek Google MiniMax Moonshot OpenAI Tencent Z.ai
Tarifs
| Gemini 3.6 Flash | Qwen3.8 Max | Δ | |
|---|---|---|---|
| Entrée / 1M de tokens | $1.5 | $2 | 0.75× |
| Sortie / 1M de tokens | $7.5 | $6 | 1.3× |
| Lecture de cache / 1M de tokens | $0.15 | $0.25 | 0.6× |
| Écriture de cache | - | 1.25x | - |
Tarifs relevés dans le catalogue en direct à la génération du site ; la page de chaque modèle affiche la grille tarifaire à jour.
Leur position : prix en entrée pour 1M de tokens, parmi les 76 modèles de chat facturés dans cette unité (échelle logarithmique)
Capacités
| Gemini 3.6 Flash | Qwen3.8 Max | |
|---|---|---|
| Appel d'outils | oui | oui |
| Contrôle de la réflexion | toujours activé | oui, réglage du fournisseur non publié |
| Sortie structurée | oui | oui |
| Mise en cache des prompts | implicite + explicite | implicite + explicite |
| Durée de vie du cache | non publié | explicit: 5m, reset on hit |
| Préfixe minimal mis en cache | 4096 tokens | 1024 tokens |
Spécifications
| Gemini 3.6 Flash | Qwen3.8 Max | |
|---|---|---|
| Modalités d'entrée | texte image audio vidéo | texte image |
| Modalités de sortie | texte | texte |
| Date de sortie | 2026-07-21 | 2026-08-03 |
| Coupure des connaissances | 2026-03 | - |
| Fenêtre de contexte | 1M | 984K |
| Sortie maximale | 66K | 131K |
| Paramètre de réflexion | thinkingLevel | - |
| Valeurs acceptées |
| - |
| Valeur par défaut | medium | - |
Les spécifications sont reprises de la documentation de chaque fournisseur ; quand un fournisseur ne publie pas une valeur, la ligne est omise et non déduite. Sources complètes : Gemini 3.6 Flash · Qwen3.8 Max
Un prompt, deux modèles, mesurés via la passerelle
Gemini 3.6 Flash réussi · 3 sentences
Enabling reasoning causes the model to generate thousands of internal "thinking" tokens behind the scenes to process logic before delivering the final response. Because our vendor bills us for every token generated—including these intermediate processing steps—our billable output volume per query surged significantly. Since output tokens carry a much higher unit cost than input tokens, this jump in processing volume directly doubled our overall spend.
sortie 893 tok (+816 réflexion) latence 4.7 s
Qwen3.8 Max réussi · 3 sentences
Enabling reasoning makes the model produce additional hidden steps before responding, and those tokens are billable. It also tends to lengthen each interaction because the model works through more possibilities before settling on an answer. Therefore, the bill doubled mainly due to higher compute and token usage per request, not necessarily because the number of requests doubled.
sortie 378 tok (+305 réflexion) latence 8.6 s
Le respect de la consigne (exactement trois phrases, ça se compte), l'adaptation au public visé (le registre d'un directeur financier) et l'écart de facturation dû à la réflexion masquée, que révèlent les compteurs de tokens ci-dessous.
Gemini 3.6 Flash réussi · 8/8 cases
Here is the fixed function along with an explanation of the bugs: ```python def longest_run(xs): if not xs: return 0 best = 1 cur = 1 for i in range(1, len(xs)): if xs[i] == xs[i - 1]: cur += 1 else: cur = 1 best = max(best, cur) return best ``` ### Explanation The original function initialized `cur` and `best` to `0` and incremented `cur` on matching adjacent items, which meant it was counting identical adjacent *pairs* rather than the total number of *elements* in a run. This caused single-element inputs to skip the loop and return `0` instead of `1`, and undercounted all run lengths by 1 (for example, a run of two items at the end of the list resulted in `cur = 1`). […]
sortie 2034 tok (+1768 réflexion) latence 10.0 s
Qwen3.8 Max réussi · 8/8 cases
```python def longest_run(xs): if not xs: return 0 best = cur = 1 for i in range(1, len(xs)): if xs[i] == xs[i - 1]: cur += 1 else: cur = 1 best = max(best, cur) return best ``` The bug is that the original code starts `best` and `cur` at `0`, so it counts adjacent equal *transitions* rather than the number of items in the run. A run of length `n` has only `n - 1` equal-neighbor transitions, so single-element inputs return `0`, and runs that reach the end are undercounted by one. Initializing the current run to `1` for the first element, resetting it to `1` on a break, and updating `best` from that count fixes the off-by-one.
sortie 1616 tok (+1411 réflexion) latence 34.7 s
La justesse réelle du correctif (il s'exécute), la densité de l'explication et l'économie de tokens sur une tâche bien délimitée.
Gemini 3.6 Flash réussi · 5/5 fields, guidance "withheld"
```json { "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": 412, "growth_pct": null, "guidance": "withheld" } ```
sortie 2843 tok (+2783 réflexion) latence 13.1 s
Qwen3.8 Max réussi · 5/5 fields, guidance null
{ "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": 412, "growth_pct": 11, "guidance": null }
sortie 1199 tok (+1141 réflexion) latence 24.4 s
Le respect du schéma (aucun champ inventé), la tentation d'halluciner (le texte indique que la guidance n'est pas communiquée) et les différences entre les mécanismes de sortie structurée.
Gemini 3.6 Flash manqué · 60 words, 0 banned, 0 questions
72: reducing 73: your 74: monthly 75: token 76: spend. S6 (21): 77: You 78: can 79: easily 80: set 81: custom 82: expiration 83: rules, 84: configure 85: TTL 86: settings, 87: and 88: manage 89: cache 90: invalidation 91: across 92: all 93: vendors 94: from 95: one 96: centralized 97: dashboard. S7 (23): 98: Start 99: optimizing […]
sortie 4092 tok (+3929 réflexion) latence 16.3 s
Qwen3.8 Max réussi · 120 words, 0 banned, 1 question
Today, our API gateway adds prompt caching across major model providers. It stores prompts and responses in one fast cache layer. Teams can lower token spend, reduce latency, and repeat reliable answers. The feature supports OpenAI, Anthropic, Google, and Mistral through one configuration. You can set retention rules, scope access, and invalidate entries quickly. How does your team maintain consistent results during provider outages? Approved cached responses keep applications stable while fallback routes recover. The dashboard shows hit rates, savings, latency, and provider usage. Engineers receive audit trails for every cached prompt, enabling safer testing. Product managers can compare cost trends before and after cache adoption. Start with a small route, then safely expand caching to production traffic right now.
sortie 2744 tok (+2591 réflexion) latence 46.3 s
Le respect des contraintes (nombre de mots, liste de mots interdits, une seule question), l'empreinte stylistique et la maîtrise de la longueur.
Passez de l'un à l'autre en changeant une seule ligne
Les deux identifiants figurent dans chaque onglet ci-dessous : les deux lignes surlignées sont le seul changement. Même endpoint, même clé, même format de requête.
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.chat.completions.create(
model="gemini-3.6-flash",
# model="qwen3.8-max", # décommentez cette ligne, commentez celle du dessus
messages=[{"role": "user", "content": "Summarize this diff"}],
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://synthorai.io/v1",
apiKey: "sk-syn-...",
});
const resp = await client.chat.completions.create({
model: "gemini-3.6-flash",
// model: "qwen3.8-max", // décommentez cette ligne, commentez celle du dessus
messages: [{ role: "user", content: "Summarize this diff" }],
});
console.log(resp.choices[0].message.content);curl https://synthorai.io/v1/chat/completions \
-H "Authorization: Bearer sk-syn-..." \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3.6-flash",
# "model": "qwen3.8-max", # décommentez cette ligne, commentez celle du dessus
"messages": [{"role": "user", "content": "Hello"}]
}'package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
)
func main() {
client := openai.NewClient(
option.WithBaseURL("https://synthorai.io/v1"),
option.WithAPIKey("sk-syn-..."),
)
resp, _ := client.Chat.Completions.New(context.TODO(), openai.ChatCompletionNewParams{
Model: "gemini-3.6-flash",
// Model: "qwen3.8-max", // décommentez cette ligne, commentez celle du dessus
Messages: []openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Summarize this diff"),
},
})
fmt.Println(resp.Choices[0].Message.Content)
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.*;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
ChatCompletion resp = client.chat().completions().create(
ChatCompletionCreateParams.builder()
.model("gemini-3.6-flash")
// .model("qwen3.8-max") // décommentez cette ligne, commentez celle du dessus
.addUserMessage("Summarize this diff")
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));FAQ
Lequel est le moins cher, Gemini 3.6 Flash ou Qwen3.8 Max ?
Gemini 3.6 Flash est moins cher sur la ligne « Entrée / 1M de tokens » ($1.5 contre $2, soit un écart de 1.3×). D'autres lignes peuvent dire l'inverse : le tableau ci-dessus donne la grille tarifaire complète, et le coût réel dépend de la composition de votre trafic.
Puis-je faire un test A/B entre Gemini 3.6 Flash et Qwen3.8 Max sans deux intégrations ?
Oui. Les deux passent par le même endpoint compatible OpenAI, avec une seule clé API. Pour passer de l'un à l'autre, il suffit de changer l'identifiant du modèle, soit une ligne : vous pouvez donc envoyer une part du trafic à chacun et comparer directement les factures.
Gemini 3.6 Flash et Qwen3.8 Max prennent-ils en charge la mise en cache des prompts ?
Oui. Les deux facturent les lectures de cache moins cher que leur tarif d'entrée : une charge de travail dont le préfixe est déjà en cache coûte donc moins que ne le laissent penser les tarifs publics. Les lignes de lecture de cache figurent dans le tableau des tarifs ci-dessus.