Cómo usar la API de Claude Fable 5 (con Python)
Una guía práctica de la API de Claude Fable 5 — primera llamada, los 5 params que devuelven 400 si programas como con un modelo anterior, manejo de refusals y cuánto cuesta.

TL;DR
- Llama a Claude Fable 5 a través de la Messages API de Anthropic con el model ID
claude-fable-5— instala el SDKanthropic, configuraANTHROPIC_API_KEYy envía una solicitudmessages.create - El detalle: el código escrito para modelos Claude (o GPT) anteriores falla en Fable 5.
temperature,top_p,top_k,budget_tokens,thinking: {type:"disabled"}y los prefills de assistant devuelven un 400 - Thinking siempre está activado — controla la profundidad con
output_config.effort(low→max), no con un presupuesto de tokens. Maneja el stop reasonrefusaly activa los fallbacks - Fable 5 requiere retención de datos de 30 días (las orgs ZDR reciben un 400 en cada solicitud) y cuesta $10 / $50 por 1M de tokens de input/output — unas 2× Opus 4.8
- ¿Quieres saltarte la cuenta de Anthropic, el tier y la configuración de retención? Llama a
claude-fable-5a través del endpoint compatible con OpenAI de Velokey con una sola key — mismo precio $10/$50, sin las trampas de parámetros de abajo
La mayoría de las guías de "cómo llamar a la API" te muestran un hello-world de tres líneas y se detienen. Eso está bien hasta que Fable 5 devuelve un 400 en la primera solicitud real porque pasaste temperature por costumbre, o tu código lee response.content[0] y se rompe ante un refusal. Fable 5 es el modelo más capaz de Anthropic, pero tiene una superficie de solicitud más estricta que cualquier cosa anterior. Aquí está la llamada que funciona y, después, las cinco cosas que realmente romperán tu integración.

¿Qué necesitas para llamar a la API de Claude Fable 5?
Necesitas una cuenta de pago de Anthropic, el SDK anthropic y — esto es lo que pilla a la gente — una configuración de retención de datos de la organización de al menos 30 días. Fable 5 no está disponible bajo zero data retention (ZDR); una org ZDR recibe un 400 invalid_request_error en cada solicitud a Fable 5 sin importar lo limpio que sea el payload.
El model ID es claude-fable-5. Tiene una ventana de contexto de 1M de tokens (el valor por defecto y el máximo) y hasta 128K tokens de output. Instala y autentica:
pip install anthropic
export ANTHROPIC_API_KEY="sk-ant-..." # never hardcodeAntes de tu primera llamada, confirma:
| Requirement | Why it matters |
|---|---|
| Paid account, sufficient tier | Fable 5 is above Opus-tier; check model access |
| Data retention ≥ 30 days | ZDR orgs 400 on every request |
anthropic SDK installed | Use the official SDK, not an OpenAI-compatible shim |
Model ID claude-fable-5 | Exact string — no date suffix |
¿Cómo haces tu primera llamada a la API de Claude Fable 5?
Llamas a client.messages.create() con model="claude-fable-5" y una lista messages. No pases un parámetro thinking — thinking siempre está activado — y controla la profundidad del razonamiento con output_config.effort en su lugar.
import anthropic
client = anthropic.Anthropic() # reads ANTHROPIC_API_KEY from the environment
response = client.messages.create(
model="claude-fable-5",
max_tokens=16000,
output_config={"effort": "high"}, # low | medium | high | xhigh | max
messages=[
{"role": "user", "content": "Explain the tradeoffs of event sourcing in two paragraphs."}
],
)
# Always check stop_reason before reading content (see refusals below)
if response.stop_reason != "refusal":
for block in response.content:
if block.type == "text":
print(block.text)Ese es todo el hello-world. effort es el principal dial de calidad/latencia — high es un buen valor por defecto, xhigh es el punto dulce para coding y trabajo agentic, y low/medium sirven para tareas rutinarias y a menudo superan los ajustes máximos de modelos anteriores. La cadena de pensamiento en bruto nunca se devuelve; si quieres un resumen de razonamiento legible, pasa thinking={"type": "adaptive", "display": "summarized"}.
¿Cómo llamas a Claude Fable 5 a través de Velokey (sin cuenta de Anthropic)?
Si prefieres saltarte la cuenta de Anthropic, el usage tier y el requisito de retención de 30 días, llama a Fable 5 a través del endpoint compatible con OpenAI de [Velokey](/model/claude-fable-5). Apunta cualquier cliente OpenAI a la base URL de Velokey, usa tu key de Velokey y configura el modelo como claude-fable-5 — es un chat completion estándar, así que las trampas de parámetros de la siguiente sección no aplican.
from openai import OpenAI
client = OpenAI(
base_url="https://api.velokey.ai/v1",
api_key="sk-velokey-...", # your Velokey key — not an Anthropic key
)
response = client.chat.completions.create(
model="claude-fable-5",
messages=[{"role": "user", "content": "Explain the tradeoffs of event sourcing in two paragraphs."}],
)
print(response.choices[0].message.content)Mismo precio de $10 / $50 por 1M que al llamar a Anthropic directamente, facturado desde créditos de Velokey, con una sola key para todos los modelos que uses — y sin la configuración específica de Anthropic. Es el camino más rápido a una llamada funcional a Fable 5. El resto de esta guía cubre la ruta directa a Anthropic y las peculiaridades de solicitud que conlleva, que el endpoint compatible con OpenAI suaviza.
¿Qué se rompe cuando llamas a Claude Fable 5 como a un modelo anterior?
Al llamar a Anthropic directamente, cinco parámetros de solicitud que funcionaban en modelos Claude o GPT anteriores ahora devuelven un 400 en Fable 5. Esta es la parte que convierte un "cambio rápido" en una tarde de debugging (y la fricción que la ruta de Velokey de arriba se salta).
Parámetros que devuelven 400 en Fable 5:
| What you're used to | On Fable 5 | Fix |
|---|---|---|
temperature, top_p, top_k | 400 | Remove them — steer with the prompt instead |
thinking: {type:"enabled", budget_tokens: N} | 400 | Omit it; use output_config.effort |
thinking: {type:"disabled"} | 400 | Omit the thinking param entirely |
Assistant-turn prefill (last message role:"assistant") | 400 | Use output_config.format (structured outputs) |
| Any request from a ZDR org | 400 | Enable ≥30-day data retention |
*Source: Anthropic Claude Fable 5 API documentation, 2026.*
El modelo mental: Fable 5 eliminó a propósito los knobs de sampling y el presupuesto fijo de thinking. No hay temperature=0 para determinismo ni techo de budget_tokens — das forma al comportamiento a través del prompt y limitas la profundidad con effort. Si estás migrando una integración funcional de Opus o GPT, elimina primero esos parámetros, antes de tocar cualquier otra cosa.
¿Cómo manejas los refusals de Claude Fable 5?
Fable 5 ejecuta clasificadores de seguridad que pueden rechazar una solicitud — y un rechazo no es un error HTTP. Devuelve un 200 exitoso con stop_reason: "refusal" y un array content vacío (o parcial, a mitad de stream). El código que lee response.content[0].text de forma incondicional se romperá con ello.
Dos cosas que hacer. Primero, siempre ramifica según stop_reason antes de leer el content. Segundo, activa los fallbacks para que un rechazo de falso positivo no falle simplemente — el trabajo legítimo en herramientas de seguridad o ciencias de la vida puede activar el clasificador, así que esto importa incluso para apps legítimas:
response = client.beta.messages.create(
model="claude-fable-5",
max_tokens=16000,
betas=["server-side-fallback-2026-06-01"],
fallbacks=[{"model": "claude-opus-4-8"}], # re-served in the same call on a decline
output_config={"effort": "high"},
messages=[{"role": "user", "content": "..."}],
)
if response.stop_reason == "refusal":
# The whole chain (Fable 5 + fallback) declined — surface it, don't retry as-is
handle_refusal(response)
else:
print(next(b.text for b in response.content if b.type == "text"))Con el parámetro fallbacks del lado del servidor, una solicitud rechazada se re-ejecuta de forma transparente en claude-opus-4-8 dentro de la misma llamada, y la facturación se acredita para que no te cobren dos veces. Un rechazo antes de cualquier output no se factura en absoluto. Actívalo por defecto en el código nuevo de Fable 5 — es opt-in, así que sin él un refusal simplemente se detiene.
¿Cuánto cuesta la API de Claude Fable 5?
Fable 5 cuesta $10 por 1M de tokens de input y $50 por 1M de tokens de output — aproximadamente 2× Claude Opus 4.8 ($5 / $25). Está precificado para el razonamiento más difícil y el trabajo agentic de largo horizonte, no para llamadas cotidianas de alto volumen.
Cuánto cuesta una sola solicitud:
| Model | 10K in + 2K out | Relative |
|---|---|---|
claude-fable-5 | $0.20 | 2× |
claude-opus-4-8 | $0.10 | 1× |
*Per-token math on published rates. Fable 5: 10K×$10/1M + 2K×$50/1M = $0.20.*

Dos palancas mantienen la factura bajo control. Baja effort a medium o low en el trabajo rutinario — Fable 5 con low effort a menudo iguala a modelos anteriores en su techo. Y usa [prompt caching](/blog/claude-api-pricing-2026) para contexto repetido; las lecturas en caché se facturan a aproximadamente una décima parte de la tarifa de input. Una nota operativa más: las solicitudes individuales en tareas difíciles pueden durar varios minutos, así que haz stream de cualquier cosa con un max_tokens grande para evitar timeouts del cliente:
with client.messages.stream(
model="claude-fable-5",
max_tokens=64000,
output_config={"effort": "xhigh"},
messages=[{"role": "user", "content": "..."}],
) as stream:
message = stream.get_final_message()Si prefieres no gestionar directamente una cuenta de Anthropic y la configuración de retención de 30 días, un gateway unificado como [Velokey](/model/claude-fable-5) expone claude-fable-5 a través de un endpoint compatible con OpenAI junto con otros modelos — lo llamas con la misma key que usas para todo lo demás. Para ver cómo se compara Fable 5 en precio frente a otros modelos frontier, consulta nuestra guía de precios de la API de Claude, el desglose de tiers de GPT-5.6 y la comparación GLM-5.2 vs GPT-5.5 vs Opus 4.8.
Preguntas frecuentes
¿Cuál es el model ID de la API de Claude Fable 5?
El model ID es claude-fable-5 — la cadena exacta, sin sufijo de fecha. Es el modelo más capaz de Anthropic de amplio lanzamiento, con una ventana de contexto de 1M de tokens (el valor por defecto y el máximo) y hasta 128K tokens de output. Llámalo a través de la Messages API (client.messages.create) con el SDK oficial anthropic.
¿Por qué mi solicitud a Claude Fable 5 devuelve un 400?
Las causas habituales son parámetros que Fable 5 eliminó: temperature, top_p, top_k, thinking: {budget_tokens}, thinking: {type:"disabled"} o un prefill de turno assistant — cada uno devuelve un 400. Una causa aparte es una org con zero data retention, que devuelve 400 en cada solicitud a Fable 5. Elimina los params de sampling/thinking y confirma retención ≥30 días.
¿Cómo controlo la profundidad de thinking en Claude Fable 5?
Usa output_config.effort — low, medium, high, xhigh o max. Thinking siempre está activado y no se puede desactivar ni darle un budget_tokens fijo (ambos devuelven 400). high es un valor por defecto sólido; xhigh sirve para coding y tareas agentic. Para ver un resumen de razonamiento, añade thinking={"type":"adaptive","display":"summarized"}.
¿Cuánto cuesta la API de Claude Fable 5?
$10 por 1M de tokens de input y $50 por 1M de tokens de output — unas 2× Claude Opus 4.8. Una solicitud de 10K input/2K output cuesta unos $0.20. Bajar effort y el prompt caching (las lecturas en caché se facturan ~10% del input) son las principales formas de reducir el gasto en trabajo de alto volumen.
¿Cómo manejo un refusal de Claude Fable 5?
Comprueba response.stop_reason antes de leer content — un refusal devuelve HTTP 200 con stop_reason: "refusal" y content vacío o parcial. Activa el parámetro fallbacks del lado del servidor (con betas=["server-side-fallback-2026-06-01"]) para que un rechazo se re-sirva en claude-opus-4-8 en la misma llamada en lugar de fallar.
¿Puedo usar la API de Claude Fable 5 sin una cuenta de Anthropic?
No directamente — Fable 5 requiere una cuenta de pago de Anthropic con retención de datos de 30 días. Puedes acceder a él a través de un gateway de API unificado que gestiona el acceso upstream a Anthropic, de modo que llamas a claude-fable-5 mediante un endpoint compatible con OpenAI sin gestionar tú mismo la cuenta ni la configuración de retención.
¿Quieres Claude Fable 5 sin gestionar una cuenta de Anthropic? [Obtén tu API key de Velokey](/model/claude-fable-5) y llama a claude-fable-5 a través de un endpoint compatible con OpenAI — la misma key, junto a todos los demás modelos que uses.
*Última actualización: 13 de julio de 2026. Los detalles de la API provienen de la documentación de Claude Fable 5 de Anthropic en el momento de la redacción. Los precios, parámetros y el comportamiento del modelo los establece Anthropic y pueden cambiar — verifica contra la documentación oficial antes de llevar a producción.*

