Claude Sonnet 5.5 API
Référence API complète des modèles LLM Claude Sonnet 5.5 d’Anthropic.
Variantes du modèle
Cette API prend en charge deux variantes de Claude Sonnet 5.5 :
Comparatif rapide
Claude Sonnet 5.5 Text to Text
Point de terminaison
POST /api/v1/chat/completions
Paramètres de la requête
Obligatoires
Types de messages pris en charge
Facultatifs
Exemple de requête
const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'text/event-stream',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'claude-sonnet-5.5-text-to-text',
messages: [
{
role: 'user',
content: 'Write a four-line modern poem about a programmer drinking coffee.'
}
],
stream: true,
max_tokens: 500,
})
});
Claude Sonnet 5.5 File Analysis
Point de terminaison
POST /api/v1/chat/completions
Paramètres de la requête
Obligatoires
Types de messages pris en charge
Facultatifs
Exemple de requête
const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'text/event-stream',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'claude-sonnet-5.5-file-analysis',
messages: [
{
role: 'user',
content: [
{ type: 'text', text: 'Summarize the key points of this PDF.' },
{
type: 'file',
file: {
filename: 'gptproto.pdf',
file_data: 'https://tos.gptproto.com/resource/gptproto.pdf'
}
}
]
}
],
stream: true,
max_tokens: 1000,
})
});
Les modèles LLM Claude Sonnet 5.5 renvoient des réponses de complétion compatibles avec OpenAI. Avec stream: true, la réponse utilise les événements envoyés par le serveur (SSE) ; avec stream: false, elle est constituée d’un objet JSON unique.
Réponse réussie
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"claude-sonnet-5.5-file-analysis","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"claude-sonnet-5.5-file-analysis","choices":[{"index":0,"delta":{"content":"Here is a concise summary"},"finish_reason":null}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"claude-sonnet-5.5-file-analysis","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"claude-sonnet-5.5-file-analysis","choices":[],"usage":{"prompt_tokens":12,"completion_tokens":8,"total_tokens":20}}
data: [DONE]
Réponse d’erreur
event: error
data: {"error":{"message":"Authorization is empty","type":"invalid_request_error","code":"1001","param":null}}
Bonnes pratiques
- Utilisez des messages structurés : Transmettez l’historique de conversation via
messages[] au lieu de regrouper le contexte dans un seul prompt.
- Choisissez la bonne variante du modèle : Utilisez Text to Text pour le raisonnement et la rédaction uniquement textuels, et File Analysis lorsque des fichiers ou des images sont nécessaires.
- Définissez
max_tokens selon vos besoins : Utilisez ce paramètre pour contrôler la longueur maximale de sortie.
- Traitez les événements SSE : Ajoutez le contenu de
choices[0].delta.content pour l’affichage en streaming et considérez data: [DONE] comme une fin réussie.
- Envoyez uniquement des entrées prises en charge : Dans le client actuel, les modèles textuels ignorent les parties fichier et image non prises en charge.