# Resumen (/es/docs/api)

Base URL, autenticación, errores y todos los endpoints de la API de cheapaimodel.



La API de cheapaimodel admite dos formatos en un solo host: endpoints compatibles con OpenAI y el endpoint Messages de Anthropic. Ambos usan las mismas claves de API y el mismo saldo.

## Base URL [#base-url]

```text
https://api.cheapaimodel.ai
```

Los clientes estilo OpenAI usan `https://api.cheapaimodel.ai/v1`; los clientes estilo Anthropic usan el host sin ruta. Consulta [Base URL](/es/docs/api/base-url) para ver el valor que espera cada SDK y herramienta.

## Autenticación [#authentication]

Envía tu clave de API como bearer token. `/v1/messages` también acepta el encabezado `x-api-key` al estilo de Anthropic.

```bash
curl https://api.cheapaimodel.ai/v1/models \
  -H "Authorization: Bearer $CHEAPAIMODEL_API_KEY"
```

Crea tus claves en la página [Claves de API](https://console.cheapaimodel.ai/keys) de la consola. Para el vencimiento, los presupuestos y las listas de permitidos, consulta [Autenticación y claves de API](/es/docs/concepts/authentication).

## Endpoints [#endpoints]

| Método | Ruta                   |                                                                  |
| ------ | ---------------------- | ---------------------------------------------------------------- |
| `GET`  | `/v1/models`           | [Listar modelos](/es/docs/api/list-models)                       |
| `POST` | `/v1/chat/completions` | [Crear una chat completion](/es/docs/api/create-chat-completion) |
| `POST` | `/v1/responses`        | [Crear una respuesta](/es/docs/api/create-response)              |
| `POST` | `/v1/messages`         | [Crear un mensaje](/es/docs/api/create-message)                  |
| `POST` | `/v1/embeddings`       | [Crear embeddings](/es/docs/api/create-embedding)                |

Configura `"stream": true` en los endpoints de generación para recibir server-sent events; consulta [Streaming](/es/docs/concepts/streaming).

## Errores [#errors]

Los errores devuelven un estado distinto de 2xx y un cuerpo JSON con `error.message`. Basa tu lógica en el código de estado y en `error.code`; consulta [Errores](/es/docs/concepts/errors) para ver la tabla completa.

## OpenAPI [#openapi]

El contrato legible por máquinas de estos endpoints está en [`/docs/openapi.yaml`](/docs/openapi.yaml). Pásaselo a un generador de SDK o a un asistente de IA.
