codai docs
Gateway

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:

HeaderSemnificație
x-codai-routed-toModelul upstream care a servit cererea.
x-codai-cost-micro-usdCostul 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.

Ca să le vezi, adaugi -i la cererea curl de mai sus:

HTTP/2 200
x-codai-routed-to: claude-sonnet-5-5
x-codai-upstream: claude-sonnet-5-5
x-codai-cost-micro-usd: 1840

1840 micro-USD înseamnă 0,00184 $. Pe stream-urile native costul nu se știe când pleacă header-ele, așa că primești x-codai-cost-estimate: pending, iar cifra exactă vine ulterior din GET /v1/receipt.

codai sau un model fixat?

Ce face `codai` astăzi

model: "codai" este în prezent un lanț de modele Claude actuale ale Anthropic, cu failover automat între deployment-uri: când un deployment nu e disponibil, răspunde următorul din lanț. Nu trece singur la alți furnizori. Fixezi un nume când vrei același model de fiecare dată: un alias de workload precum codai-fast sau codai-max, ori un nume upstream direct, pe planurile care îl permit. În ambele cazuri x-codai-routed-to îți spune ce model a răspuns. Modelul propriu codai este în beta opt-in ca codai-1-beta (îl ceri după nume; nu este listat). Detalii în modele.

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

Ultima actualizare:

Pe această pagină