codai docs
Gateway

Modele

La ce se rezolvă `codai`, celelalte alias-uri pe care le poți adresa și cum funcționează effort și thinking.

Adresezi gateway-ul prin alias, nu prin numele vendorului upstream. Un alias este o identitate stabilă pe care gateway-ul o rezolvă la un model concret în momentul cererii, așa că codul tău nu se schimbă niciodată când se schimbă upstream-ul.

codai — singurul nume de reținut

model: "codai" este identitatea principală. Astăzi servește Claude Opus 5.5, cu Claude Fable 5.1 ca lane de escaladare/failover (apoi Opus 5). Face failover între deployment-uri aprobate și, doar când toate lane-urile Opus 5.5 sunt căzute, lateral către Fable — x-codai-routed-to îți spune care model a răspuns la fiecare cerere. Fixează codai-max (sau codai-fable) când vrei Fable 5.1 primul.

codai este și alias-ul cu cea mai multă protecție încorporată:

  • Prompt caching este mereu pornit. Opt-out-ul X-Codai-Cache: 0 este ignorat pentru alias-urile codai* (este respectat pe numele upstream directe). Citirile din cache costă aproximativ a zecea parte din input-ul proaspăt.
  • Fiecare cerere este contorizată în micro-USD pe cheia ta, inclusiv sub-apelurile pe care gateway-ul le face în numele tău.
  • Effort este un buton pe care îl controlezi. API-ul brut pornește implicit pe medium; configurația VS Code livrează high (max e la un pas pe buton). Vezi effort și thinking.

Alias-uri publice

Apar în GET /v1/models pentru orice cheie.

AliasServeșteÎl folosești pentru
codaiClaude Opus 5.5 (failover: Claude Fable 5.1)Orice. Implicitul.
codai-labsAceeași rutare ca codai astăzi, plus funcții de cercetare de frontieră pe măsură ce apar (răspunsuri de cod verificate prin execuție, best-of-N ordonat prin execuție, modele open-weight noi)Să încerci ce urmează. Comportamentul se poate schimba fără notificare — fixează codai pentru stabilitate.

Alias-uri de workload

Ascunse din listarea /v1/models, dar rezolvabile de orice cheie care poate adresa codai. Există ca integrările IDE să poată fixa un rol pe un model fără să inventeze nume proprii.

AliasServeșteNote
codai-fastClaude Haiku 4.5Muncă utilitară: titluri, detecție de intenție, mesaje de commit. Fără task când e trimis cu X-Codai-No-Task: 1.
codai-explorerClaude Sonnet 5Citire și căutare în codebase — multe ture scurte în care latența bate deliberarea.
codai-agentLa fel ca codaiImplementare cu multe tool-uri.
codai-deepLa fel ca codaiRaționament profund.
codai-maxClaude Fable 5.1 (failover: Opus 5.5)Pin de escaladare: raționament greu, orizont lung.
codai-visionLa fel ca codaiInput de imagini activat.
codai-smartClaude Sonnet 5Tier echilibrat.
codai-opusClaude Opus 5.5Fixare explicită pe clasa Opus.
codai-flashGemini 2.5 FlashMultimodal ieftin.
codai-latestLa fel ca codaiNume vechi păstrat pentru configurații existente.

codai-agent, codai-deep și codai-vision au astăzi același chain ca codai; codai-max e cel care pornește cu Fable 5.1. Butonul de effort acoperă ce distingeau acestea înainte, motiv pentru care picker-ul din VS Code publică acum doar codai, codai-fast și codai-explorer.

Alias-uri cu scop special

AliasSuprafațăServește
codai-embedPOST /v1/embeddingsvoyage-code-3
codai-transcribePOST /v1/audio/transcriptionsWhisper
codai-ttsPOST /v1/audio/speechVoce TTS neutră (alloy implicit)
codai-tts-expressivePOST /v1/audio/speechgpt-4o-mini-tts — acceptă instructions
codai-realtimeWSS /v1/realtimegpt-realtime-2.1 (protocol OpenAI Realtime)
codai-transcribe-liveWSS /v1/realtimeDoar STT în streaming, fără răspuns de model
codai-voiceWSS /v1/realtimeGemini Live audio nativ (protocol Gemini Live)

Detalii și exemple pe pagina embeddings, audio și realtime.

Nume upstream directe

Poți ocoli alias-urile și numi un model concret — claude-sonnet-4-6, gpt-5, gemini-2.5-pro și așa mai departe. GET /v1/models returnează exact ce poate adresa cheia ta, alias-uri și modele concrete la fel:

curl https://ai.codai.ro/v1/models -H "Authorization: Bearer $CODAI_API_KEY"
{
  "object": "list",
  "data": [
    {
      "id": "codai",
      "object": "model",
      "created": 0,
      "owned_by": "codai",
      "codai": {
        "kind": "alias",
        "type": "chat",
        "routesTo": ["claude-opus-5-5", "claude-fable-5-1"],
        "capabilities": { "tools": true, "vision": true, "streaming": true, "maxInputTokens": 1000000, "maxOutputTokens": 128000 }
      }
    }
  ]
}

Obiectul codai este o extensie non-standard; clienții OpenAI-compatibili îl ignoră, IDE-urile îl citesc pentru a-și dimensiona indicatorii de context. owned_by este codai pentru alias-uri și codai-upstream pentru modele concrete.

Cum funcționează rezolvarea

Fiecare alias poartă un lanț de intrări { provider, upstreamModel }. La fiecare cerere gateway-ul parcurge lanțul, sare adaptoarele marcate momentan ca nesănătoase și trimite către primul sănătos. Lanțul este dată, reîncărcată din registru la fiecare minut — adăugarea sau schimbarea unui upstream nu modifică niciun cod de client. Allowlist-ul cheii tale (dacă tier-ul setează unul) se aplică modelului rezolvat, nu alias-ului, așa că un tier care permite codai permite și codai-fast.

Effort și thinking

Adâncimea raționamentului este un buton, nu un model. O setezi per cerere în oricare dintre două moduri echivalente:

curl https://ai.codai.ro/v1/chat/completions \
  -H "Authorization: Bearer $CODAI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Codai-Effort: high" \
  -d '{ "model": "codai", "messages": [{ "role": "user", "content": "Demonstrează că √2 este irațional." }] }'

Header-ul câștigă când sunt prezente ambele. Când nu e setat niciunul, gateway-ul folosește medium. Tier-urile, de la cel mai ieftin la cel mai scump:

TierBuget de thinkingCând
minimalniciunulCăutări, formatare, clasificare.
low4 096 tokeniEditări mici.
medium8 192 tokeniImplicitul. Cod și scris de zi cu zi.
high16 384 tokeniBug-uri grele, întrebări de design.
max32 768 tokeniDemonstrații, planuri lungi în mai mulți pași. max este o extensie codai peste vocabularul OpenAI low/medium/high; Responses API mapează xhigh la el.

Poți activa și extended thinking direct: X-Codai-Thinking: 1 îl pornește, X-Codai-Thinking-Budget: <tokeni> setează bugetul (implicit 16 384).

Atenuarea pe continuări

Într-o buclă de agent, majoritatea turelor sunt modelul consumând un rezultat de tool, nu pornind un task. Pe aceste ture de continuare cu tool gateway-ul limitează orice buget de thinking injectat la 4 096 tokeni, ca o buclă de 30 de pași să nu plătească factura max de 30 de ori. Turele proaspete de utilizator păstrează bugetul complet.

Dacă ai nevoie de bugetul complet la fiecare pas — o demonstrație lungă purtată peste apeluri de tool, de exemplu — trimiți X-Codai-Thinking-Pin: 1. Header-ul de răspuns x-codai-effort-continuation-dampened: 1 îți spune când s-a aplicat limitarea.

Ce îți spune răspunsul

HeaderSemnificație
x-codai-effortTier-ul de effort pe care l-a rezolvat gateway-ul.
x-codai-effort-appliedtrue când tier-ul a schimbat apelul upstream; false când modelul nu acceptă un parametru de effort.
x-codai-effort-continuation-dampened1 când s-a aplicat limitarea pe continuare.
x-codai-routed-toModelul upstream concret.

Pe această pagină