inference.eu

POST /v1/messages

API Messages : requêtes au format Anthropic, traitées dans l'UE

L'API inference.eu comprend aussi le format Messages d'Anthropic. Les outils et SDK conçus pour Anthropic, y compris des agents de code comme Claude Code, envoient leurs requêtes à des modèles open-weight hébergés dans des centres de données européens, sans couche de traduction. Le corps de requête, les en-têtes et les événements de streaming restent les mêmes : seuls l'URL de base, la clé et le nom du modèle changent.

  1. 01Format d'API: Anthropic Messages
  2. 02Centres de données dans l'UE
  3. 03Couvert par un seul DPA
POST /v1/messages
curl https://api.inference.eu/v1/messages \
  -H "x-api-key: $INFERENCE_EU_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-oss-120b",
    "max_tokens": 1024,
    "system": "You review pull requests for a Python codebase. Be specific and brief.",
    "messages": [
      {"role": "user", "content": "Is it safe to use a mutable default argument like def add(item, items=[])?"}
    ]
  }'

Ce que fait le point de terminaison

POST /v1/messages reçoit une liste messages qui alterne entre user et assistant, avec un prompt système facultatif dans le champ system, et renvoie la réponse suivante de l'assistant. Contrairement au format OpenAI, le prompt système n'est pas un message mais un champ distinct, et max_tokens est obligatoire à chaque requête.

L'authentification passe par l'en-tête x-api-key avec votre clé inference.eu ; l'en-tête anthropic-version est accepté tel que l'envoient les clients Anthropic. Les SDK officiels Python et TypeScript fonctionnent dès que vous changez l'URL de base. Comme ils ajoutent eux-mêmes /v1/messages, indiquez l'hôte sans le suffixe /v1.

Blocs de contenu et structure de la réponse

content peut être une chaîne ou une liste de blocs : text, image (base64 ou URL) pour les modèles de vision, tool_use et tool_result. La réponse est un objet message avec id, role: "assistant", le model et un tableau content. Une réponse simple contient un bloc text ; un modèle de raisonnement peut le précéder d'un bloc thinking.

stop_reason vaut end_turn en fin normale, max_tokens quand la place manque, stop_sequence quand l'une de vos stop_sequences est rencontrée, et tool_use quand le modèle veut appeler un outil. usage indique input_tokens et output_tokens.

Outils et agents au format Anthropic

Les outils se déclarent dans un tableau tools, chacun avec name, description et un input_schema en JSON Schema. Quand le modèle veut s'en servir, la réponse se termine par stop_reason: "tool_use" et contient un bloc tool_use avec un id et un input. Vous exécutez l'outil, puis renvoyez un message user contenant un bloc tool_result qui reprend le même tool_use_id.

C'est la boucle qu'un agent de code répète sans cesse : lire un fichier, le modifier, lancer les tests. En le pointant vers inference.eu, votre code source reste dans des centres de données européens. Choisissez un modèle à l'aise avec les longues chaînes d'outils et prévoyez un max_tokens large.

Erreurs et cas particuliers

Les erreurs suivent le format d'Anthropic, {"type": "error", "error": {"type": "...", "message": "..."}}, avec le statut HTTP correspondant. Attendez-vous à invalid_request_error (400) si max_tokens manque ou si les messages n'alternent pas correctement, authentication_error (401) pour une clé invalide, not_found_error (404) pour un modèle inconnu et rate_limit_error (429) lorsqu'une limite de votre offre est atteinte.

Les noms de modèles Anthropic comme Claude ne sont pas disponibles ici : envoyez un identifiant de modèle ouvert. La plupart des clients le permettent via une variable d'environnement ou un réglage. Les fonctions liées aux modèles d'Anthropic peuvent être acceptées sans produire d'effet.

Messages (Anthropic format) : questions fréquentes

Les questions que nous posent le plus les achats, les développeurs et les juristes. Il en manque une ? Posez-la-nous directement.

Poser une question

Faites passer vos charges IA sur une infrastructure européenne

Dites-nous quels modèles vous utilisez et votre volume approximatif. Nous répondons sous un jour ouvré avec un tarif et la suite.

  • Réponse sous un jour ouvré
  • Tarif adapté à votre volume
  • DPA prêt à signer