
Utiliser l’API Claude Opus 5 : configuration de production et migration avec EvoLink
claude-opus-5. Créez une clé API EvoLink, puis envoyez une requête Claude Messages au point de terminaison direct d’EvoLink. La route suit le contrat Claude Messages API d’EvoLink : les équipes qui utilisent déjà une route Claude peuvent donc migrer sans ajouter une seconde intégration fournisseur.response.model, l’utilisation, la facturation, le streaming et le comportement des outils avec votre propre compte, puis déployez le trafic progressivement par type de charge. Cela distingue « la route est disponible » de l’affirmation plus exigeante selon laquelle chaque parcours applicatif a franchi ses critères de mise en production.max_tokens interagissent, ce qui change lorsque vous migrez depuis l'Opus 4.8, comment gérer les refus et les échecs de transport, et la place de l'Opus 5 dans une politique de routage de production soucieuse des coûts.Claude Opus 5 Faits en bref
| Champ | Valeur vérifiée | Pourquoi c'est important |
|---|---|---|
| ID du modèle Anthropic | claude-opus-5 | Utilisez l'identifiant exact pris en charge par votre fournisseur d'API |
| Fenêtre contextuelle | 1 million de jetons | Les grands référentiels et ensembles de documents peuvent s'intégrer dans un seul contexte de modèle, mais l'envoi de tout le contexte disponible est rarement la conception la moins chère |
| Sortie maximale | 128 000 jetons | max_tokens limite toujours la réflexion et les résultats visibles |
| Réflexion | Activée par défaut | Une requête Opus 4.8 sans réflexion se comporte différemment après la migration |
| Niveaux d'effort | low, medium, high, xhigh, max | L'effort est le principal contrôle de l'intelligence, de la latence et de l'utilisation des jetons |
| Prix de base officiel | 5 $ par million de jetons d'entrée et 25 $ par million de jetons de sortie | Le même prix de base que l'Opus 4.8 |
| EvoLink Point de terminaison des messages | Point de terminaison des messages directs | Point de terminaison EvoLink recommandé pour les requêtes Claude de longue durée |
| État de l'itinéraire EvoLink | Disponible | Appelez claude-opus-5 via l'EvoLink Messages API et validez le comportement de production avec votre propre charge de travail |
La conclusion pratique est simple : Claude Opus 5 peut désormais être appelé via EvoLink, tandis que la compatibilité des paramètres, la facturation et le comportement opérationnel doivent toujours être validés avec une demande réelle au niveau du compte avant le déploiement complet de la production.
Pourquoi utiliser Claude Opus 5 via une API unifiée
Appeler un nouveau modèle est facile. Garder une application flexible après la semaine de lancement est plus difficile.
Une intégration directe peut être le bon choix lorsqu'une équipe a besoin immédiatement de toutes les fonctionnalités natives Anthropic et a l'intention d'utiliser uniquement Claude. Une passerelle unifiée devient plus utile lorsque l'application doit choisir parmi des modèles, contenir les coûts, conserver une solution de repli ou changer de fournisseur sans diffuser de code spécifique au modèle dans le produit.
Le rôle utile de EvoLink n'est donc pas de faire de chaque requête une requête Opus 5. Il s'agit de conserver la sélection du modèle au niveau de la couche de routage :
Application task
-> routing policy
-> selected model
-> Messages API request
-> actual-model and usage verification
-> quality and cost record
-> promote, retry, fall back, or roll backCette architecture apporte à une équipe quatre avantages concrets :
- Une surface d'intégration. L'application envoie des messages de style Claude via un point de terminaison documenté.
- Sélection de modèle configurable. La logique métier décrit le travail, comme
routine_codingouarchitecture_escalation, tandis que la configuration choisit le modèle actuel. - Repli mesurable. Une nouvelle tentative ou un changement de modèle devient un événement opérationnel explicite plutôt qu'un contaminant de référence invisible.
- Flexibilité de migration. Le prochain changement de modèle est principalement une décision de routage et d'évaluation, et non une réécriture des invites, du code produit et des paramètres client.
Effectuer le premier appel à l’API Claude Opus 5
1. Confirmez l'accès au compte avant de modifier le code de production
La route EvoLink est disponible. Avant de modifier le trafic de production, vérifiez que votre compte peut l'appeler et que le chemin complet de l'application se comporte comme prévu :
claude-opus-5est répertorié pour votre compte EvoLink.- Une requête minimale renvoie HTTP 200.
response.modelidentifie le modèle attendu.- L'enregistrement d'utilisation et le montant facturé correspondent à la surface tarifaire EvoLink actuelle.
- Les fonctionnalités requises telles que le streaming ou les outils fonctionnent sur le même itinéraire.
Si votre compte n'expose pas l'itinéraire ou si une fonctionnalité requise échoue, conservez le modèle existant comme solution de secours et résolvez le problème de compte ou de compatibilité avant le déploiement.
2. Stockez la clé API sur le serveur
Créez une clé API EvoLink et chargez-la à partir d'une variable d'environnement côté serveur :
export EVOLINK_API_KEY="your_api_key_here"NEXT_PUBLIC_*.3. Envoyez une demande minimale
La requête minimale suit la forme Claude EvoLink de Messages API :
curl --request POST \
--url https://direct.evolink.ai/v1/messages \
--header "Authorization: Bearer $EVOLINK_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "claude-opus-5",
"max_tokens": 4096,
"messages": [
{
"role": "user",
"content": "Review this service architecture and identify the three highest-risk failure points."
}
]
}'Démarrez sans paramètres facultatifs. Une petite charge utile isole l'authentification, la disponibilité des routes et le contrat de requête principal avant que les efforts, les outils, le streaming ou la mise en cache n'ajoutent d'autres modes de défaillance.
4. Vérifiez la réponse, pas seulement le code d'état
Une réponse HTTP réussie prouve que le point de terminaison a renvoyé quelque chose. Cela ne prouve pas en soi que le modèle prévu a répondu à la demande ou que le résultat appartient à une évaluation Opus 5.
Enregistrez au moins :
response.modelresponse.stop_reason- utilisation des entrées et sorties
- demande de latence
- demander une pièce d'identité lorsqu'elle est disponible
- ID de tâche d'application
- nombre de tentatives et de replis
L'exemple TypeScript côté serveur suivant distingue les erreurs client non réessayables des échecs de capacité réessayables et vérifie le modèle renvoyé sans utiliser de valeurs non typées :
type Usage = {
input_tokens: number
output_tokens: number
cache_creation_input_tokens?: number
cache_read_input_tokens?: number
}
type TextBlock = {
type: 'text'
text: string
}
type MessageResponse = {
id: string
model: string
stop_reason: string | null
content: TextBlock[]
usage: Usage
}
const RETRYABLE_STATUS = new Set([429, 500, 503, 524])
function isMessageResponse(value: unknown): value is MessageResponse {
if (typeof value !== 'object' || value === null) return false
const record = value as Record<string, unknown>
return (
typeof record.id === 'string' &&
typeof record.model === 'string' &&
Array.isArray(record.content) &&
typeof record.usage === 'object' &&
record.usage !== null
)
}
async function callClaudeOpus5(prompt: string): Promise<MessageResponse> {
const credential = process.env.EVOLINK_API_KEY
if (!credential) throw new Error('EVOLINK_API_KEY is not configured')
for (let attempt = 0; attempt < 3; attempt += 1) {
const response = await fetch('https://direct.evolink.ai/v1/messages', {
method: 'POST',
headers: {
Authorization: `Bearer ${credential}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'claude-opus-5',
max_tokens: 4096,
messages: [{ role: 'user', content: prompt }],
}),
signal: AbortSignal.timeout(120_000),
})
if (response.ok) {
const payload: unknown = await response.json()
if (!isMessageResponse(payload)) {
throw new Error('Unexpected Claude Messages API response')
}
if (payload.model !== 'claude-opus-5') {
throw new Error(`Unexpected response model: ${payload.model}`)
}
return payload
}
if (!RETRYABLE_STATUS.has(response.status) || attempt === 2) {
throw new Error(`Claude request failed with HTTP ${response.status}`)
}
const backoffMs = 1_000 * 2 ** attempt + Math.floor(Math.random() * 250)
await new Promise((resolve) => setTimeout(resolve, backoffMs))
}
throw new Error('Claude request exhausted its retry policy')
}Il s'agit d'un modèle de référence et ne remplace pas les tests au niveau du compte. Dans un service à volume élevé, ajoutez des journaux structurés, une corrélation de requêtes, des contrôles de concurrence et une solution de secours choisie par votre politique de routage.
Comment la réflexion, l'effort et les max_tokens interagissent
L'Opus 5 modifie le comportement d'une requête par ailleurs familière. La réflexion est activée par défaut et l'effort contrôle la quantité de calcul que le modèle peut appliquer.

| Configuration de la pensée | Effort | Valable sur le contrat Opus 5 d'Anthropic ? | Implications productives |
|---|---|---|---|
| Par défaut ou adaptatif | low | Oui | Voie d'évaluation au moindre coût |
| Par défaut ou adaptatif | medium | Oui | Coût utile et référence de latence |
| Par défaut ou adaptatif | high | Oui | Valeur par défaut de l’API et route pour les tâches exigeantes |
| Par défaut ou adaptatif | xhigh | Oui | Point de départ recommandé pour le codage et le travail agent difficiles |
| Par défaut ou adaptatif | max | Oui | Tâches critiques en termes de capacité pour lesquelles l'utilisation de jetons supplémentaires est acceptable |
| Désactivé | low, medium ou high | Oui | Nécessite une sortie supplémentaire et une validation d'appel d'outil |
| Désactivé | xhigh ou max | Non | Renvoie une erreur 400 |
xhigh pour le développement et les tâches agentiques difficiles, d’utiliser high pour les autres workloads exigeants, puis de tester low ou medium lorsque la qualité d’évaluation reste suffisante. Avec xhigh ou max, partez d’au moins 64 000 max_tokens afin de laisser assez de place à la réflexion, aux sous-agents et aux appels d’outils.Trois détails évitent les erreurs d’intégration courantes :
max_tokenscouvre la réflexion et la sortie visible. Un plafond hérité d'un itinéraire Opus 4.8 sans réflexion peut tronquer une tâche Opus 5 plus tôt que prévu.- L'effort ne contrôle pas de manière fiable la longueur visible de la réponse. Demander explicitement une réponse concise ou la longueur cible du livrable.
- La prise en charge du fournisseur peut différer. N'envoyez
output_config.effortvia EvoLink qu'après la documentation de son itinéraire actuel ou un test réel confirmant que le champ est accepté.
Continuez à réfléchir lorsque cela est possible. Anthropic avertit que la désactivation de la réflexion peut parfois faire apparaître un appel d'outil sous forme de texte ordinaire ou exposer des balises internes de type XML dans la réponse visible.
Migrer depuis Claude Opus 4.8 sans conserver les anciennes hypothèses
Le changement d'ID de modèle est la partie la plus simple :
- "model": "claude-opus-4-8"
+ "model": "claude-opus-5"Migration des requêtes
- Les requêtes sans champ
thinkings'exécutent désormais avec réflexion. - Revisitez
max_tokenspour les flux de travail qui s'exécutaient auparavant sans réflexion. - Ne combinez pas la réflexion désactivée avec
xhighoumax. - Vérifiez qu’aucune valeur
temperature,top_poutop_khéritée d’une configuration antérieure à 4.8 ne subsiste — Opus 4.8 les rejette déjà et Opus 5 conserve ce comportement. - Testez le nouveau minimum de 512 jetons de cache d'invite si les invites répétées étaient auparavant trop courtes pour être mises en cache.
- Gérer
stop_reason: "refusal"comme résultat de la candidature.
Migration des prompts
L'Opus 5 est plus susceptible de vérifier son propre travail, de raconter les progrès et de déléguer à des sous-agents. Les invites adaptées à un modèle antérieur peuvent accidentellement multiplier ces comportements.
Mettez à jour les invites de quatre manières :
- Précisez la réponse prévue ou la longueur du document.
- Supprimez les instructions inconditionnelles pour revérifier ou ajouter un vérificateur final.
- Limiter la portée des tâches restreintes.
- Limiter la délégation des sous-agents à moins qu'un travail parallèle indépendant ne le justifie.
Migration du harness
Rejouez les tâches représentatives dans l’ensemble de l’application, et pas seulement dans l’appel du modèle brut. Vérifiez :
- sélection des outils et arguments
- comportement de l'analyseur de streaming
- limites de délai d'attente et de nouvelle tentative
- traitement des refus
- modèle effectivement retourné
- utilisation des jetons et du cache
- longueur de sortie
- acceptation de la tâche par le véritable réviseur ou contrôle en aval
Promouvoir l'Opus 5 par charge de travail. Un modèle peut améliorer des tâches d'architecture difficiles tout en ajoutant des coûts inutiles à l'extraction de routine.
Gérer l'utilisation des outils, le streaming, les refus et les échecs de transport
L'EvoLink Messages API expose le streaming, les outils, le choix des outils, l'utilisation et les raisons d'arrêt. Une boucle de production doit bifurquer sur la réponse plutôt que de supposer que chaque 200 réponses contient une réponse finale.
Send message
-> end_turn: return the answer
-> tool_use: execute the allowed tool and continue
-> refusal: apply the refusal and fallback policy
-> max_tokens: mark the result incomplete
-> transport error: retry only when the error is retryableDéfinissez un nombre maximum de boucles d'outils, validez chaque argument d'outil et conservez la trace nécessaire pour expliquer une tâche ayant échoué. N’exécutez jamais un appel d’outil produit par un modèle sans autorisation au niveau de l’application et validation du schéma.
Traitez les échecs par classe :
| Résultat | Action recommandée |
|---|---|
| 400 requêtes invalides | Corrigez les champs de modèle, de réflexion, d'effort, d'échantillonnage ou de schéma ; ne réessayez pas aveuglément |
| Authentification 401 | Corriger les informations d'identification côté serveur |
| Facturation 402 | Restaurer les crédits ou modifier la réponse du produit |
| Modèle 404 introuvable | Revérifiez l'énumération du modèle EvoLink et l'accès au compte |
| 429 limite de taux | Appliquer un recul exponentiel limité avec gigue |
| 503 surchargé | Réessayez en respectant un budget strict ou passez à une solution de secours approuvée |
| 524 délai d'attente | Utilisez le point de terminaison direct, définissez un délai d'expiration de tâche long et évitez les travaux en double non suivis |
stop_reason: "refusal" | Enregistrez le résultat et appliquez la stratégie de secours ou de message utilisateur de la charge de travail |
Un refus n’est pas la même chose qu’une requête HTTP ayant échoué. Anthropic le documente comme un résultat de réponse normal pour Opus 5. Un repli automatique peut être disponible sur l'API native de Anthropic, mais confirmez l'équivalent EvoLink avant de placer les champs spécifiques au fournisseur dans une requête de passerelle.
Mesurer le coût par tâche réussie
Claude Opus 5 conserve le même prix de base officiel que l'Opus 4.8, mais le prix catalogue n'indique pas à l'équipe de production quel itinéraire est le moins cher.
Utilisez cette métrique de décision :
successful-task cost =
input token cost
+ output token cost
+ retry cost
+ fallback cost
+ tool execution cost
+ human review or repair costmedium, high et xhigh. Enregistrez si la tâche a réussi, et pas seulement la fluidité du résultat. Une demande exigeant un effort plus élevé peut être économique si elle empêche les nouvelles tentatives et les réparations manuelles. Cela peut également être un gaspillage lorsque la tâche est exécutée à medium.Le tableau d'évaluation doit comprendre :
| Métrique | Pourquoi il appartient |
|---|---|
| Taux de tâches acceptées | Mesure si le résultat était utilisable |
| Total des jetons d'entrée et de sortie | Capture la facture modèle complète |
| Le cache lit et écrit | Indique si le contexte répété est réutilisé |
| Appels et échecs d'outils | Expose la surcharge de la boucle d'agent |
| Nouvelles tentatives et replis | Empêche les coûts cachés liés aux demandes multiples |
| Latence de bout en bout | Sépare l'ajustement interactif et en arrière-plan |
| Temps d'examen humain | Capture le nettoyage que la tarification des jetons manque |
Ne publiez pas de recommandation d’effort universel à partir d’une seule invite. Choisissez la voie nécessitant le moins d'effort qui répond au seuil de qualité pour chaque charge de travail, puis réservez l'escalade aux tâches pour lesquelles l'échec est coûteux.
Router Sonnet, Opus et Fable selon la charge de travail

| Charge de travail | Itinéraire de départ suggéré | Signal d'escalade |
|---|---|---|
| Classification, extraction et réécritures courtes | Modèle à moindre coût | Les échecs de schéma ou de qualité dépassent le seuil accepté |
| Travail quotidien d'assistant de codage et de production | Claude Sonnet 5 | Échec de débogage répété, portée du référentiel étendue ou risque de décision plus élevé |
| Débogage complexe, architecture et longues boucles d'agent | Claude Opus 5 | La tâche reste en suspens et la valeur attendue justifie la prime |
| Travail autonome ou fondé sur les connaissances les plus difficiles | Claude Fable 5 | À utiliser uniquement lorsque la valeur de la tâche mesurée supporte le prix plus élevé |
Stocker la décision de routage en configuration :
type Workload =
| 'routine_text'
| 'everyday_coding'
| 'complex_agent'
| 'frontier_escalation'
const modelByWorkload: Record<Workload, string> = {
routine_text: 'configured-low-cost-model',
everyday_coding: 'claude-sonnet-5',
complex_agent: 'claude-opus-5',
frontier_escalation: 'claude-fable-5',
}L'application doit enregistrer à la fois le modèle demandé et le modèle renvoyé. Si une solution de repli se produit, excluez cette trace d'un benchmark Opus 5 propre ou étiquetez-la séparément.
Liste de contrôle de préparation à la production
Avant de déplacer le trafic réel vers Opus 5 :
-
claude-opus-5est répertorié pour le compte EvoLink. - Une requête minimale renvoie le
response.modelattendu. - L'utilisation et la facturation correspondent à l'itinéraire documenté.
- Le streaming est vérifié si le produit en dépend.
- Chaque parcours d'outil requis a une demande valide et une trace de résultat.
- L'application distingue le refus de l'échec HTTP.
- Les erreurs réessayables et non réessayables suivent des politiques différentes.
- Une route de secours connue existe et a été utilisée.
- Les tâches représentatives ont été rejouées à plusieurs niveaux d'effort.
- Les seuils de promotion utilisent le taux de tâches acceptées, la latence et le coût des tâches réussies.
- Les ID de modèle résident dans la configuration plutôt que dans la logique métier.
- Les conditions de restauration sont explicites.
FAQ
Quel est l'ID du modèle d'API Claude Opus 5 ?
claude-opus-5. Conservez-le en configuration et vérifiez le modèle renvoyé lors de l’évaluation du trafic de production.Claude Opus 5 est-il disponible via EvoLink ?
claude-opus-5 avec l'EvoLink Claude Messages API. Consultez la Claude Opus 5 pour connaître le produit actuel et la surface tarifaire.Quel point de terminaison EvoLink dois-je utiliser ?
La réflexion est-elle activée par défaut sur Claude Opus 5 ?
thinking laisse la réflexion adaptative activée. Cela diffère des requêtes Opus 4.8 qui s'exécutaient sans réfléchir lorsque le champ était absent.Quel niveau d'effort dois-je choisir ?
xhigh pour le développement et les tâches agentiques difficiles, par high pour les autres tâches exigeantes, puis évaluez medium ou low comme leviers de coût et de latence. N’utilisez max que lorsque la valeur de la tâche justifie la consommation supplémentaire de jetons.Comment migrer depuis Claude Opus 4.8 ?
max_tokens, les paramètres d'échantillonnage, la longueur de l'invite, les instructions de vérification, le comportement du sous-agent, la gestion des refus, l'utilisation et le coût. Traitez la migration comme une évaluation de flux de travail plutôt que comme un remplacement de chaîne.

