Claude Haiku 5.5 vs GPT-6.1 Terra
Cuál usar y cuándo
Para entradas de hasta 100000 tokens, claude-haiku-5-5 cobra menos por entrada, salida y lectura de caché, con el mismo límite de salida. Elija gpt-6.1-terra si su contexto algo mayor justifica el sobrecoste en sus propias tareas de texto e imágenes.
Precios
| Claude Haiku 5.5 | GPT-6.1 Terra | Δ | |
|---|---|---|---|
| Entrada / 1M tokens | $0.1 | $1 | 0.1× |
| Salida / 1M tokens | $0.5 | $5 | 0.1× |
| Lectura de caché / 1M tokens | $0.01 | $0.05 | 0.2× |
| Escritura en caché | 1.25x (5m) / 2x (1h) | 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 80 modelos de chat que se facturan en esta unidad (escala logarítmica)
Capacidades
| Claude Haiku 5.5 | GPT-6.1 Terra | |
|---|---|---|
| Uso de herramientas | sí | sí |
| Control del razonamiento | configurable | configurable |
| Salida estructurada | sí | sí |
| Caché de prompts | explícito (tú marcas el prefijo) | implícito + explícito |
| Duración de la caché | 5m default, 1h option | at least 30m by default, 12h option on the Responses API |
| Prefijo mínimo en caché | 512 tokens | 1,024 tokens |
Especificaciones
| Claude Haiku 5.5 | GPT-6.1 Terra | |
|---|---|---|
| Modalidades de entrada | texto imagen | texto imagen |
| Modalidades de salida | texto | texto |
| Lanzamiento | 2026-10-07 | 2026-10-26 |
| Corte de conocimiento | 2026-06 | 2026-06 |
| Ventana de contexto | 1M | 1.1M |
| Salida máxima | 128K | 128K |
| Parámetro de razonamiento | output_config.effort | reasoning.effort |
| Valores aceptados | output_config.effort
| reasoning.effort
|
| Valor por defecto | medium | 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: Claude Haiku 5.5 · GPT-6.1 Terra
Un mismo prompt en los dos modelos, medido a través de la pasarela
Claude Haiku 5.5 superado · 3 sentences
Enabling reasoning makes the model generate a long internal chain of thought before its answer, and those thinking tokens are billed as output tokens, which cost several times more than input tokens. The model often produces many times more output per request than it did without reasoning, so the per-call cost rises even when the visible answer looks about the same length. Because that extra spend scales with every request, the bill roughly doubled, and we can control it by setting reasoning budgets, using reasoning only for tasks that need it, or routing simpler requests to a non-reasoning model.
salida 332 tok (+159 razonamiento) latencia 2.9 s
GPT-6.1 Terra superado · 3 sentences
Enabling reasoning caused the model to process additional internal tokens before producing each answer, even though those tokens are not visible to users. Those tokens are generally billable, increasing the cost per request and potentially doubling the bill even if usage stayed the same. To confirm the cause, compare request counts, model pricing, and token usage—including reasoning tokens—before and after the change.
salida 196 tok (+115 razonamiento) latencia 4.6 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.
Claude Haiku 5.5 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 bug is that `cur` counts adjacent equal *pairs*, not run *elements*. A run of k equal items produces k−1 matching pairs, so the function returns one less than the true length, and a single-element input produces no pairs at all, so it returns 0 instead of 1. Resetting `cur` to 0 on a mismatch compounds this by starting every run one step behind. The fix starts both `cur` and `best` at 1 (a non-empty list always has a run of at least one element), resets `cur` to 1 on a mismatch, and updates `best` after every element rather than only inside the equal-branch. The empty-list guard keeps the function from returning 1 for `[]`. […]
salida 1012 tok (+591 razonamiento) latencia 6.0 s
GPT-6.1 Terra superado · 8/8 cases
```python def longest_run(xs): if len(xs) == 0: 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 every nonempty run was undercounted by one, including a single-element input. It did update `best` for matches at the last index, but still undercounted those runs. The fix starts each run at length one and updates `best` as the run grows.
salida 331 tok (+172 razonamiento) latencia 6.3 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.
Claude Haiku 5.5 superado · 5/5 fields, guidance "Formal guidance withheld pending the Q4 "
```json { "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": null, "growth_pct": 11, "guidance": "Formal guidance withheld pending the Q4 close" } ``` Notes: The text gives revenue as 412 but doesn't state the currency, so I left `revenue_usd_m` as null. Growth is "eleven and change," so 11 is an approximation.
salida 725 tok (+572 razonamiento) latencia 4.6 s
GPT-6.1 Terra superado · 5/5 fields, guidance "Withheld pending the Q4 close"
{ "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": null, "growth_pct": null, "guidance": "Withheld pending the Q4 close" }
salida 317 tok (+261 razonamiento) latencia 6.9 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.
Claude Haiku 5.5 superado · 120 words, 0 banned, 1 question
**Introducing Prompt Cache Sync, the newest feature in GatewayOne.** Teams routing requests across OpenAI, Anthropic, and Google have often paid to process the same long system prompts again and again. Now the gateway stores those prompts once and reuses them wherever they appear, regardless of provider. Repeated context is matched by content hash, so cached prefixes return faster and cost less, with no changes to your application code. How much could this save your team? Enable Prompt Cache Sync from the dashboard, and your next billing report will show the difference. Cache entries follow your existing retention settings and can be purged per project at any time. Availability begins this week for all Scale and Enterprise plans worldwide. Start today.
salida 2164 tok (+1929 razonamiento) latencia 9.9 s
GPT-6.1 Terra superado · 120 words, 0 banned, 1 question
Meet Prompt Cache, a new API gateway feature that stores reusable prompts across providers, helping teams reduce latency and control costs without changing how they build. When a request matches a cached prompt, the gateway retrieves the stored result instead of sending the same work again. Need to route traffic between models or vendors? Prompt Cache works across supported providers, giving your applications a consistent caching layer as your stack evolves. Set expiration policies, monitor cache performance, and choose which requests qualify through familiar gateway controls. Your team can spend less time repeating requests and more time improving the experiences customers rely on. Start using Prompt Cache today and make every request work harder for your application and your budget.
salida 579 tok (+440 razonamiento) latencia 9.1 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="claude-haiku-5-5",
# model="gpt-6.1-terra", # 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: "claude-haiku-5-5",
// model: "gpt-6.1-terra", // 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": "claude-haiku-5-5",
# "model": "gpt-6.1-terra", # 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: "claude-haiku-5-5",
// Model: "gpt-6.1-terra", // 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("claude-haiku-5-5")
// .model("gpt-6.1-terra") // 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, Claude Haiku 5.5 o GPT-6.1 Terra?
Claude Haiku 5.5 es más barato en Entrada / 1M tokens ($0.1 frente a $1, una diferencia de 10×). 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 Claude Haiku 5.5 frente a GPT-6.1 Terra 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 Claude Haiku 5.5 y GPT-6.1 Terra 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.