Tutoriel Python pour l'API Claude 2026 | APIMaster.ai
Comment utiliser l'API Claude avec Python. Exemples complets utilisant le SDK Anthropic et le client compatible OpenAI — chat, streaming, vision et appel de fonctions — via APIMaster.ai.
Tutoriel Python pour l'API Claude
Ce guide couvre l'utilisation de l'API Claude en Python avec à la fois le SDK Anthropic natif et le client compatible OpenAI. Tous les exemples fonctionnent avec APIMaster.ai — remplacez simplement votre URL de base et votre clé API.
Installation
pip install anthropic # SDK Anthropic natif
pip install openai # Compatible OpenAI (optionnel)
Configuration de base
import anthropic
client = anthropic.Anthropic(
api_key="VOTRE_CLE_APIMASTER",
base_url="https://apimaster.ai", # Pas de /v1 pour le SDK Anthropic
)
Ou avec le SDK OpenAI (plus simple si vous utilisez déjà OpenAI) :
from openai import OpenAI
client = OpenAI(
api_key="VOTRE_CLE_APIMASTER",
base_url="https://apimaster.ai/v1",
)
Votre premier appel à l'API Claude
import anthropic
client = anthropic.Anthropic(
api_key="VOTRE_CLE_APIMASTER",
base_url="https://apimaster.ai",
)
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[
{"role": "user", "content": "Explique la différence entre les listes et les tuples en Python."}
],
)
print(message.content[0].text)
Instructions système
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=512,
system="Tu es un ingénieur Python senior. Sois concis et utilise des exemples de code.",
messages=[
{"role": "user", "content": "Quelle est la manière la plus rapide d'aplatir une liste imbriquée ?"}
],
)
print(response.content[0].text)
Conversation multi-tours
conversation = []
def chat(user_message):
conversation.append({"role": "user", "content": user_message})
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=conversation,
)
assistant_message = response.content[0].text
conversation.append({"role": "assistant", "content": assistant_message})
return assistant_message
print(chat("Qu'est-ce qu'un décorateur en Python ?"))
print(chat("Peux-tu me montrer un exemple pratique ?"))
Réponses en streaming
Le streaming renvoie les jetons au fur et à mesure qu'ils sont générés — meilleure expérience utilisateur pour les sorties longues :
with client.messages.stream(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[{"role": "user", "content": "Écris un scraper web Python utilisant requests et BeautifulSoup."}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
print() # nouvelle ligne à la fin
Vision : analyse d'images
Claude Sonnet et Opus prennent en charge les entrées d'image (base64 ou URL) :
import base64
with open("chart.png", "rb") as f:
image_data = base64.standard_b64encode(f.read()).decode("utf-8")
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=512,
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": image_data,
},
},
{"type": "text", "text": "Résume ce que montre ce graphique."},
],
}
],
)
print(response.content[0].text)
Utilisation d'outils (appel de fonctions)
tools = [
{
"name": "get_weather",
"description": "Obtenir la météo actuelle d'une ville",
"input_schema": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "Nom de la ville"},
},
"required": ["city"],
},
}
]
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=256,
tools=tools,
messages=[{"role": "user", "content": "Quel temps fait-il à Tokyo ?"}],
)
# Vérifier si Claude veut appeler un outil
if response.stop_reason == "tool_use":
tool_call = next(b for b in response.content if b.type == "tool_use")
print(f"Outil : {tool_call.name}, Entrée : {tool_call.input}")
Utilisation asynchrone
import asyncio
import anthropic
async def main():
client = anthropic.AsyncAnthropic(
api_key="VOTRE_CLE_APIMASTER",
base_url="https://apimaster.ai",
)
response = await client.messages.create(
model="claude-sonnet-4-6",
max_tokens=256,
messages=[{"role": "user", "content": "Bonjour !"}],
)
print(response.content[0].text)
asyncio.run(main())
Gestion des erreurs
import anthropic
try:
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=256,
messages=[{"role": "user", "content": "Bonjour"}],
)
except anthropic.AuthenticationError:
print("Clé API invalide")
except anthropic.RateLimitError:
print("Limite de débit — ajoutez une logique de réessai")
except anthropic.APIStatusError as e:
print(f"Erreur API {e.status_code} : {e.message}")
Choisir le bon modèle Claude pour vos projets Python
| Tâche | Modèle | Raison |
|---|---|---|
| Chatbots, questions-réponses | claude-haiku-4-5 | Rapide et économique |
| Génération de code | claude-sonnet-4-6 | Meilleur équilibre |
| Raisonnement complexe | claude-opus-4-8 | Précision maximale |
| Analyse de documents | claude-sonnet-4-6 | Contexte de 1M |
Obtenir l'accès à l'API Claude
Inscrivez-vous sur APIMaster.ai pour obtenir un accès à l'API Claude via un point d'accès unifié, avec des prix en direct et des données de vérification d'empreinte.
Voir aussi : Tarifs de l'API Claude · Comment obtenir une clé API Claude
Questions fréquentes
Comment installer la bibliothèque Python de l'API Claude ?
Exécutez pip install anthropic pour le SDK officiel, ou pip install openai pour utiliser le point d'accès compatible OpenAI d'APIMaster avec les modèles Claude.
Quel SDK Python dois-je utiliser pour l'API Claude ?
Le SDK anthropic est le choix officiel et prend en charge toutes les fonctionnalités spécifiques à Claude (utilisation d'outils, vision, streaming). Le SDK openai fonctionne via la couche de compatibilité d'APIMaster — utile si vous utilisez déjà OpenAI et souhaitez changer de modèle.
Comment diffuser les réponses de l'API Claude en streaming en Python ?
Passez stream=True avec la bibliothèque openai, ou utilisez client.messages.stream() avec le SDK anthropic. Voir l'exemple de streaming ci-dessus.
L'API Claude prend-elle en charge l'appel de fonctions (utilisation d'outils) ?
Oui — Claude prend en charge l'utilisation d'outils à la fois dans le SDK Anthropic natif et via le point d'accès compatible OpenAI d'APIMaster en utilisant le paramètre standard tools.
Quelle est la fenêtre de contexte maximale pour Claude en Python ?
Claude Sonnet 4.6 et Opus 4.8 prennent en charge 1 million de jetons chacun. Vous pouvez passer des documents très longs directement dans le tableau messages.