# Claude Sonnet 4.6 API Référence API complète pour les modèles LLM Claude Sonnet 4.6 fournis par Anthropic. ## Variantes de modèle Cette API prend en charge deux variantes de modèle Claude Sonnet 4.6 : | Modèle | ID | Description | |-------|----|-------------| | **Claude Sonnet 4.6 Text to Text** | `claude-sonnet-4.6-text-to-text` | LLM texte, raisonnement et rédaction rapides | | **Claude Sonnet 4.6 File Analysis** | `claude-sonnet-4.6-file-analysis` | Analyse de fichiers et d’images avec Claude Sonnet | ## Comparaison rapide | Fonctionnalité | Text to Text | File Analysis | |---------|--------------|---------------| | Entrée texte | Obligatoire ✅ | Facultatif | | Entrée image | Non pris en charge ❌ | Facultatif | | Entrée fichier | Non pris en charge ❌ | Facultatif | | Réponse en streaming | SSE | SSE | | `max_tokens` | Facultatif | Facultatif | | `top_p` | Facultatif | Facultatif | | `top_k` | Facultatif | Facultatif | ## Claude Sonnet 4.6 Text to Text ### Point de terminaison ```http POST /api/v1/chat/completions ``` ### Paramètres de requête #### Obligatoire | Paramètre | Type | Description | |-----------|------|-------------| | `model` | string | Doit être `"claude-sonnet-4.6-text-to-text"` | | `messages` | array | Messages ordonnés. Voir API LLM pour la structure des messages. | | `stream` | boolean | `true` pour SSE, `false` pour une réponse JSON unique. | #### Prise en charge des messages | Champ | Texte | Fichier | Image | |-------|------|------|-------| | `messages` | Obligatoire ✅ | Non pris en charge ❌ | Non pris en charge ❌ | #### Facultatif | Paramètre | Type | Plage | Description | |-----------|------|-------|-------------| | `max_tokens` | integer | `1` - `64000` | Nombre maximal de tokens de sortie. | | `top_p` | number | `0.0` - `1.0` | Limite la masse de probabilité cumulée des tokens candidats. | | `top_k` | integer | `> 0` | Limite le nombre de tokens candidats. | ### Exemple de requête ```javascript 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-4.6-text-to-text', messages: [ { role: 'user', content: 'Write a concise product update for a developer audience.' } ], stream: true, max_tokens: 2048, top_p: 0.5, top_k: 50 }) }); ``` ## Claude Sonnet 4.6 Analyse de fichiers ### Point de terminaison ```http POST /api/v1/chat/completions ``` ### Paramètres de requête #### Obligatoire | Paramètre | Type | Description | |-----------|------|-------------| | `model` | string | Doit être `"claude-sonnet-4.6-file-analysis"` | | `messages` | array | Messages ordonnés. Voir API LLM et pièces jointes de message. | | `stream` | boolean | `true` pour SSE, `false` pour une réponse JSON unique. | #### Prise en charge des messages | Champ | Texte | Fichier | Image | |-------|------|------|-------| | `messages` | Facultatif | Facultatif | Facultatif | #### Facultatif | Paramètre | Type | Plage | Description | |-----------|------|-------|-------------| | `max_tokens` | integer | `1` - `64000` | Nombre maximal de tokens de sortie. | | `top_p` | number | `0.0` - `1.0` | Limite la masse de probabilité cumulée des tokens candidats. | | `top_k` | integer | `> 0` | Limite le nombre de tokens candidats. | ### Exemple de requête ```javascript 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-4.6-file-analysis', messages: [ { role: 'user', content: [ { type: 'text', text: 'Summarize this file and extract the key risks.' }, { type: 'file', file: { filename: 'demo.pdf', file_data: 'https://example.com/demo.pdf' } } ] } ], stream: true, max_tokens: 4096, top_p: 0.5, top_k: 50 }) }); ``` ## Format de réponse Les modèles LLM Claude Sonnet 4.6 renvoient des réponses de completion compatibles OpenAI. Avec `stream: true`, la réponse est Server-Sent Events ; avec `stream: false`, la réponse est un objet JSON unique. ### Réponse réussie ```text data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"claude-sonnet-4.6-file-analysis","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]} data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"claude-sonnet-4.6-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-4.6-file-analysis","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]} data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"claude-sonnet-4.6-file-analysis","choices":[],"usage":{"prompt_tokens":12,"completion_tokens":8,"total_tokens":20}} data: [DONE] ``` ### Réponse d’erreur ```text event: error data: {"error":{"message":"API requests too frequent, exceeding rate limit","type":"rate_limit_error","code":"1302","param":null}} ``` ## Bonnes pratiques 1. **Utilisez des messages structurés :** envoyez l’historique de conversation via `messages[]` au lieu d’aplatir le contexte dans un seul prompt. 2. **Choisissez la bonne variante de modèle :** utilisez Text to Text pour le raisonnement et écriture texte uniquement, et File Analysis lorsque des fichiers ou des images sont nécessaires. 3. **Ajustez soigneusement les paramètres Claude :** `top_p` et `top_k` sont pris en charge et peuvent modifier la diversité de sortie. 4. **Consommez les événements SSE :** ajoutez `choices[0].delta.content` pour l’affichage en streaming et utilisez `data: [DONE]` comme réponse finale. 5. **Envoyez uniquement les entrées prises en charge :** les modèles texte ignorent les parties fichier et image non prises en charge dans le client actuel.