Codexius

OpenAI-совместимый API

Codexius реализует подмножество OpenAI API. Любой клиент, поддерживающий OpenAI, работает «из коробки» после смены base URL и ключа.

Базовый адрес и аутентификация

Base URLhttps://codexius.ru/api/v1
ЗаголовокAuthorization: Bearer cdx_•••
Content-Typeapplication/json

Chat Completions

Эндпоинт POST /v1/chat/completions. Поддерживается stream: true, вызовы инструментов (tool_calls) и системные сообщения.

bash
POST https://codexius.ru/api/v1/chat/completions
Authorization: Bearer cdx_•••
Content-Type: application/json

{
  "model": "gpt-5.4",
  "messages": [
    { "role": "system", "content": "Отвечай кратко." },
    { "role": "user",   "content": "Объясни, что такое vector store" }
  ],
  "temperature": 0.4,
  "stream": false
}

Стриминг (SSE)

Если задано stream: true, ответ приходит чанками в формате Server-Sent Events. Это работает в openai SDK без изменений.

python
stream = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "Расскажи о Codexius"}],
    stream=True,
)

for chunk in stream:
    delta = chunk.choices[0].delta.content or ""
    print(delta, end="", flush=True)

Вызовы инструментов

Поддерживается стандартный синтаксис OpenAI. Передавайте tools, получайте tool_calls в ответе и отправляйте результаты в следующем запросе с ролью tool.

python
tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Получить погоду по городу",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string"}},
            "required": ["city"],
        },
    },
}]

resp = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "Какая погода в Москве?"}],
    tools=tools,
)

Изображения

Эндпоинт POST /v1/images/generations с моделью gpt-image-2. Тарификация — поштучно, не по токенам.

Дальше