Base URL e Autenticazione
La nostra API segue l'interfaccia standard OpenAI chat-completions. Per integrarla, aggiorna la configurazione del client con il nostro base URL specifico e una chiave codex api valida. Generi questa chiave durante la registrazione nella dashboard. L'endpoint accetta sia richieste standard che streaming, rendendolo un'alternativa pronto all'uso per la maggior parte degli agenti di coding che si aspettano una struttura compatibile con OpenAI.
L'autenticazione si basa sull'intestazione Authorization. Inserisci la tua chiave come token Bearer. Se usi un proxy o un framework di agenti personalizzato, assicurati che rispetti le intestazioni HTTP standard. Il servizio è indipendente; non instrada il traffico attraverso altri vendor o aggrega modelli. Ti connetti direttamente al nostro LLM senza censura.
Invia una Chat Completion
Inizia testando una semplice richiesta di testo. Questo conferma che la tua autenticazione e il base URL sono corretti. L'endpoint accetta un elenco di messaggi con ruoli come user o assistant. L'ID del modello è sempre uncensored. Questa richiesta restituisce una risposta di completamento standard. Usala per verificare che il tuo agente possa analizzare la struttura JSON prima di passare a prompt complessi.
Assicurati che il payload rimanga entro il limite di corpo di 8 MB. Sono supportate finestre di contesto ampie, ma il conteggio totale dei token (input più output) deve rimanere inferiore a 100.000 token. Se superi questi limiti, il server restituisce un errore. Inizia con un piccolo test per confermare la connettività.
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."}]
}'
Abilita lo Streaming (SSE)
Per gli agenti di coding che necessitano di generazione di token in tempo reale, abilita lo streaming. Imposta il parametro stream su true nel corpo della richiesta. Il server restituisce una sequenza di Server-Sent Events (SSE) invece di un singolo oggetto JSON. Ogni evento contiene un frammento parziale della risposta. Questo riduce la latenza percepita per i tuoi utenti e consente al tuo agente di elaborare i token man mano che arrivano.
Lo streaming non cambia il prezzo o il conteggio dei token. Paghi ancora per i token totali di input e output. Gestisci lo stream SSE nel codice del client per accumulare la risposta finale o elaborarla in modo incrementale. Questo è ideale per la generazione di codice dove i risultati intermedi sono utili.
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)
Usa il Tool Calling
Il nostro modello supporta la chiamata di funzioni, consentendo al tuo agente di eseguire strumenti esterni. Definisci le tue funzioni nel parametro tools. Il modello restituirà una risposta con una chiamata di strumento invece di testo normale se determina che è necessaria una funzione. Il tuo agente deve analizzare questa risposta ed eseguire lo strumento, quindi inviare di nuovo il risultato nella conversazione.
Questa capacità è essenziale per gli agenti di coding che devono eseguire codice, interrogare database o recuperare dati live. Lo schema degli strumenti segue il formato standard OpenAI. Assicurati che il tuo agente gestisca correttamente il round-trip tra il modello e la logica di esecuzione degli strumenti. Questo mantiene la finestra di contesto in modo efficiente sostituendo il testo grezzo con risultati degli strumenti strutturati.
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)
Verifica i Modelli Disponibili
Usa l'endpoint GET /v1/models per verificare i modelli disponibili. Questo endpoint restituisce un elenco di oggetti modello, inclusi i loro ID e date di creazione. La nostra API serve un singolo modello: uncensored. A differenza dei proxy relay che aggregano più vendor, forniamo un endpoint dedicato per un singolo LLM ottimizzato. Questo garantisce un comportamento coerente e prestazioni prevedibili per le tue attività di coding.
Interroga questo endpoint per confermare che il client è connesso al servizio corretto. Restituisce campi di metadati standard. Non devi gestire la selezione del modello manualmente. Il client richiede semplicemente l'ID del modello uncensored in tutte le chat completions. Questo semplifica l'integrazione ed evita errori di instradamento.
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);
Limiti di Richiesta e Vincoli
Monitora il tuo utilizzo per evitare interruzioni. L'API applica un limite di 300 richieste al minuto per chiave. Se lo superi, ricevi un errore 429 Too Many Requests. La dimensione del corpo della richiesta è limitata a 8 MB. Questi vincoli garantiscono prestazioni stabili per gli agenti ad alta capacità. Regola la frequenza delle richieste del client se stai elaborando grandi batch.
Gli errori di autenticazione restituiscono un codice di stato 401 se la chiave non è valida. Credito insufficiente comporta un codice di stato 402. Assicurati che il tuo saldo prepagato sia positivo prima di inviare richieste. I crediti non scadono, quindi puoi ricaricare quando preferisci. La chiave codex api può essere rigenerata in qualsiasi momento, revocando istantaneamente quella vecchia. Tieni la chiave al sicuro.