Документация APICODIK API
APICODIK совместим с OpenAI API: подключение — это смена адреса и ключа. Для Claude Code есть формат Anthropic, для Gemini CLI — формат Gemini.
Первый запрос
Если ключа ещё нет, начните со страницы активации. Выберите модель, укажите адрес своего протокола и отправьте короткое сообщение. Проверить расход можно в кабинете.
Claude Code · Cursor · Codex CLI · Ошибки API
Адрес и авторизация
| Base URL (OpenAI) | https://apicodik.ai/v1 |
|---|---|
| Base URL (Anthropic, Claude Code) | https://apicodik.ai — SDK сам допишет /v1/messages |
| Base URL (Gemini) | https://apicodik.ai/gemini |
| Ключ | sk-6969-… в заголовке Authorization: Bearer; также принимаются x-api-key (Anthropic SDK) и x-goog-api-key (Google SDK). В адресе запроса ключ не передавайте. |
| Модели | GET https://apicodik.ai/v1/models — 37 моделей; список с ценами — здесь. |
OpenAI SDK и curl
curl
curl https://apicodik.ai/v1/chat/completions \
-H "Authorization: Bearer sk-6969-ваш-ключ" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-6-sol", "stream": true,
"messages": [{"role": "user", "content": "Объясни рекурсию одним абзацем"}]}'Python
from openai import OpenAI
client = OpenAI(base_url="https://apicodik.ai/v1", api_key="sk-6969-ваш-ключ")
reply = client.chat.completions.create(
model="claude-sonnet-5",
messages=[{"role": "user", "content": "Привет!"}],
)
print(reply.choices[0].message.content)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://apicodik.ai/v1", apiKey: "sk-6969-ваш-ключ" });
const reply = await client.chat.completions.create({
model: "gemini-3.8-flash",
messages: [{ role: "user", content: "Привет!" }],
});
console.log(reply.choices[0].message.content);Поддерживаются потоковый вывод (stream: true), вызов инструментов и формат /v1/responses (его использует Codex).
Responses API для Codex
Base URL тот же, что у OpenAI SDK. Путь /responses дописывает SDK.
from openai import OpenAI
import os
client = OpenAI(base_url="https://apicodik.ai/v1", api_key=os.environ["API_KEY"])
reply = client.responses.create(model="gpt-6-sol", input="Объясни рекурсию одним абзацем")
print(reply.output_text)Формат Anthropic (Claude Code, Anthropic SDK)
import anthropic
client = anthropic.Anthropic(base_url="https://apicodik.ai", api_key="sk-6969-ваш-ключ")
msg = client.messages.create(
model="claude-opus-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Привет!"}],
)
print(msg.content[0].text)Для Claude Code — отдельная пошаговая инструкция.
Gemini API и curl
Для Gemini используется адрес https://apicodik.ai/gemini и путь Google Gemini API /v1beta/models/<model>:generateContent. Идентификаторы доступны в каталоге моделей.
curl https://apicodik.ai/gemini/v1beta/models/gemini-3.8-flash:generateContent -H "x-goog-api-key: $APICODIK_API_KEY" -H "Content-Type: application/json" -d '{"contents":[{"parts":[{"text":"Привет!"}]}]}'Для потокового ответа используйте действие streamGenerateContent. Поддерживаемые поля и фактический usage зависят от выбранной модели; сверяйте списание в кабинете.
Агенты в терминале: установщик в одну команду
Установщик пропишет адрес, ключ и модель в настройки программы. Команда --remove убирает ровно то, что он поставил, и возвращает прежние значения. Каждую ночь мы проверяем все программы на реальной задаче.
# подключить (программа, ключ, модель — по желанию)
curl -fsSL https://apicodik.ai/cli | sh -s claude sk-6969-ваш-ключ
curl -fsSL https://apicodik.ai/cli | sh -s codex sk-6969-ваш-ключ gpt-6-sol
# отключить
curl -fsSL https://apicodik.ai/cli | sh -s claude --removeПрограммы: claude (Claude Code), codex (Codex CLI), opencode, kimi (Kimi Code), grok (Grok CLI), hermes, gemini (Gemini CLI). Для Gemini CLI при первом запуске ответьте «да» на вопрос о доверии к папке — иначе он не прочитает настройки.
Коды ошибок
| HTTP | Тип | Что значит |
|---|---|---|
| 401 | invalid_api_key | Нет заголовка авторизации или ключ неверный. |
| 402 | insufficient_credits | На балансе закончились средства — пополните кодом в кабинете. |
| 403 | key_paused / key_revoked / key_expired | Ключ приостановлен, отозван или истёк срок. |
| 403 | model_not_allowed | Ключу запрещена эта модель (ограничение задаётся в кабинете). |
| 404 | model_not_found | Такой модели нет — сверьте ID со списком /v1/models. |
| 413 | request_too_large | Запрос больше контекстного окна модели. |
| 429 | rate_limit_exceeded | Слишком много запросов в секунду с одного ключа — повторите чуть позже. |
| 502 | — | Модель временно недоступна: шлюз уже перепробовал доступные источники — повторите запрос чуть позже. |
Подробнее: действия для каждого кода и таймаута. В OpenAI-протоколе пример формы ошибки: {"error": {"type": "…", "message": "…"}}.

Один ключ для вашего проекта
Посмотрите порядок получения ключа и активируйте уже полученный код. Подключение — по инструкции для вашей программы.
Как получить ключ