Chat Completions

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

Temel URL
https://api.codex4less.com/v1
Anthropic Temel URL
https://api.codex4less.com

Kimlik doğrulama

HTTP
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.

Anthropic Temel URL
https://api.codex4less.com
HTTP
POST /v1/messages
x-api-key: sk-...
anthropic-version: 2023-06-01
Content-Type: application/json

x-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.

POST/v1/chat/completions

Başlıklar

AlanZorunluNotlar
AuthorizationZorunluBearer sk-...
Content-TypeZorunluapplication/json

Gövde parametreleri

AlanTipZorunluNotlar
modelstringZorunluModel kimliği. Katalogdaki etkin bir anahtar olmalıdır.
messagesarrayZorunluMesaj dizisi. Gateway içeriği değiştirmeden iletir.
streambooleanİ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

200 application/json
{
  "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.

text/event-stream
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.

GET/v1/models
cURL
curl https://api.codex4less.com/v1/models \
  -H "Authorization: Bearer sk-..."

Örnek yanıt

200 application/json
{
  "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.

GET/v1/models/gpt-6-astra
200 application/json
{
  "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.

Hatalar →