DeepSeek V4 Pro (0813) vs Gemini 3.8 Flash
Quale scegliere e quando
Entrambi si situano vicino al milione di token di contesto (1000000 per deepseek-v4-pro-0813, 1048576 per gemini-3.8-flash), quindi la vera divisione è il formato piuttosto che la dimensione: gemini-3.8-flash accetta testo, immagine, audio e video in input a $0.75 e $3.75 in output per milione di token, mentre deepseek-v4-pro-0813 è solo testo a $1.32 e $3.96, circa 1.76x il costo di input e lettura in cache. Scegli deepseek-v4-pro-0813 quando hai bisogno di generazioni lunghe in modalità single-shot, dato che il suo output massimo di 393216 è circa 6x i 65536 di gemini-3.8-flash. Scegli gemini-3.8-flash per un prefill più economico e qualsiasi input non testuale; entrambi coprono chat, codice, reasoning e tool.
Benchmark
Dati pubblicati dai provider: Alibaba (Qwen) Anthropic ByteDance DeepSeek Google MiniMax Moonshot OpenAI Tencent Z.ai
Prezzi
| DeepSeek V4 Pro (0813) | Gemini 3.8 Flash | Δ | |
|---|---|---|---|
| Input / 1M token | $1.32 | $0.75 | 1.8× |
| Output / 1M token | $3.96 | $3.75 | 1.1× |
| Lettura cache / 1M token | $0.132 | $0.075 | 1.8× |
| Scrittura in cache | nessun addebito separato | - | - |
Tariffe lette dal catalogo live al momento della build; il listino aggiornato è sulla pagina di ciascun modello.
Dove si collocano: prezzo di input per 1M di token tra tutti i modelli di chat con questa unità di fatturazione (77, scala logaritmica)
Funzionalità
| DeepSeek V4 Pro (0813) | Gemini 3.8 Flash | |
|---|---|---|
| Tool use | sì | sì |
| Controllo del ragionamento | sempre attivo | sì, ma il provider non documenta il parametro |
| Output strutturato | sì | sì |
| Prompt caching | implicito (automatico) | implicito + esplicito |
| Durata della cache | no fixed TTL (evicted when unused) | non pubblicato |
| Prefisso minimo in cache | non pubblicato | 4096 token |
Specifiche
| DeepSeek V4 Pro (0813) | Gemini 3.8 Flash | |
|---|---|---|
| Modalità di input | testo | testo immagine audio video |
| Modalità di output | testo | testo |
| Rilascio | 2026-08-13 | 2026-09-02 |
| Knowledge cutoff | - | 2026-03 |
| Finestra di contesto | 1M | 1M |
| Output massimo | 393K | 66K |
| Parametro di ragionamento | reasoning_effort | - |
| Valori accettati | reasoning_effort
| - |
Le specifiche sono riprese dalla documentazione di ciascun provider; se un provider non pubblica un dato, la riga viene omessa e non dedotta. Fonti complete: DeepSeek V4 Pro (0813) · Gemini 3.8 Flash
Un solo prompt, entrambi i modelli, misurati attraverso il gateway
DeepSeek V4 Pro (0813) superato · 3 sentences
Enabling reasoning causes the model to generate a hidden chain-of-thought with many additional tokens before producing the final answer, which sharply increases compute consumption per request. Those extra reasoning tokens are billed at the same or higher rates, so total usage doubled even though the volume of final outputs stayed similar. We can control this by adjusting reasoning effort, setting token limits, or routing only complex requests through reasoning mode.
out 308 tok (+226 ragionamento) latenza 5.1 s
Gemini 3.8 Flash superato · 3 sentences
When we enabled reasoning, the model began generating hidden "thinking tokens" to work through logic step-by-step before producing a final answer. Because AI vendors bill for every single token processed—visible or not—this internal deliberation dramatically inflated our billable volume per query. In short, while our total number of user requests remained flat, the cost per transaction doubled to buy higher accuracy on complex tasks.
out 705 tok (+624 ragionamento) latenza 6.4 s
Rispetto delle istruzioni (esattamente tre frasi: si contano), adattamento al destinatario (registro da CFO) e lo scarto di fatturazione dovuto al ragionamento nascosto, che i contatori di token qui sotto mettono in luce.
DeepSeek V4 Pro (0813) superato · 8/8 cases
```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 ``` The bug is that `cur` was initialized to `0` and only counted adjacent matching pairs, so a run of length `n` produced `n - 1` (or `0` for a single element) instead of `n`. The code also reset to `0` on a change, when the new run should start at length `1`. Initializing `cur` and `best` to `1` fixes both the single-element case and runs ending at the last index.
out 1315 tok (+1130 ragionamento) latenza 16.9 s
Gemini 3.8 Flash superato · 8/8 cases
Here is the corrected function: ```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 best = max(best, cur) else: cur = 1 return best ``` ### Explanation of the Bug The original function counted equal-neighbor transitions rather than the actual items making up each run. Because `cur` started at `0` (and was reset to `0` on mismatches), every run was undercounted by one: single-element lists returned `0` because the loop never executed, and any subsequent run—including those ending at the last index—recorded a count of $N - 1$ instead of $N$. The fix handles empty input upfront, initializes both `cur` and `best` to `1` (since any single element forms a run of length 1), and resets `cur` to `1` whenever a new run begins.
out 1393 tok (+1149 ragionamento) latenza 10.1 s
Se la correzione è davvero giusta (si può eseguire), quanto è densa la spiegazione e quanti token servono per un compito circoscritto.
DeepSeek V4 Pro (0813) superato · 5/5 fields, guidance null
{"company":"Meridian Robotics","quarter":"September quarter","revenue_usd_m":412,"growth_pct":11.0,"guidance":null}
out 2155 tok (+2121 ragionamento) latenza 26.0 s
Gemini 3.8 Flash superato · 5/5 fields, guidance null
```json { "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": 412, "growth_pct": null, "guidance": null } ```
out 3989 tok (+3932 ragionamento) latenza 30.4 s
Aderenza allo schema (nessun campo inventato), tentazione di allucinare (il testo dice espressamente che la guidance non viene comunicata) e differenze tra i percorsi di output strutturato.
DeepSeek V4 Pro (0813) superato · 121 words, 0 banned, 1 question
Introducing cross-provider prompt caching in our API gateway. Send a prompt once, and the gateway stores its computed prefix across Anthropic, OpenAI, and other LLM providers. Subsequent requests with the same prompt hit the cache, cutting latency and token costs while keeping outputs consistent across routing decisions and provider failovers. Teams can route identical prompts between providers without reprocessing shared context or lengthy system instructions. How much could you save on repeated prompt prefixes? The cache respects provider-specific key formats, handles TTLs automatically, and works with streaming and batch requests. Enable it with one configuration flag—no changes to your application code. Available today on all plans. Monitor cache hit rates, token savings, and provider-specific performance metrics in the live dashboard.
out 2845 tok (+2694 ragionamento) latenza 25.5 s
Gemini 3.8 Flash superato · 120 words, 0 banned, 1 question
Why pay multiple model providers for the exact same output? Introducing Universal Prompt Cache, our latest API gateway capability engineered to cut compute expenses and drop inference latency. When your application makes a call, the gateway inspects a central memory layer before routing traffic to external LLMs. If an identical query was previously processed by OpenAI, Anthropic, or Mistral, our gateway returns that response immediately. This shared cache eliminates duplicate token fees and insulates your production apps from vendor rate limits or unexpected downtime. Developers can easily customize expiration settings, enforce strict data privacy controls, and configure invalidation logic across every endpoint. Stop wasting your budget on repeated queries. Enable prompt caching in your dashboard to accelerate your pipeline today.
out 3833 tok (+3688 ragionamento) latenza 21.8 s
Rispetto dei vincoli (budget di parole, elenco di parole vietate, l'unica domanda), impronta stilistica e controllo della lunghezza.
Passa dall'uno all'altro cambiando una sola riga
In ogni scheda qui sotto ci sono entrambi gli id: le due righe evidenziate sono l'unica modifica. Stesso endpoint, stessa chiave, stessa struttura della richiesta.
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.chat.completions.create(
model="deepseek-v4-pro-0813",
# model="gemini-3.8-flash", # decommenta questa riga, commenta quella sopra
messages=[{"role": "user", "content": "Summarize this diff"}],
reasoning_effort="medium",
)
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: "deepseek-v4-pro-0813",
// model: "gemini-3.8-flash", // decommenta questa riga, commenta quella sopra
messages: [{ role: "user", content: "Summarize this diff" }],
reasoning_effort: "medium",
});
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": "deepseek-v4-pro-0813",
# "model": "gemini-3.8-flash", # decommenta questa riga, commenta quella sopra
"messages": [{"role": "user", "content": "Hello"}],
"reasoning_effort": "medium"
}'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: "deepseek-v4-pro-0813",
// Model: "gemini-3.8-flash", // decommenta questa riga, commenta quella sopra
Messages: []openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Summarize this diff"),
},
ReasoningEffort: openai.ReasoningEffortMedium,
})
fmt.Println(resp.Choices[0].Message.Content)
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.*;
import com.openai.models.ReasoningEffort;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
ChatCompletion resp = client.chat().completions().create(
ChatCompletionCreateParams.builder()
.model("deepseek-v4-pro-0813")
// .model("gemini-3.8-flash") // decommenta questa riga, commenta quella sopra
.addUserMessage("Summarize this diff")
.reasoningEffort(ReasoningEffort.MEDIUM)
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));FAQ
Qual è il più economico, DeepSeek V4 Pro (0813) o Gemini 3.8 Flash?
Gemini 3.8 Flash costa meno alla voce Input / 1M token ($0.75 contro $1.32, 1.8× di differenza). Altre voci potrebbero dire il contrario: la tabella qui sopra riporta il listino completo, e il costo reale dipende dal tuo mix di utilizzo.
Posso fare un A/B test di DeepSeek V4 Pro (0813) contro Gemini 3.8 Flash senza due integrazioni?
Sì. Si chiamano entrambi dallo stesso endpoint compatibile con OpenAI, con una sola chiave API. Per passare dall'uno all'altro basta cambiare la stringa del modello in una riga, quindi puoi mandare una parte del traffico a ciascuno e confrontare direttamente i costi.
DeepSeek V4 Pro (0813) e Gemini 3.8 Flash supportano il prompt caching?
Sì: entrambi fanno pagare le letture dalla cache meno della tariffa di input, quindi i carichi di lavoro con un prefisso già in cache costano meno di quanto facciano pensare le tariffe di listino. Le voci esatte per la lettura dalla cache sono nella tabella dei prezzi qui sopra.