Claude Opus 5.5 est disponible sur SeedRouter
SeedRouter Docs

Claude Fable 5

Appelez Claude Fable 5 avec l'API Messages officielle d'Anthropic, ou les formats OpenAI Chat Completions et Responses : réflexion adaptative, une fenêtre de contexte de 1M tokens et jusqu'à 128K tokens en sortie.

View Markdown

Claude Fable 5 est le modèle Fable précédent d'Anthropic, toujours disponible aux côtés de Claude Fable 5.1. Envoyez la requête officielle Anthropic Messages à SeedRouter : changez l'URL de base et la clé API, conservez le corps. Le même modèle répond aussi aux formats OpenAI Chat Completions et Responses.

ID de modèle

ID de modèleFenêtre de contexteSortie maximaleRéflexionEffort par défaut
claude-fable-51M tokens128K tokensAdaptative, toujours activehigh

Consultez la page du modèle pour les tarifs actuels.

Exemple rapide

curl https://api.seedrouter.ai/v1/messages \
  -H "x-api-key: $SEEDROUTER_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-fable-5",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Summarize the trade-offs of event sourcing in three bullet points."}]
  }'

Points de terminaison

FormatMéthode et cheminAuthentification
Anthropic MessagesPOST https://api.seedrouter.ai/v1/messagesx-api-key: <key> ou Authorization: Bearer <key>, plus anthropic-version
OpenAI Chat CompletionsPOST https://api.seedrouter.ai/v1/chat/completionsAuthorization: Bearer <key>
OpenAI ResponsesPOST https://api.seedrouter.ai/v1/responsesAuthorization: Bearer <key>

Le point de terminaison Messages transfère votre corps de requête tel qu'envoyé, y compris les champs facultatifs, et renvoie la réponse officielle. Un en-tête anthropic-beta est également transmis. Conservez la clé API dans le code côté serveur.

Paramètres

NomTypeRequisPar défautRemarques
modelstringOui—claude-fable-5.
max_tokensintegerOui—0–128000. Inclut les tokens dépensés pour la réflexion. 0 préchanffe uniquement le cache de prompt.
messagesobject[]Oui—Alternance de tours user et assistant ; content est une string ou un tableau de blocs de contenu. Le dernier tour doit être user. Exception : pour poursuivre une réponse pause_turn, renvoyez son contenu tel quel comme dernier message assistant.
systemstring ou object[]Non—Prompt système.
thinkingobjectNon{"type": "adaptive"}La réflexion est adaptative et toujours active. display : omitted (par défaut) ou summarized.
output_config.effortenumNonhighlow, medium, high, xhigh, max. Oriente le niveau de réflexion du modèle.
output_config.formatobjectNon—Un schéma JSON pour la sortie structurée.
stop_sequencesstring[]Non—S'arrête quand l'une de ces strings est générée.
streambooleanNonfalseEnvoie la réponse en événements côté serveur.
temperaturenumberNon—Seule la valeur 1 (par défaut) est acceptée, pour la rétrocompatibilité ; toute autre valeur renvoie une erreur 400. Omettez-le.
top_pnumberNon—Seules les valeurs de 0.99 à 1 sont acceptées, pour la rétrocompatibilité ; toute autre valeur renvoie une erreur 400. Omettez-le.
top_kintegerNon—Non accepté : toute valeur renvoie une erreur 400. Omettez-le.
toolsobject[]Non—Définitions d'outils.
tool_choiceobjectNon—auto, any, tool ou none.
metadata.user_idstringNon—Un id opaque pour votre utilisateur final, jusqu'à 512 caractères.
cache_controlobjectNon—Point de rupture du cache de prompt au niveau supérieur.
container, context_management, mcp_servers, diagnostics, service_tier, inference_geo, speed—Non—Transmis tel qu'envoyé.

Réflexion et effort

Claude Fable 5 utilise toujours la réflexion adaptative : le modèle décide de la quantité de réflexion, et output_config.effort l'oriente. Un effort plus élevé signifie généralement plus de tokens en sortie, une attente plus longue et un coût plus élevé. Avec thinking.display défini sur summarized, la réponse inclut des blocs thinking que vous pouvez afficher ; avec omitted, Claude Fable 5 renvoie toujours un bloc thinking, mais son texte est vide. Lisez la réponse dans les blocs text, pas dans le premier bloc. Les tokens de réflexion sont facturés comme des tokens de sortie.

Entrées média

Les images et les PDF vont dans le content d'un tour utilisateur en tant que blocs image et document, avec une source url ou, comme dans l'API officielle, une source base64 :

{"role": "user", "content": [
  {"type": "image", "source": {"type": "url", "url": "https://example.com/chart.png"}},
  {"type": "text", "text": "What does this chart show?"}
]}

Remplacez l'URL d'exemple par un fichier publiquement accessible de votre choix.

Dimensions de facturation

Consultez les tarifs actuels sur la page du modèle. Une requête est facturée en fonction des tokens qu'elle utilise :

  • tokens d'entrée,
  • tokens de sortie, y compris la réflexion,
  • lectures du cache de prompt, et
  • écritures du cache de prompt, avec des tarifs distincts de 5 minutes et 1 heure.

La charge est prélevée sur l'usage rapporté avec la réponse terminée. Une requête qui échoue n'est pas facturée. Les enregistrements d'usage de votre compte affichent la charge exacte pour chaque requête.

Sortie

Une requête non-streaming renvoie l'objet message officiel :

{
  "id": "msg_...",
  "type": "message",
  "role": "assistant",
  "model": "claude-fable-5",
  "content": [{"type": "text", "text": "..."}],
  "stop_reason": "end_turn",
  "usage": {"input_tokens": 18, "output_tokens": 4, "cache_read_input_tokens": 0, "cache_creation_input_tokens": 0}
}

Avec "stream": true, la réponse est un flux d'événements officiels : message_start, content_block_start, content_block_delta, content_block_stop, message_delta et message_stop. Le message_delta final porte le nombre de tokens de sortie.

Formats compatibles OpenAI

Le même modèle répond aux formats OpenAI, donc le code OpenAI existant a seulement besoin d'une nouvelle URL de base et d'un ID de modèle :

from openai import OpenAI

client = OpenAI(api_key="YOUR_SEEDROUTER_KEY", base_url="https://api.seedrouter.ai/v1")

chat = client.chat.completions.create(
    model="claude-fable-5",
    messages=[{"role": "user", "content": "Hello"}],
)
response = client.responses.create(model="claude-fable-5", input="Hello")

Ces requêtes sont converties au format Messages, donc un champ sans équivalent Messages n'a aucun effet. Leurs réponses portent les champs OpenAI officiels et peuvent inclure quelques champs d'usage supplémentaires ; lisez usage.total_tokens et les champs officiels.

Erreurs

Les erreurs sur /v1/messages utilisent la forme Anthropic, {"type": "error", "error": {"type": "...", "message": "..."}}; les autres formats utilisent {"error": {"code": ..., "message": "..."}}. Le code est un code du catalogue d'erreurs commun. Les requêtes échouées ne sont pas facturées.

Conseils

  • Commencez avec l'effort par défaut et ne l'augmentez que pour les tâches qui nécessitent plus de réflexion ; les changements d'effort affectent à la fois la qualité et le coût.
  • Définissez max_tokens assez haut pour la réflexion et la réponse : c'est un budget unique pour les deux.
  • Placez le contexte long et réutilisé en premier et marquez-le avec cache_control afin que les requêtes ultérieures le lisent à partir du cache au tarif inférieur.

Ressources associées