Gemini 3.1 Flash-Lite vs Gemini 3.7 Flash
Cuál usar y cuándo — veredicto seleccionado, no una tabla de benchmarks
Ambos modelos comparten una ventana de contexto de 1048576 tokens, una salida máxima de 65536 tokens, y la misma entrada de texto, imagen, video y audio con salida de texto, por lo que la diferencia es el precio frente al razonamiento: gemini-3.1-flash-lite-preview cuesta $0.25 por millón en la entrada y $1.5 en la salida, mientras que gemini-3.7-flash cobra 3x eso en la entrada ($0.75) y 2.5x en la salida ($3.75) y añade un indicador de capacidad de razonamiento. Elija gemini-3.1-flash-lite-preview para trabajo multimodal de alto volumen donde predomina el costo; elija gemini-3.7-flash para tareas que requieran razonamiento, o para prompts repetidos, donde se aplica su tarifa de lectura de caché de $0.075.
Precios
| Gemini 3.1 Flash-Lite | Gemini 3.7 Flash | Δ | |
|---|---|---|---|
| Entrada / 1M tokens | $0.25 | $0.75 | 0.33× |
| Salida / 1M tokens | $1.5 | $3.75 | 0.4× |
| Lectura de caché / 1M tokens | — | $0.075 | — |
Tarifas del catálogo en vivo en el momento de la compilación; la página de cada modelo incluye la ficha actualizada.
Dónde se sitúan — precio de entrada por 1M de tokens en todos los 63 modelos de chat en esta unidad de facturación (escala logarítmica)
Capacidades
| Gemini 3.1 Flash-Lite | Gemini 3.7 Flash | |
|---|---|---|
| Uso de herramientas | sí | sí |
| Control de pensamiento | sí — el proveedor no publica el control | sí — el proveedor no publica el control |
| Salida estructurada | sí | sí |
| Caché de prompt | implícito + explícito | implícito + explícito |
| Tiempo de vida de la caché | no publicado | no publicado |
| Prefijo mínimo en caché | 4096 tokens | 4096 tokens |
Especificaciones
| Gemini 3.1 Flash-Lite | Gemini 3.7 Flash | |
|---|---|---|
| Modalidades de entrada | texto imagen audio vídeo | texto imagen audio vídeo |
| Modalidades de salida | texto | texto |
| Lanzamiento | 2026-03-03 | 2026-08-13 |
| Límite de conocimiento | 2025-01 | — |
| 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 una fila, se omite en lugar de inferirse. Fuentes completas: Gemini 3.1 Flash-Lite · Gemini 3.7 Flash
Un prompt, ambos modelos — medido a través del gateway
Gemini 3.1 Flash-Lite superado · 3 sentences
Enabling reasoning models increases your costs because the system now generates a significantly higher volume of "hidden" chain-of-thought tokens required to process complex logic. Since you are billed for every token produced during this internal deliberation phase, your total output volume has expanded alongside the depth of the analysis. You are essentially paying for the model to "think out loud" before arriving at a final answer, which directly scales your operational expenditure.
salida 86 tok latencia 1.4 s
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 pensamiento) latencia 6.9 s
Seguimiento de la instrucción (exactamente tres frases — contables), adaptación a la audiencia (registro de CFO), y la brecha de facturación por pensamiento oculto que los medidores de tokens de abajo dejan ver.
Gemini 3.1 Flash-Lite superado · 8/8 cases
### Fixed Code ```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 failed because it initialized `best` and `cur` to `0` and effectively counted "transitions" (how many times an element matched its predecessor) rather than the total count of elements in a run. By starting at `0`, a single-element list returned `0` instead of `1`, and because `cur` reset to `0` and only incremented when a match was found, the function effectively counted "extra" matches beyond the first element, failing to account for the initial element of any run. […]
salida 271 tok latencia 2.0 s
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 pensamiento) latencia 6.4 s
Si el arreglo es realmente correcto (ejecutable), la densidad de la explicación, y la eficiencia en tokens sobre una tarea acotada.
Gemini 3.1 Flash-Lite superado · 5/5 fields, guidance null
```json { "company": "Meridian Robotics", "quarter": "September", "revenue_usd_m": 412, "growth_pct": null, "guidance": null } ```
salida 56 tok latencia 1.3 s
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 pensamiento) latencia 6.2 s
Obediencia al esquema (sin campos inventados), presión de alucinación (guidance se retiene explícitamente), y diferencias en la ruta de salida estructurada.
Gemini 3.1 Flash-Lite superado · 125 words, 0 banned, 1 question
We are launching a new caching layer for our API gateway that stores LLM responses across multiple providers. By capturing frequently requested prompts, this feature significantly lowers latency and reduces operational costs for your applications. Instead of querying expensive models for repetitive tasks, your system retrieves identical outputs instantly from our high-speed cache. This integration maintains consistency while supporting diverse provider workflows, ensuring your infrastructure remains both efficient and scalable. Are you ready to optimize your token usage and improve response times for every user? Configuration takes only minutes through our existing dashboard. This addition provides a practical strategy to manage API spend without sacrificing performance or quality. […]
salida 140 tok latencia 2.3 s
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 pensamiento) latencia 14.1 s
Obediencia a las restricciones (presupuesto de palabras, lista de palabras prohibidas, la única pregunta), huella de estilo, y control de la longitud.
Cambia entre ellos con una línea
Ambos IDs están en cada pestaña a continuación — el par de líneas resaltadas es la única edición. Mismo endpoint, misma clave, misma estructura de solicitud.
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.chat.completions.create(
model="gemini-3.1-flash-lite-preview",
# model="gemini-3.7-flash", # descomenta esta línea, comenta la de arriba
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.1-flash-lite-preview",
// model: "gemini-3.7-flash", // descomenta esta línea, comenta la de arriba
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.1-flash-lite-preview",
# "model": "gemini-3.7-flash", # descomenta esta línea, comenta la de arriba
"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.1-flash-lite-preview",
// Model: "gemini-3.7-flash", // descomenta esta línea, comenta la de arriba
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.1-flash-lite-preview")
// .model("gemini-3.7-flash") // descomenta esta línea, comenta la de arriba
.addUserMessage("Summarize this diff")
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));Preguntas frecuentes
¿Cuál es más barato, Gemini 3.1 Flash-Lite o Gemini 3.7 Flash?
Gemini 3.1 Flash-Lite es más barato en entrada / 1m tokens ($0.25 vs $0.75, con una diferencia de 3.0×). Otras filas pueden indicar lo contrario — la tabla anterior muestra la ficha completa, y el costo real depende de su combinación.
¿Puedo hacer pruebas A/B de Gemini 3.1 Flash-Lite frente a Gemini 3.7 Flash sin dos integraciones?
Sí. Ambos se sirven a través del mismo endpoint compatible con OpenAI con una clave API — el cambio es una modificación de una línea en la cadena del modelo, por lo que puede enrutar una fracción del tráfico a cada uno y comparar las facturas directamente.
¿Admiten Gemini 3.1 Flash-Lite y Gemini 3.7 Flash caché de prompts?
Los precios de lectura en caché figuran para solo uno de los dos en nuestro feed; donde falta una tarifa, el proveedor no cobra las lecturas en caché por separado.