URL base y autenticación
Nuestra API sigue la interfaz estándar de chat-completions de OpenAI. Para integrar, actualiza la configuración de tu cliente con nuestra URL base específica y una clave codex api válida. Generas esta clave durante el registro en el panel de control. El endpoint acepta tanto peticiones estándar como streaming, lo que lo convierte en un reemplazo listo para usar para la mayoría de agentes de programación que esperan una estructura compatible con OpenAI.
La autenticación depende del encabezado Authorization. Incluye tu clave como token Bearer. Si usas un proxy o un framework de agente personalizado, asegúrate de que respete los encabezados HTTP estándar. El servicio es independiente; no enruta a través de otros proveedores ni agrega modelos. Te conectas directamente a nuestro LLM sin censura.
Enviar un chat completion
Empieza probando una petición de texto simple. Esto confirma que tu autenticación y URL base son correctas. El endpoint acepta una lista de mensajes con roles como user o assistant. El ID del modelo es siempre uncensored. Esta petición devuelve una respuesta de finalización estándar. Úsala para verificar que tu agente puede analizar la estructura JSON antes de pasar a prompts complejos.
Asegúrate de que la carga útil no supere el límite de cuerpo de 8 MB. Se admiten ventanas de contexto grandes, pero el recuento total de tokens (entrada más salida) debe permanecer por debajo de 100.000 tokens. Si excedes estos límites, el servidor devuelve un error. Empieza con una prueba pequeña para confirmar la conectividad.
curl https://api.getcodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
Habilitar streaming (SSE)
Para agentes de programación que necesitan generación de tokens en tiempo real, habilita el streaming. Establece el parámetro stream en true en el cuerpo de tu petición. El servidor devuelve una secuencia de Eventos Enviados por el Servidor (SSE) en lugar de un único objeto JSON. Cada evento contiene un fragmento parcial de la respuesta. Esto reduce la latencia percibida para tus usuarios y permite que tu agente procese los tokens a medida que llegan.
El streaming no cambia la facturación ni el recuento de tokens. Sigues pagando por los tokens totales de entrada y salida. Maneja el flujo SSE en tu código de cliente para acumular la respuesta final o procesarla de forma incremental. Esto es ideal para la generación de código donde los resultados intermedios son útiles.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Usar llamadas a funciones
Nuestro modelo admite llamadas a funciones, lo que permite que tu agente ejecute herramientas externas. Define tus funciones en el parámetro tools. El modelo devolverá una respuesta con una llamada a función en lugar de texto plano si determina que se necesita una función. Tu agente debe analizar esta respuesta y ejecutar la herramienta, luego alimentar el resultado de nuevo en la conversación.
Esta capacidad es esencial para agentes de programación que necesitan ejecutar código, consultar bases de datos o obtener datos en vivo. El esquema de la herramienta sigue el formato estándar de OpenAI. Asegúrate de que tu agente maneje correctamente el ciclo de ida y vuelta entre el modelo y tu lógica de ejecución de herramientas. Esto mantiene la ventana de contexto de manera eficiente al reemplazar texto sin formato con resultados de herramientas estructurados.
from openai import OpenAI
client = OpenAI(base_url="https://api.getcodexapi.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Ver modelos disponibles
Usa el endpoint GET /v1/models para verificar los modelos disponibles. Este endpoint devuelve una lista de objetos de modelo, incluidos sus IDs y fechas de creación. Nuestra API sirve un único modelo: uncensored. A diferencia de los reenviadores proxy que agregan múltiples proveedores, proporcionamos un endpoint dedicado para un LLM optimizado. Esto garantiza un comportamiento consistente y un rendimiento predecible para tus tareas de programación.
Consulta este endpoint para confirmar que tu cliente está conectado al servicio correcto. Devuelve campos de metadatos estándar. No necesitas gestionar la selección de modelos manualmente. El cliente simplemente solicita el ID del modelo uncensored en todas las completaciones de chat. Esto simplifica la integración y evita errores de enrutamiento.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.getcodexapi.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Límites de peticiones y restricciones
Monitorea tu uso para evitar interrupciones. La API aplica un límite de 300 peticiones por minuto por clave. Si lo excedes, recibes un error 429 Too Many Requests. El tamaño del cuerpo de la petición está limitado a 8 MB. Estas restricciones garantizan un rendimiento estable para agentes de alto rendimiento. Ajusta la frecuencia de peticiones de tu cliente si estás procesando lotes grandes.
Los errores de autenticación devuelven un estado 401 si la clave no es válida. Créditos insuficientes resultan en un estado 402. Asegúrate de que tu saldo prepago sea positivo antes de enviar peticiones. Los créditos no caducan, así que puedes recargar cuando te convenga. La clave codex api se puede regenerar en cualquier momento, revocando la antigua al instante. Mantén tu clave segura.