Source: https://aiprimetech.io/es/docs/api-reference/chat-completions/ [Inicio](/es/) / [Documentación](/es/docs/) / API de completado de chat # API de completado de chat POST /v1/chat/completions: el endpoint con formato de OpenAI, para Cursor, LangChain, LiteLLM y los SDK de OpenAI. Copiar página [ Ver como Markdown](/es/docs/api-reference/chat-completions.md) [ Preguntar a ChatGPT](https://chatgpt.com/?q=Read%20https%3A//aiprimetech.io/docs/api-reference/chat-completions.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) [ Preguntar en Claude](https://claude.ai/new?q=Read%20https%3A//aiprimetech.io/docs/api-reference/chat-completions.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) La interfaz compatible con OpenAI. Los mismos modelos, los mismos precios, una estructura diferente. EndpointPOST https://aiprimetech.io/v1/chat/completions URL base para los SDKhttps://aiprimetech.io/v1 : ten en cuenta el /v1 AutenticaciónAuthorization: Bearer sk-... ## Cuerpo de la solicitud | Campo | Tipo | Obligatorio | Descripción | model | cadena | sí | Cualquier identificador de /v1/models, incluidos los identificadores de Claude | messages | matriz | sí | Admite los roles system, user y assistant | max_tokens | entero | no | Opcional aquí, a diferencia de Messages API | temperature | número | no | 0–2 según la convención de OpenAI | stream | booleano | no | true para fragmentos SSE | tools | matriz | no | Estructura de llamadas a funciones de OpenAI A diferencia de Messages, system es un rol aquí: colócalo como la primera entrada de messages. No envíes un campo de nivel superior system a este endpoint. ## Ejemplo ``` Copycurl https://aiprimetech.io/v1/chat/completions \ -H "Authorization: Bearer $CLAUDEAPIKEY" \ -H "content-type: application/json" \ -d '{ "model": "claude-sonnet-4-6", "messages": [{"role": "user", "content": "Hello"}] }' ``` ## Respuesta ``` Copy{ "id": "chatcmpl-...", "object": "chat.completion", "model": "claude-sonnet-4-6", "choices": [{ "index": 0, "message": {"role": "assistant", "content": "..."}, "finish_reason": "stop" }], "usage": {"prompt_tokens": 9, "completion_tokens": 12, "total_tokens": 21} } ``` ## Uso del SDK de OpenAI ``` Copyfrom openai import OpenAI client = OpenAI( api_key=class="s">"sk-your-key", base_url=class="s">"https://aiprimetech.io/v1", class=class="s">"c"># the /v1 matters ) resp = client.chat.completions.create( model=class="s">"claude-sonnet-4-6", messages=[{class="s">"role": class="s">"user", class="s">"content": class="s">"Hello"}], ) print(resp.choices[0].message.content) ``` ## Correspondencia de campos entre ambos formatos | Concepto | Messages | Chat Completions | Prompt del sistema | de nivel superior system | messages[0] con el rol system | Texto de la respuesta | content[0].text | choices[0].message.content | Motivo de finalización | stop_reason | finish_reason | Tokens de entrada | usage.input_tokens | usage.prompt_tokens | Tokens de salida | usage.output_tokens | usage.completion_tokens | Delta del streaming | content_block_delta | choices[0].delta.content [CursorConfigurar Cursor para usar este endpoint](/es/docs/guides/cursor/)[Migración desde OpenAIMigrar una base de código existente](/es/docs/guides/migration-from-openai/)[Transmisión en tiempo realSSE para ambos formatos](/es/docs/api-reference/streaming/) [AnteriorAPI de mensajes](/es/docs/api-reference/messages/)[SiguienteEndpoint de modelos](/es/docs/api-reference/models-endpoint/)