Comment utiliser l'API Claude Opus 4.7 ?

Ashley Innocent

Ashley Innocent

16 April 2026

Comment utiliser l'API Claude Opus 4.7 ?

Apidog pour les entreprises

Déploiement sur site

SSO & RBAC

Conforme SOC 2

Explorer Apidog Enterprise

En bref

Claude Opus 4.7 (claude-opus-4-7) est le modèle GA le plus performant d'Anthropic. Il prend en charge une fenêtre contextuelle d'un million de jetons, une sortie maximale de 128 000 jetons, une pensée adaptative, un nouveau niveau d'effort xhigh, des budgets de tâches, une vision haute résolution (3,75 MP) et l'utilisation d'outils. Ce guide couvre la configuration de l'API, l'authentification et des exemples de code fonctionnels en Python, TypeScript et cURL pour toutes les capacités majeures.

Introduction

Anthropic a publié Claude Opus 4.7 le 16 avril 2026. C'est le modèle le plus puissant de la famille Claude et le choix idéal pour le raisonnement complexe, les agents autonomes et les workflows axés sur la vision.

Si vous avez déjà utilisé l'API Claude, la plupart de l'interface vous est familière. Mais Opus 4.7 introduit plusieurs nouvelles capacités et des changements incompatibles qui nécessitent des mises à jour de code. Les budgets de pensée étendue ont disparu. Les paramètres d'échantillonnage (temperature, top_p, top_k) ont disparu. Le mode de pensée ne prend désormais en charge que la pensée adaptative, et il est désactivé par défaut.

Ce guide vous accompagne à chaque étape : obtenir votre clé API, faire votre première requête, utiliser la pensée adaptative, envoyer des images haute résolution, configurer l'utilisation d'outils, configurer les budgets de tâches et diffuser les réponses. Chaque exemple est testé et prêt à être copié. Vous verrez également comment déboguer et tester vos appels API avec Apidog, ce qui rend l'inspection des conversations multi-tours d'utilisation d'outils bien plus facile que l'analyse de JSON brut.

bouton

Démarrage rapide

Obtenez votre clé API

  1. Inscrivez-vous sur console.anthropic.com
  2. Naviguez vers Clés API dans le tableau de bord
  3. Cliquez sur Créer une clé et copiez la clé
  4. Stockez-la en tant que variable d'environnement :
export ANTHROPIC_API_KEY="sk-ant-votre-cle-ici"

Installer le SDK

Python:

pip install anthropic

TypeScript/Node.js:

npm install @anthropic-ai/sdk

Point de terminaison de l'API

Toutes les requêtes vont à :

POST https://api.anthropic.com/v1/messages

En-têtes requis :

x-api-key: VOTRE_CLE_API
anthropic-version: 2023-06-01
content-type: application/json

Requête de texte de base

L'appel API le plus simple. Envoyez un message, obtenez une réponse.

Python:

import anthropic

client = anthropic.Anthropic()

message = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Expliquez comment fonctionne le push serveur HTTP/2 en trois phrases."}
    ]
)

print(message.content[0].text)

TypeScript:

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic();

const message = await client.messages.create({
  model: "claude-opus-4-7",
  max_tokens: 1024,
  messages: [
    { role: "user", content: "Expliquez comment fonctionne le push serveur HTTP/2 en trois phrases." }
  ],
});

console.log(message.content[0].text);

cURL:

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-opus-4-7",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "Expliquez comment fonctionne le push serveur HTTP/2 en trois phrases."}
    ]
  }'

Pensée adaptative

La pensée adaptative est le seul mode de pensée pris en charge par Opus 4.7. Elle permet à Claude d'allouer dynamiquement des jetons de raisonnement en fonction de la complexité de la tâche. Elle est désactivée par défaut — vous devez l'activer explicitement.

Python:

message = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=16384,
    thinking={
        "type": "adaptive",
        "display": "summarized"  # facultatif : voir le résultat de la pensée
    },
    messages=[
        {"role": "user", "content": "Analysez la complexité temporelle de cet algorithme et suggérez des optimisations :\n\ndef find_pairs(arr, target):\n    result = []\n    for i in range(len(arr)):\n        for j in range(i+1, len(arr)):\n            if arr[i] + arr[j] == target:\n                result.append((arr[i], arr[j]))\n    return result"}
    ]
)

for block in message.content:
    if block.type == "thinking":
        print("Pensée :", block.thinking)
    elif block.type == "text":
        print("Réponse :", block.text)

Points clés :

Utilisation du paramètre d'effort

message = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=16384,
    thinking={"type": "adaptive"},
    output_config={"effort": "xhigh"},  # xhigh | high | medium | low
    messages=[
        {"role": "user", "content": "Vérifiez cette pull request pour les vulnérabilités de sécurité..."}
    ]
)

Niveaux d'effort pour Opus 4.7 :

Niveau Idéal pour
xhigh Codage, tâches d'agent, raisonnement complexe
high La plupart des travaux sensibles à l'intelligence
medium Équilibre vitesse/qualité
low Tâches simples, réponses rapides

Vision haute résolution

Opus 4.7 accepte des images jusqu'à 2 576 pixels sur le côté long (3,75 mégapixels). Les coordonnées correspondent pixel par pixel aux pixels réels.

Python — analyser une image à partir d'une URL :

message = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "url",
                        "url": "https://example.com/architecture-diagram.png"
                    }
                },
                {
                    "type": "text",
                    "text": "Décrivez ce diagramme d'architecture. Énumérez chaque service et les connexions entre eux."
                }
            ]
        }
    ]
)

print(message.content[0].text)

Python — analyser une image locale avec base64 :

import base64

with open("screenshot.png", "rb") as f:
    image_data = base64.standard_b64encode(f.read()).decode("utf-8")

message = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/png",
                        "data": image_data
                    }
                },
                {
                    "type": "text",
                    "text": "Quels bugs d'interface utilisateur voyez-vous dans cette capture d'écran ?"
                }
            ]
        }
    ]
)

Les images de plus haute résolution consomment plus de jetons. Si vous n'avez pas besoin d'une fidélité totale, redimensionnez les images avant de les envoyer pour réduire les coûts.

Utilisation d'outils (appel de fonctions)

L'utilisation d'outils permet à Claude d'appeler les fonctions que vous définissez. Opus 4.7 a tendance à utiliser moins d'appels d'outils par défaut, préférant le raisonnement. Augmentez le niveau d'effort pour augmenter l'utilisation d'outils.

Python:

import json

tools = [
    {
        "name": "get_weather",
        "description": "Obtient la météo actuelle pour une ville. Renvoie la température, les conditions et l'humidité.",
        "input_schema": {
            "type": "object",
            "properties": {
                "city": {
                    "type": "string",
                    "description": "Nom de la ville, par exemple 'San Francisco'"
                },
                "units": {
                    "type": "string",
                    "enum": ["celsius", "fahrenheit"],
                    "description": "Unité de température"
                }
            },
            "required": ["city"]
        }
    }
]

messages = [
    {"role": "user", "content": "Quel temps fait-il à Tokyo en ce moment ?"}
]

# Premier appel — Claude demande un outil
response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    tools=tools,
    messages=messages,
)

# Traiter les appels d'outils
if response.stop_reason == "tool_use":
    messages.append({"role": "assistant", "content": response.content})

    tool_results = []
    for block in response.content:
        if block.type == "tool_use":
            # Exécuter votre fonction ici
            result = {"temperature": 22, "conditions": "Partiellement nuageux", "humidity": 65}

            tool_results.append({
                "type": "tool_result",
                "tool_use_id": block.id,
                "content": json.dumps(result)
            })

    messages.append({"role": "user", "content": tool_results})

    # Deuxième appel — Claude utilise le résultat de l'outil
    final_response = client.messages.create(
        model="claude-opus-4-7",
        max_tokens=1024,
        tools=tools,
        messages=messages,
    )
    print(final_response.content[0].text)

Modèle de boucle d'agent

Pour les agents autonomes qui exécutent plusieurs appels d'outils en séquence :

def run_agent(system_prompt: str, tools: list, user_message: str) -> str:
    messages = [{"role": "user", "content": user_message}]

    while True:
        response = client.messages.create(
            model="claude-opus-4-7",
            max_tokens=16384,
            system=system_prompt,
            tools=tools,
            thinking={"type": "adaptive"},
            output_config={"effort": "xhigh"},
            messages=messages,
        )

        messages.append({"role": "assistant", "content": response.content})

        if response.stop_reason != "tool_use":
            return "".join(
                block.text for block in response.content
                if hasattr(block, "text")
            )

        tool_results = []
        for block in response.content:
            if block.type == "tool_use":
                result = execute_tool(block.name, block.input)
                tool_results.append({
                    "type": "tool_result",
                    "tool_use_id": block.id,
                    "content": result,
                })

        messages.append({"role": "user", "content": tool_results})

Budgets de tâches (Beta)

Les budgets de tâches donnent à Claude une allocation de jetons pour une boucle d'agent entière. Le modèle voit un compte à rebours et termine son travail à mesure que le budget est consommé.

response = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=128000,
    output_config={
        "effort": "high",
        "task_budget": {"type": "tokens", "total": 128000},
    },
    messages=[
        {"role": "user", "content": "Examinez la base de code et proposez un plan de refactoring."}
    ],
    betas=["task-budgets-2026-03-13"],
)

Contraintes clés :

Diffusion des réponses

Diffusez les réponses pour une sortie en temps réel dans les interfaces de chat.

Python:

with client.messages.stream(
    model="claude-opus-4-7",
    max_tokens=4096,
    messages=[
        {"role": "user", "content": "Écrivez une fonction Python pour analyser les fichiers CSV avec gestion des erreurs."}
    ]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

TypeScript:

const stream = await client.messages.stream({
  model: "claude-opus-4-7",
  max_tokens: 4096,
  messages: [
    { role: "user", content: "Écrivez une fonction Python pour analyser les fichiers CSV avec gestion des erreurs." }
  ],
});

for await (const event of stream) {
  if (event.type === "content_block_delta" && event.delta.type === "text_delta") {
    process.stdout.write(event.delta.text);
  }
}

Si vous avez activé la pensée adaptative avec display: "summarized", les blocs de pensée sont diffusés en premier, suivis de la réponse textuelle. Sans display: "summarized", les utilisateurs voient une pause pendant la pensée suivie de la sortie textuelle.

Mise en cache des invites

Réduisez les coûts pour les contextes répétés (prompts système, documents longs) en les mettant en cache.

response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    system=[
        {
            "type": "text",
            "text": "Vous êtes un réviseur de code senior. Examinez le code pour les vulnérabilités de sécurité, les problèmes de performance et les violations des bonnes pratiques...",
            "cache_control": {"type": "ephemeral"}
        }
    ],
    messages=[
        {"role": "user", "content": "Examinez cette fonction :\n\ndef process_user_input(data):\n    return eval(data)"}
    ]
)

Tarification du cache pour Opus 4.7 :

Opération Coût
Écriture cache 5 min 6,25 $ / MTok (1,25x base)
Écriture cache 1 heure 10 $ / MTok (2x base)
Lecture/succès cache 0,50 $ / MTok (0,1x base)

Une seule lecture du cache paie pour l'écriture du cache de 5 minutes. Deux lectures paient pour l'écriture d'une heure.

Conversations multi-tours

Maintenez le contexte sur plusieurs tours en ajoutant des éléments au tableau de messages.

messages = []

# Tour 1
messages.append({"role": "user", "content": "J'ai besoin de construire une API REST pour une application de liste de tâches."})

response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    messages=messages,
)

messages.append({"role": "assistant", "content": response.content})

# Tour 2
messages.append({"role": "user", "content": "Ajoutez l'authentification avec des jetons JWT."})

response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    messages=messages,
)

Tester vos appels API avec Apidog

La création d'une intégration API Claude implique des charges utiles complexes : messages multi-tours, définitions d'outils, résultats d'outils, images base64 et réponses en streaming. Un outil comme Apidog simplifie le débogage et les tests.

Configurez votre environnement :

  1. Créez un nouveau projet dans Apidog et ajoutez le point de terminaison de l'API Claude Messages
  2. Stockez votre ANTHROPIC_API_KEY dans les variables d'environnement
  3. Définissez les en-têtes requis (x-api-key, anthropic-version, content-type)

Tester les flux d'utilisation d'outils :

Apidog vous permet d'enchaîner les requêtes, vous pouvez donc simuler une boucle complète d'utilisation d'outils : envoyer le message initial, inspecter l'appel d'outil de Claude, construire le résultat de l'outil et le renvoyer. L'inspecteur visuel de requête/réponse montre exactement ce qui se trouve dans chaque charge utile.

Comparer les modèles :

Exécutez les mêmes prompts contre claude-opus-4-6 et claude-opus-4-7 pour comparer le nombre de jetons, la qualité de la réponse et la latence. Le lanceur de tests d'Apidog rend les comparaisons A/B reproductibles.

Valider les schémas :

Définissez des schémas JSON pour le format de réponse attendu et laissez Apidog valider automatiquement que les réponses de Claude correspondent. Cela permet de détecter les régressions lorsque vous modifiez les prompts ou changez de modèle.

bouton

Erreurs courantes et correctifs

Erreur Cause Correctif
400: thinking.budget_tokens non pris en charge Utilisation de la syntaxe de pensée étendue Passer à thinking: {"type": "adaptive"}
400: temperature non pris en charge Définition de paramètres d'échantillonnage non par défaut Supprimer temperature, top_p, top_k
400: max_tokens dépassé Le nouveau tokenizer produit plus de jetons Augmenter max_tokens (jusqu'à 128 000)
429: Limite de taux dépassée Trop de requêtes Implémenter un backoff exponentiel ; vérifier les limites de votre niveau
Blocs de pensée vides L'affichage par défaut de la pensée est "omitted" Ajouter display: "summarized" à la configuration de la pensée

Référence de tarification

Utilisation Coût
Jetons d'entrée 5 $ / MTok
Jetons de sortie 25 $ / MTok
Entrée par lot 2,50 $ / MTok
Sortie par lot 12,50 $ / MTok
Lectures de cache 0,50 $ / MTok
Écritures de cache 5 min 6,25 $ / MTok
Écritures de cache 1 heure 10 $ / MTok

Note : Le nouveau tokenizer d'Opus 4.7 peut utiliser jusqu'à 35 % de jetons en plus pour le même texte par rapport à Opus 4.6. Utilisez le point de terminaison /v1/messages/count_tokens pour estimer les coûts avant le déploiement en production.

Conclusion

Claude Opus 4.7 est le modèle le plus performant de la famille Claude. L'API est largement compatible avec Opus 4.6, mais la suppression des budgets de pensée étendue et des paramètres d'échantillonnage nécessite des modifications de code. Les nouvelles capacités — pensée adaptative, effort xhigh, budgets de tâches et vision haute résolution — vous donnent plus de contrôle sur la façon dont le modèle raisonne et sur son coût.

Commencez par la requête de texte de base, ajoutez la pensée adaptative pour les tâches complexes, et intégrez l'utilisation d'outils et les budgets de tâches à mesure que votre agent évolue. Utilisez Apidog pour tester votre intégration, valider les charges utiles et comparer les performances entre les versions du modèle.

bouton

Pratiquez le Design-first d'API dans Apidog

Découvrez une manière plus simple de créer et utiliser des API

Comment utiliser l'API Claude Opus 4.7 ?