Guías
Compatibilidad con OpenAI
Qué es idéntico, qué difiere y cómo migrar una integración existente de OpenAI.
Stac implementa la superficie de chat completions de OpenAI. La mayoría de las integraciones migran cambiando la URL base y la clave.
const client = new OpenAI({
- baseURL: "https://api.openai.com/v1",
- apiKey: process.env.OPENAI_API_KEY,
+ baseURL: "https://api.trystac.com/v1",
+ apiKey: process.env.STAC_API_KEY,
});¿Usando un cliente con formato de Anthropic en su lugar (Claude Code, el SDK
anthropic)? Consulta Compatibilidad con Anthropic — la
estructura de solicitud/respuesta difiere lo suficiente para merecer su
propia página.
Compatibilidad
| Característica | Estado |
|---|---|
POST /v1/chat/completions | Completo |
POST /v1/completions | Completo |
POST /v1/embeddings | Completo |
POST /v1/responses | Completo |
GET /v1/models | Completo |
| Streaming (SSE) | Completo |
temperature, top_p, max_tokens, stop | Completo |
| Llamadas a funciones / herramientas | Completo |
Modo JSON (response_format) | Completo |
| Entradas de visión | Depende del modelo — consulta capabilities en GET /v1/models |
| Asistentes, hilos, archivos | No compatible |
Diferencias importantes
modelsiempre se ignora. Tu stack tiene exactamente un modelo asignado; cualquier valor que envíes es reemplazado por él.GET /v1/modelsreporta el id real, principalmente para registro.nestá limitado a 1. Múltiples completaciones por solicitud multiplicarían el uso de capacidad sin un medidor por token para facturarla.max_tokenstiene un mínimo. Las solicitudes se ajustan a un mínimo de 8000 y un máximo de 16000. Consulta Chat completions.logit_biasse descarta, y los roles de mensaje fuera desystem,user,assistant,toolse eliminan en lugar de ser rechazados.- El límite de tasa es por clave, no por nivel. Consulta Errores y límites de tasa.
Los parámetros desconocidos se ignoran en lugar de ser rechazados, así que un SDK que envíe un campo que Stac no implementa sigue funcionando. Revisa la respuesta, no solo el código de estado, cuando una característica parezca no tener efecto.
Herramientas de CLI
Codex CLI
Codex lee tu clave desde la variable de entorno que env_key indica en su
configuración. Establece esa variable, luego apunta Codex a Stac en
~/.codex/config.toml:
export STAC_API_KEY="your-stac-api-key"
codexcurl "https://api.trystac.com/v1/chat/completions" \
-H "Authorization: Bearer $STAC_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"messages": [{ "role": "user", "content": "Hello" }]
}'model_provider = "stac"
model = "your-stack-model"
model_auto_compact_token_limit = 104000
[model_providers.stac]
name = "stac"
base_url = "https://api.trystac.com/v1"
env_key = "STAC_API_KEY"
wire_api = "responses"El archivo TOML es obligatorio en cualquier caso: es cómo Codex descubre
el proveedor stac. Bash establece la variable STAC_API_KEY a la que
apunta env_key; Curl es solo una forma rápida de confirmar que la clave
y la URL base funcionan antes de conectar Codex.
No establezcas model_context_window: un error conocido de Codex
(openai/codex#16068) hace que
esa clave rompa la compactación automática de forma permanente después del
primer desbordamiento. Usa solo model_auto_compact_token_limit.
Cursor, Cline, Continue y otras herramientas compatibles con OpenAI
Cualquier herramienta con una configuración de proveedor "compatible con OpenAI" funciona de la misma manera:
- URL base:
https://api.trystac.com/v1 - Clave API: tu clave API de Stac
- Modelo: cualquier valor — se ignora
Exportar estas variables como variables globales del shell redirige todas
las herramientas de la máquina hacia tu stack. Limita su alcance a un shell
de proyecto, un .envrc o el propio archivo de configuración de la
herramienta en su lugar.

