docs
API

Chat Completions

Markdown

Respuesta del modelo a una conversación en formato OpenAI. Es el formato más extendido: casi todos los clientes lo admiten.

Guía completa
POSThttps://api.ailoot.ai/v1/chat/completions
Chat Completions
curl https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5-5",
    "messages": [
      {"role": "user", "content": "Explica en dos frases qué es una API."}
    ]
  }' 
200 OK
{
  "id": "chatcmpl-8f2c…",
  "object": "chat.completion",
  "created": 1790812800,
  "model": "claude-sonnet-5-5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Una API es un acuerdo sobre cómo un programa le pide a otro que haga algo…"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 21,
    "completion_tokens": 48,
    "total_tokens": 69
  }
}

Autenticación

  • Authorizationheaderobligatorio

    Clave en formato Bearer sk-…. También se admiten las cabeceras x-api-key o x-goog-api-key.

Cuerpo de la solicitud

  • modelstringobligatorio

    ID de modelo del catálogo, por ejemplo, claude-sonnet-5-5. El modelo debe admitir el formato OpenAI Chat.

  • messagesarrayobligatorio

    Historial de conversación: objetos con role (system, developer, user, assistant, tool) y content como cadena o array de partes (texto, image_url).

  • streambooleanopcional

    Respuesta en formato Server-Sent Events. El valor predeterminado es false. El texto de pago llega en un único bloque después de calcular el coste, no palabra a palabra.

  • stream_optionsobjectopcional

    {"include_usage": true} : enviar el valor final de usage como último evento del flujo.

  • max_tokensintegeropcional

    Número máximo de tokens de respuesta. El nuevo nombre es max_completion_tokens. Si no se indica el límite, Ailoot establece 4096 (o menos, si el máximo de respuesta del modelo es inferior; Grok tiene su propio límite). Para respuestas largas, indica el límite expresamente; de lo contrario, la respuesta se detendrá en 4096 tokens con finish_reason: "length". El límite forma parte de la reserva: cuanto mayor sea, más saldo disponible se necesita.

  • temperaturenumberopcional

    Aleatoriedad de la respuesta, normalmente de 0 a 2. Los modelos de razonamiento pueden ignorarla.

  • top_pnumberopcional

    Alternativa a temperature: proporción de la masa de probabilidad para seleccionar tokens.

  • stopstring | arrayopcional

    Cadenas que detienen la generación.

  • toolsarrayopcional

    Definiciones de funciones que puede llamar el modelo. El formato es el de OpenAI: {"type": "function", "function": {...}}.

  • tool_choicestring | objectopcional

    auto, none, required o una función concreta.

  • response_formatobjectopcional

    {"type": "json_object"} o {"type": "json_schema", ...} para obtener una respuesta estructurada, si el modelo lo admite.

  • reasoning_effortstringopcional

    Intensidad de razonamiento en los modelos que razonan: low, medium, high.

Los demás parámetros de OpenAI se transmiten sin cambios; el desarrollador del modelo determina si ese modelo los admite.

Respuesta

  • choices[].messageobject

    Respuesta del modelo: content; si llama a herramientas, tool_calls.

  • choices[].finish_reasonstring

    stop : la respuesta ha terminado; length : se ha alcanzado max_tokens (la respuesta sigue siendo completa y se factura por el uso real); tool_calls : el modelo llama a una herramienta.

  • usageobject

    prompt_tokens, completion_tokens, total_tokens : se utilizan para calcular el cargo.

¿Tienes alguna pregunta? Envíanos el Request ID y una descripción; te ayudaremos a resolverla.Contactar con soporte