Gemini 3.7 Flash vs Gemini 3.8 Flash
Cuál usar y cuándo
Según los datos proporcionados, estos dos son efectivamente intercambiables: gemini-3.7-flash y gemini-3.8-flash cobran ambos $0.75 por millón de tokens de entrada, $3.75 de salida y $0.075 por lecturas de caché, ambos tienen un contexto de 1048576 tokens con un máximo de 65536 de salida, y ambos aceptan entrada de texto, imagen, audio y video con salida de texto además de chat, visión, código, herramientas y razonamiento. La única diferencia listada es la generación y fecha de lanzamiento, 2026-08-13 frente a 2026-09-02, con el mismo límite de conocimiento de 2026-03. Utilice por defecto el más reciente gemini-3.8-flash para trabajos nuevos, y mantenga gemini-3.7-flash fijado solo donde necesite estabilidad en la salida frente a una versión ya probada.
Benchmarks
14 medidos en ambos, 1 empatados.
Publicado por los proveedores: Alibaba (Qwen) Anthropic ByteDance DeepSeek Google MiniMax Moonshot OpenAI Tencent Z.ai
Precios
| Gemini 3.7 Flash | Gemini 3.8 Flash | Δ | |
|---|---|---|---|
| Entrada / 1M tokens | $0.75 | $0.75 | = |
| Salida / 1M tokens | $3.75 | $3.75 | = |
| Lectura de caché / 1M tokens | $0.075 | $0.075 | = |
Tarifas tomadas del catálogo en vivo al generar el sitio; la página de cada modelo tiene la ficha de precios actualizada.
Dónde queda cada uno: precio de entrada por 1M de tokens entre los 80 modelos de chat que se facturan en esta unidad (escala logarítmica)
Capacidades
| Gemini 3.7 Flash | Gemini 3.8 Flash | |
|---|---|---|
| Uso de herramientas | sí | sí |
| Control del razonamiento | sí el proveedor no publica cómo ajustarlo | sí el proveedor no publica cómo ajustarlo |
| Salida estructurada | sí | sí |
| Caché de prompts | implícito + explícito | implícito + explícito |
| Duración de la caché | no publicado | no publicado |
| Prefijo mínimo en caché | 4,096 tokens | 4,096 tokens |
Especificaciones
| Gemini 3.7 Flash | Gemini 3.8 Flash | |
|---|---|---|
| Modalidades de entrada | texto imagen audio vídeo | texto imagen audio vídeo |
| Modalidades de salida | texto | texto |
| Lanzamiento | 2026-08-13 | 2026-09-02 |
| Corte de conocimiento | 2026-03 | 2026-03 |
| Ventana de contexto | 1M | 1M |
| Salida máxima | 66K | 66K |
Las especificaciones se transcriben de la documentación de cada proveedor; si un proveedor no publica un dato, la fila se omite en vez de deducirlo. Fuentes completas: Gemini 3.7 Flash · Gemini 3.8 Flash
Un mismo prompt en los dos modelos, medido a través de la pasarela
Gemini 3.7 Flash superado · 3 sentences
Enabling reasoning causes the model to generate a high volume of invisible "thinking tokens" behind the scenes to deliberate and solve complex logic before delivering a final response. Because our vendor bills strictly on token volume, this additional internal computation effectively doubled our billable output per query. In short, our costs increased because we are now paying for the extra compute capacity required to produce significantly higher-accuracy answers.
salida 878 tok (+799 razonamiento) latencia 6.9 s
Gemini 3.8 Flash superado · 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.
salida 705 tok (+624 razonamiento) latencia 6.4 s
Cumplimiento de la instrucción (exactamente tres frases, se pueden contar), adaptación al público (registro de CFO) y la diferencia de facturación por razonamiento oculto que dejan ver los contadores de tokens de abajo.
Gemini 3.7 Flash superado · 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 else: cur = 1 best = max(best, cur) return best ``` ### Explanation of the Bug The original function tracked equal adjacent transitions instead of the actual number of elements in a run, causing all non-empty run lengths to be undercounted by one (e.g., returning `0` instead of `1` for single-element lists because the loop never executes, and `1` instead of `2` for pairs). Initializing both `best` and `cur` to `1` (after handling empty inputs) and resetting `cur` to `1` on a mismatch ensures every individual element is counted as a valid run of at least length one.
salida 1050 tok (+827 razonamiento) latencia 6.4 s
Gemini 3.8 Flash superado · 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.
salida 1393 tok (+1149 razonamiento) latencia 10.1 s
Si la corrección funciona de verdad (se puede ejecutar), lo densa que es la explicación y la eficiencia en tokens en una tarea acotada.
Gemini 3.7 Flash superado · 5/5 fields, guidance "withheld"
```json { "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": 412, "growth_pct": null, "guidance": "withheld" } ```
salida 918 tok (+858 razonamiento) latencia 6.2 s
Gemini 3.8 Flash superado · 5/5 fields, guidance null
```json { "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": 412, "growth_pct": null, "guidance": null } ```
salida 3989 tok (+3932 razonamiento) latencia 30.4 s
Respeto del esquema (sin campos inventados), tentación de alucinar (la guidance se omite a propósito) y diferencias entre las vías de salida estructurada.
Gemini 3.7 Flash superado · 120 words, 0 banned, 1 question
Why pay twice for identical AI queries simply because you routed them to different model vendors? Today, we introduce Universal Prompt Caching directly within our unified API gateway architecture. This capability stores repeated prompt contexts across OpenAI, Anthropic, and local models, instantly returning stored results to eliminate redundant computation fees. When your application sends an LLM request, the gateway inspects the payload, identifies semantic matches, and returns accurate cached responses in under ten milliseconds. Engineering teams can now slash inference latency by eighty percent while dramatically reducing monthly token expenditures across diverse production deployments. You retain complete privacy control, flexible cache eviction policies, and granular metrics through a single dashboard. Update your routing settings today to accelerate overall system performance.
salida 2858 tok (+2718 razonamiento) latencia 14.1 s
Gemini 3.8 Flash superado · 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.
salida 3833 tok (+3688 razonamiento) latencia 21.8 s
Respeto de las restricciones (límite de palabras, lista de palabras prohibidas, una única pregunta), sello de estilo y control de la longitud.
Cambia de uno a otro con una sola línea
Los dos ids aparecen en todas las pestañas de abajo; lo único que cambia es el par de líneas resaltadas. El endpoint, la clave y la estructura de la solicitud son los mismos.
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.chat.completions.create(
model="gemini-3.7-flash",
# model="gemini-3.8-flash", # descomenta esta línea, comenta la de arriba
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: "gemini-3.7-flash",
// model: "gemini-3.8-flash", // descomenta esta línea, comenta la de arriba
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": "gemini-3.7-flash",
# "model": "gemini-3.8-flash", # descomenta esta línea, comenta la de arriba
"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: "gemini-3.7-flash",
// Model: "gemini-3.8-flash", // descomenta esta línea, comenta la de arriba
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("gemini-3.7-flash")
// .model("gemini-3.8-flash") // descomenta esta línea, comenta la de arriba
.addUserMessage("Summarize this diff")
.reasoningEffort(ReasoningEffort.MEDIUM)
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));Preguntas frecuentes
¿Cuál es más barato, Gemini 3.7 Flash o Gemini 3.8 Flash?
Los dos tienen el mismo precio en Entrada / 1M tokens ($0.75), así que aquí el precio no decide: mira las especificaciones y las capacidades más abajo.
¿Puedo hacer pruebas A/B de Gemini 3.7 Flash frente a Gemini 3.8 Flash sin dos integraciones?
Sí. Los dos se sirven desde el mismo endpoint compatible con OpenAI y con una sola clave API. Para cambiar de uno a otro basta con tocar una línea, el nombre del modelo, así que puedes mandar una parte del tráfico a cada uno y comparar directamente las facturas.
¿Admiten Gemini 3.7 Flash y Gemini 3.8 Flash caché de prompts?
Sí. Los dos cobran las lecturas de caché por debajo de su tarifa de entrada, así que las cargas de trabajo que reutilizan un prefijo ya cacheado cuestan menos de lo que sugieren los precios de lista. Las tarifas exactas de lectura de caché están en la tabla de precios de arriba.