API referansı
Bu referans gateway’in doğrulanmış uç noktalarını kapsar. İstek gövdesindeki diğer alanlar upstream’e olduğu gibi iletilir; gateway allowlist için yalnızca model alanını okur.
Temel URL
https://api.codex4less.com/v1https://api.codex4less.comKimlik doğrulama
Authorization: Bearer sk-...Anthropic SDK ve Claude Code için /v1 eklemeyin; istemci /v1/messages yolunu kendisi ekler.
Anthropic Messages
Claude Code ve Anthropic SDK base URL'e kendisi /v1/messages ekler; bu nedenle /v1 kullanmayın.
https://api.codex4less.comPOST /v1/messages
x-api-key: sk-...
anthropic-version: 2023-06-01
Content-Type: application/jsonx-api-key ve Authorization: Bearer desteklenir. /v1/models, Anthropic başlıklarıyla Anthropic formatında döner. count_tokens desteklenmez.
Sohbet tamamlama oluştur
OpenAI Chat Completions biçiminde istek kabul eder. stream: true ile SSE döner.
/v1/chat/completionsBaşlıklar
| Alan | Zorunlu | Notlar |
|---|---|---|
| Authorization | Zorunlu | Bearer sk-... |
| Content-Type | Zorunlu | application/json |
Gövde parametreleri
| Alan | Tip | Zorunlu | Notlar |
|---|---|---|---|
| model | string | Zorunlu | Model kimliği. Katalogdaki etkin bir anahtar olmalıdır. |
| messages | array | Zorunlu | Mesaj dizisi. Gateway içeriği değiştirmeden iletir. |
| stream | boolean | İsteğe bağlı | true ise yanıt text/event-stream olarak akar. |
Diğer gövde alanları gateway tarafından doğrulanmaz; upstream’e aynen iletilir.
İstek
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.codex4less.com/v1",
api_key=os.environ["CODEX4LESS_API_KEY"],
)
resp = client.chat.completions.create(
model="gpt-6-astra",
messages=[
{"role": "user", "content": "Reply with OK."}
],
)
print(resp.choices[0].message.content)Örnek yanıt
{
"id": "chatcmpl-example",
"object": "chat.completion",
"created": 1730000000,
"model": "gpt-6-astra",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "OK"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 11,
"completion_tokens": 1,
"total_tokens": 12
}
}SSE örneği
Aşağıdaki çıktı bir sohbet akışının biçimini gösterir; model metni örnektir.
data: {"id":"chatcmpl-example","object":"chat.completion.chunk","created":1730000000,"model":"gpt-6-astra","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null}]}
data: {"id":"chatcmpl-example","object":"chat.completion.chunk","created":1730000000,"model":"gpt-6-astra","choices":[{"index":0,"delta":{"content":"OK"},"finish_reason":null}]}
data: {"id":"chatcmpl-example","object":"chat.completion.chunk","created":1730000000,"model":"gpt-6-astra","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: [DONE]Modelleri listele
Etkin ve kullanılabilir modelleri döndürür. Liste Model tablosundan üretilir.
/v1/modelscurl https://api.codex4less.com/v1/models \
-H "Authorization: Bearer sk-..."Örnek yanıt
{
"object": "list",
"data": [
{
"id": "gpt-6-astra",
"object": "model",
"created": 1626777600,
"owned_by": "codex4less"
},
{
"id": "gpt-6.1-sol",
"object": "model",
"created": 1626777600,
"owned_by": "codex4less"
}
]
}Tek model getir
Model kimliğiyle tek kayıt döndürür; bulunamazsa 404 model_not_found.
/v1/models/gpt-6-astra{
"id": "gpt-6-astra",
"object": "model",
"created": 1626777600,
"owned_by": "codex4less"
}Kapsam dışı
Embeddings, görsel üretimi ve ses bu referansta yoktur. Responses yalnızca Codex kurulum sayfalarında ele alınır.