# API de Claude Sonnet 4.6 Referencia completa de la API para los modelos modelos de lenguaje Claude Sonnet 4.6 impulsados por Anthropic. ## Variantes del modelo Esta API admite dos variantes del modelo Claude Sonnet 4.6: | Modelo | ID | Descripción | |-------|----|-------------| | **Claude Sonnet 4.6 Text to Text** | `claude-sonnet-4.6-text-to-text` | modelos de lenguaje de texto rápido, razonamiento y redacción | | **Claude Sonnet 4.6 File Analysis** | `claude-sonnet-4.6-file-analysis` | Análisis de archivos e imágenes con Claude Sonnet | ## Comparación rápida | Función | Text to Text | File Analysis | |---------|--------------|---------------| | Entrada de texto | Obligatorio ✅ | Opcional | | Entrada de imagen | No admitido ❌ | Opcional | | Entrada de archivo | No admitido ❌ | Opcional | | Respuesta en streaming | SSE | SSE | | `max_tokens` | Opcional | Opcional | | `top_p` | Opcional | Opcional | | `top_k` | Opcional | Opcional | ## Claude Sonnet 4.6 Text to Text ### Punto de conexión ```http POST /api/v1/chat/completions ``` ### Parámetros de solicitud #### Obligatorio | Parámetro | Tipo | Descripción | |-----------|------|-------------| | `model` | string | Debe ser `"claude-sonnet-4.6-text-to-text"` | | `messages` | array | Mensajes ordenados. Consulta modelos de lenguaje API para ver la estructura del mensaje. | | `stream` | boolean | `true` para SSE, `false` para una única respuesta JSON. | #### Compatibilidad de mensajes | Campo | Text | File | Image | |-------|------|------|-------| | `messages` | Obligatorio ✅ | No admitido ❌ | No admitido ❌ | #### Opcional | Parámetro | Tipo | Rango | Descripción | |-----------|------|-------|-------------| | `max_tokens` | integer | `1` - `64000` | Tokens máximos de salida. | | `top_p` | number | `0.0` - `1.0` | Limita la masa de probabilidad acumulada para los tokens candidatos. | | `top_k` | integer | `> 0` | Limita el número de tokens candidatos. | ### Solicitud de ejemplo ```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 File Analysis ### Punto de conexión ```http POST /api/v1/chat/completions ``` ### Parámetros de solicitud #### Obligatorio | Parámetro | Tipo | Descripción | |-----------|------|-------------| | `model` | string | Debe ser `"claude-sonnet-4.6-file-analysis"` | | `messages` | array | Mensajes ordenados. Consulta modelos de lenguaje API y modelos de lenguaje Attachments. | | `stream` | boolean | `true` para SSE, `false` para una única respuesta JSON. | #### Compatibilidad de mensajes | Campo | Text | File | Image | |-------|------|------|-------| | `messages` | Opcional | Opcional | Opcional | #### Opcional | Parámetro | Tipo | Rango | Descripción | |-----------|------|-------|-------------| | `max_tokens` | integer | `1` - `64000` | Tokens máximos de salida. | | `top_p` | number | `0.0` - `1.0` | Limita la masa de probabilidad acumulada para los tokens candidatos. | | `top_k` | integer | `> 0` | Limita el número de tokens candidatos. | ### Solicitud de ejemplo ```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 }) }); ``` ## Formato de respuesta Los modelos LLM Claude Sonnet 4.6 devuelven respuestas de completion compatibles con OpenAI. Con `stream: true`, la respuesta es Server-Sent Events; con `stream: false`, la respuesta es un único objeto JSON. ### Respuesta correcta ```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] ``` ### Respuesta de error ```text event: error data: {"error":{"message":"API requests too frequent, exceeding rate limit","type":"rate_limit_error","code":"1302","param":null}} ``` ## Buenas prácticas 1. **Usa mensajes estructurados:** Envía el historial de conversación mediante `messages[]` en lugar de aplanar el contexto en un único prompt. 2. **Elige la variante de modelo correcta:** Usa Text to Text para razonamiento y escritura solo de texto y File Analysis cuando se necesiten archivos o imágenes. 3. **Ajusta cuidadosamente los parámetros de Claude:** `top_p` y `top_k` son compatibles y pueden cambiar la diversidad de salida. 4. **Consume eventos SSE:** Añade `choices[0].delta.content` para la visualización en streaming y usa `data: [DONE]` como respuesta final. 5. **Envía solo entradas compatibles:** Los modelos de texto ignoran las partes de archivo e imagen no compatibles en el cliente actual.