Start rapid
Obții o cheie, trimiți prima cerere către ai.codai.ro, alegi un wire format.
Gateway-ul codai rulează la https://ai.codai.ro. Vorbește trei wire formats — OpenAI Chat Completions, Anthropic Messages și OpenAI Responses API — și un singur nume de model, codai. Orice SDK folosești deja funcționează; gateway-ul traduce în spate.
Obții o cheie API
Te autentifici pe hub.codai.ro și deschizi Keys → Create key. Cheile arată ca codai_xxxxxxxx și se afișează o singură dată — păstrează-o într-o variabilă de mediu:
$env:CODAI_API_KEY = 'codai_xxxxxxxx'Trimiți prima cerere
curl https://ai.codai.ro/v1/chat/completions \
-H "Authorization: Bearer $CODAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "codai",
"messages": [
{ "role": "user", "content": "Scrie o funcție Python pe o linie care returnează al n-lea număr Fibonacci." }
]
}'Un răspuns reușit este un chat completion standard:
{
"id": "chatcmpl-…",
"object": "chat.completion",
"model": "codai",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "def fib(n): return n if n < 2 else fib(n - 1) + fib(n - 2)" },
"finish_reason": "stop"
}
],
"usage": { "prompt_tokens": 27, "completion_tokens": 21, "total_tokens": 48 }
}Citești header-ele de răspuns
Fiecare răspuns îți spune ce s-a întâmplat de fapt. Cele două pe care le vei folosi cel mai des:
| Header | Semnificație |
|---|---|
x-codai-routed-to | Modelul upstream care a servit cererea. |
x-codai-cost-micro-usd | Costul acestei cereri în micro-USD, număr întreg (când e cunoscut înaintea primului byte — vezi limite și prețuri). |
Lista completă este pe pagina header-e de cerere.
Folosești deja un SDK?
Îl îndrepți către gateway și păstrezi codul.
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.CODAI_API_KEY,
baseURL: 'https://ai.codai.ro/v1',
});
const res = await client.chat.completions.create({
model: 'codai',
messages: [{ role: 'user', content: 'Salut!' }],
});
console.log(res.choices[0].message.content);Base URL-ul OpenAI include /v1; base URL-ul Anthropic este doar host-ul. Dacă le inversezi primești un 404 not_found care seamănă cu o eroare de autentificare.
Pașii următori
Modele
La ce se rezolvă `codai`, celelalte alias-uri, effort și thinking.
Wire formats
Chat Completions, Messages și Responses — forma cererii și a răspunsului.
Streaming
Formele SSE per format și unde ajunge usage.
Clienți
VS Code, Copilot CLI, Cursor, Continue, MCP.
SDK-uri
Clienții oficiali TypeScript și Python.
Limite și prețuri
Rate limits, plafoane de cheltuieli și contractul de erori.