> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Inicio rápido de API compatible con OpenAI: envía solicitudes de Chat Completions con CometAPI

> Usa CometAPI como una base URL compatible con la API de OpenAI para solicitudes de Chat Completions con curl, Python, Node.js y los SDK de OpenAI.

Esta página es un inicio rápido de la API compatible con OpenAI de CometAPI. Te ayuda a reutilizar la forma de solicitud de Chat Completions, los SDK de OpenAI y una base URL de CometAPI. No es una guía de configuración de cuenta de OpenAI ni una página de modelos solo de OpenAI.

## Qué vas a crear

Enviarás una solicitud de texto a la ruta OpenAI-compatible `POST /v1/chat/completions` de CometAPI, imprimirás el mensaje del asistente y mantendrás la forma de la solicitud lista para aplicaciones que ya usan los SDK de OpenAI.

## Cuándo usar esta página

Usa este inicio rápido cuando uno de estos casos coincida con tu proyecto:

* Ya usas los SDK de OpenAI o las formas de solicitud de Chat Completions.
* Quieres cambiar la base URL a CometAPI.
* Quieres llamar a un model ID de CometAPI a través de una ruta compatible con la API de OpenAI.

## Requisitos previos

* Una clave de API de CometAPI almacenada en `COMETAPI_KEY`
* Un model ID de texto de la [página de modelos](/es/overview/models)
* `curl`, Python 3.10+ o Node.js 18+

## Clave de API, base URL, autenticación

Usa la base URL de CometAPI con clientes compatibles con OpenAI:

```text theme={null}
https://api.cometapi.com/v1
```

Autentica las solicitudes HTTP directas con un token Bearer:

```text theme={null}
Authorization: Bearer $COMETAPI_KEY
```

## Ejemplos de código

Usa las pestañas de abajo para enviar la misma solicitud de Chat Completions con cURL, Python y Node.js.

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.cometapi.com/v1/chat/completions \
    -H "Authorization: Bearer $COMETAPI_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "your-model-id",
      "messages": [
        {
          "role": "user",
          "content": "Write one sentence about CometAPI."
        }
      ]
    }'
  ```

  ```python Python theme={null}
  import os
  from openai import OpenAI

  client = OpenAI(
      api_key=os.environ["COMETAPI_KEY"],
      base_url="https://api.cometapi.com/v1",
  )

  completion = client.chat.completions.create(
      model="your-model-id",
      messages=[
          {
              "role": "user",
              "content": "Write one sentence about CometAPI.",
          }
      ],
  )

  print(completion.choices[0].message.content)
  ```

  ```javascript Node.js theme={null}
  import OpenAI from "openai";

  const client = new OpenAI({
    apiKey: process.env.COMETAPI_KEY,
    baseURL: "https://api.cometapi.com/v1",
  });

  const completion = await client.chat.completions.create({
    model: "your-model-id",
    messages: [
      {
        role: "user",
        content: "Write one sentence about CometAPI.",
      },
    ],
  });

  console.log(completion.choices[0].message.content);
  ```
</CodeGroup>

## Explicación del flujo

OpenAI-compatible significa que tu aplicación conserva el endpoint de Chat Completions, el cuerpo de la solicitud y los nombres de métodos del SDK mientras cambia la base URL y el model ID por valores de CometAPI.

La ruta es síncrona de forma predeterminada. La API devuelve el objeto de respuesta completado en una única respuesta HTTP, y tu aplicación lee `choices[0].message.content`.

Para salida incremental, establece `stream` en `true`. La respuesta se convierte en Server-Sent Events y termina con `data: [DONE]`. Usa streaming para interfaces de chat y respuestas largas. Mantén la forma síncrona para trabajos en segundo plano y pruebas simples.

## Parámetros comunes

| Parameter               | Use                                                                                           |
| ----------------------- | --------------------------------------------------------------------------------------------- |
| `model`                 | El model ID de CometAPI para un modelo con capacidad de texto.                                |
| `messages`              | El array de conversación. Empieza con un mensaje `user` para una solicitud mínima.            |
| `temperature`           | Controla la aleatoriedad. Los valores más bajos hacen que la salida sea más determinista.     |
| `max_completion_tokens` | Limita la salida generada para familias de modelos que usan presupuestos de completion-token. |
| `stream`                | Transmite fragmentos de respuesta incrementales cuando se establece en `true`.                |
| `response_format`       | Solicita salida JSON cuando el modelo seleccionado lo admite.                                 |

## Solución de problemas y preguntas frecuentes

<AccordionGroup>
  <Accordion title="¿Es esta la API de OpenAI?">
    No. Esta es la ruta de API compatible con OpenAI de CometAPI. Usas una clave de API de CometAPI, la URL base de CometAPI y un model ID de CometAPI.
  </Accordion>

  <Accordion title="La solicitud devuelve 401">
    Confirma que `COMETAPI_KEY` esté configurada en el mismo shell o entorno de ejecución que envía la solicitud. No pegues una clave real en archivos fuente.
  </Accordion>

  <Accordion title="No se encuentra el modelo">
    Usa un model ID de CometAPI que admita solicitudes de texto o chat. Revisa la página de modelos antes de volver a intentarlo.
  </Accordion>

  <Accordion title="El SDK sigue llamando a OpenAI">
    Confirma que el cliente establece `base_url` en Python o `baseURL` en Node.js en `https://api.cometapi.com/v1`.
  </Accordion>
</AccordionGroup>

## Próximos pasos

* Lee la [referencia de la API de Chat Completions](/api/text/chat).
* Configura clientes SDK en [Usar CometAPI con SDKs de OpenAI](/es/guides/use-cometapi-with-openai-sdk).
* Enumera los modelos disponibles con [Listar los modelos disponibles de CometAPI](/es/guides/how-to-list-available-models).
* Agrega manejo de reintentos y límites de tasa con [Códigos de error y estrategia de reintento](/es/guides/error-codes-and-retry-strategy).
