Gemini 3.7 Flash vs GPT-6 Luna
Cuál usar y cuándo
Elige gemini-3.7-flash cuando tus entradas incluyan audio o video, ya que acepta ambos junto con texto e imágenes y fija el precio de la entrada de audio en $0.75 por millón de tokens; gpt-6-luna es solo de texto e imagen. De lo contrario, gpt-6-luna es la opción predeterminada más barata con $0.1 en entrada y $0.5 en salida por millón frente a $0.75 y $3.75, aproximadamente 7.5x menos en ambos, con 128000 tokens máximos de salida contra 65536 y la opción de desactivar el pensamiento. Las ventanas de contexto son en la práctica equivalentes con 1048576 frente a 1050000 tokens, y ambos cubren chat, visión, código, herramientas y razonamiento.
Benchmarks
Publicado por los proveedores: Alibaba (Qwen) Anthropic DeepSeek Google Moonshot OpenAI Tencent Z.ai
Precios
| Gemini 3.7 Flash | GPT-6 Luna | Δ | |
|---|---|---|---|
| Entrada / 1M tokens | $0.75 | $0.1 | 7.5× |
| Salida / 1M tokens | $3.75 | $0.5 | 7.5× |
| Lectura de caché / 1M tokens | $0.075 | $0.01 | 7.5× |
| Escritura en caché | - | 1.25x (30m) / 2.5x (12h) | - |
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 83 modelos de chat que se facturan en esta unidad (escala logarítmica)
Capacidades
| Gemini 3.7 Flash | GPT-6 Luna | |
|---|---|---|
| Uso de herramientas | sí | sí |
| Control del razonamiento | sí el proveedor no publica cómo ajustarlo | configurable |
| Salida estructurada | sí | sí |
| Caché de prompts | implícito + explícito | implícito + explícito |
| Duración de la caché | no publicado | at least 30m by default, 12h option on the Responses API |
| Prefijo mínimo en caché | 4,096 tokens | 1,024 tokens |
Especificaciones
| Gemini 3.7 Flash | GPT-6 Luna | |
|---|---|---|
| Modalidades de entrada | texto imagen audio vídeo | texto imagen |
| Modalidades de salida | texto | texto |
| Lanzamiento | 2026-08-13 | 2026-09-22 |
| Corte de conocimiento | 2026-03 | 2026-05 |
| Ventana de contexto | 1M | 1.1M |
| Salida máxima | 66K | 128K |
| Parámetro de razonamiento | - | reasoning.effort |
| Valores aceptados | - | reasoning.effort
|
| Valor por defecto | - | medium |
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 · GPT-6 Luna
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
GPT-6 Luna superado · 3 sentences
Enabling reasoning typically makes the model process more information and generate more internal tokens before producing its answer. Because usage is billed by tokens—and reasoning may also route requests to a more expensive model—the cost per request can rise sharply. If request volume stayed similar, that higher cost per request could explain why the bill doubled.
salida 117 tok (+48 razonamiento) latencia 3.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
GPT-6 Luna superado · 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 original code counted matching *adjacent pairs* rather than items, so a run of length `n` was reported as `n - 1`, and a single-item input returned `0`. This version counts the current item as part of each run and updates `best` at every index, including the last; it returns `0` for an empty input.
salida 514 tok (+356 razonamiento) latencia 6.9 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
GPT-6 Luna superado · 5/5 fields, guidance "Withheld pending the Q4 close"
{"company":"Meridian Robotics","quarter":"September quarter","revenue_usd_m":412,"growth_pct":null,"guidance":"Withheld pending the Q4 close"}
salida 161 tok (+119 razonamiento) latencia 21.7 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
GPT-6 Luna superado · 120 words, 0 banned, 1 question
Introducing Prompt Cache, a new API gateway feature that recognizes repeat prompt prefixes and reuses provider-side cached context across supported models. Teams can route requests to different AI providers while preserving eligible cache hits, reducing redundant input processing and helping lower latency and token costs. Configure cache policies in one place, monitor hit rates by provider, and keep existing client integrations unchanged. The gateway applies provider-specific rules automatically, so developers do not need to build separate caching logic for each endpoint. Which workflows could benefit from faster responses and predictable spend? Prompt Cache is available today in preview for eligible accounts, with usage details, supported providers, and setup guidance in the dashboard. Start with one route, compare results, then expand.
salida 959 tok (+813 razonamiento) latencia 14.6 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="gpt-6-luna", # 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: "gpt-6-luna", // 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": "gpt-6-luna", # 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: "gpt-6-luna", // 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("gpt-6-luna") // 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 GPT-6 Luna?
GPT-6 Luna es más barato en Entrada / 1M tokens ($0.1 frente a $0.75, una diferencia de 7.5×). En otras filas puede ser al revés: la tabla de arriba recoge todas las tarifas, y el coste real depende de tu combinación de uso.
¿Puedo hacer pruebas A/B de Gemini 3.7 Flash frente a GPT-6 Luna 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 GPT-6 Luna 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.