Точки доступа и форматы API
Два API-протокола QCode.cc (Anthropic / OpenAI), четыре точки доступа и правильное заполнение BASE_URL
Точки доступа и форматы API¶
Эта страница объясняет, как QCode.cc предоставляет два API-протокола, четыре домена доступа и как корректно указывать BASE_URL. Один и тот же API-ключ работает с обоими протоколами — протокол определяется путём запроса, маршрутизация происходит на стороне сервера автоматически.
1. Два API-протокола¶
QCode.cc совместим одновременно с протоколами Anthropic Messages и OpenAI:
| Протокол | Типичные клиенты | Путь |
|---|---|---|
| Anthropic Messages | Claude Code / Claude Agent SDK / Cline / Aider | /api/v1/messages или эквивалентный /claude/v1/messages |
| OpenAI Chat Completions | Официальный OpenAI SDK / LangChain / универсальные клиенты | /openai/v1/chat/completions |
| OpenAI Responses | Codex CLI (обязателен для Codex) | /openai/v1/responses |
Схема тела запроса совпадает с соответствующими официальными API (Anthropic POST /v1/messages / OpenAI POST /v1/chat/completions / OpenAI POST /v1/responses).
Внимание:
/api,/claudeи/openai/v1— это префиксы пути, а не самостоятельные конечные точки. SDK автоматически добавляют/v1/messages,/chat/completionsили/responses. Прямой вызовcurl https://api.qcode.cc/apiвернёт 404 — это ожидаемо.
2. Четыре домена доступа¶
У всех четырёх доменов одинаковые возможности, различие — только в сетевой маршрутизации:
| Домен | Аудитория | Схема | Примечание |
|---|---|---|---|
api.qcode.cc |
Глобально (Route 53 по задержке) | HTTPS | Рекомендуется вне материкового Китая, выбирает ближайший узел |
us.qcode.cc |
Северная Америка | HTTPS | Лос-Анджелес, запущен 2026-04-22 |
eu.qcode.cc |
Европа | HTTPS | Франкфурт |
asia.qcode.cc |
Азия | HTTPS | Гонконг |
103.236.53.153 |
Материковый Китай | HTTP | Прямой IP в Шэньчжэне, минимальная задержка |
Один API-ключ работает во всех четырёх доменах — переключайтесь свободно. Пользователям из материкового Китая рекомендуется 103.236.53.153 (HTTP, не HTTPS) для минимальной задержки.
3. Таблица BASE_URL¶
Заполняйте согласно используемому инструменту:
| Инструмент | Переменная / ключ | Значение | SDK отправит на |
|---|---|---|---|
| Claude Code | ANTHROPIC_BASE_URL |
https://api.qcode.cc/api |
/api/v1/messages |
| Claude Agent SDK | Аргумент base_url= |
https://api.qcode.cc/api |
/api/v1/messages |
| Cline / Aider | Base URL Anthropic-режима | https://api.qcode.cc/api |
/api/v1/messages |
| OpenAI Python/JS SDK | Аргумент base_url= |
https://api.qcode.cc/openai/v1 |
/openai/v1/chat/completions |
| Codex CLI | TOML base_url = |
https://api.qcode.cc/openai |
/openai/v1/responses |
Пользователям из материкового Китая достаточно заменить префикс https://api.qcode.cc на http://103.236.53.153 (внимание: HTTP).
4. Самопроверка через curl¶
Перед подключением полноценного SDK путь и сетевую доступность можно проверить простым POST:
# Тест пути для Anthropic
curl -X POST https://api.qcode.cc/api/v1/messages
# → 401 = путь корректен, отсутствует только Authorization (ожидаемо)
# Тест OpenAI Chat Completions
curl -X POST https://api.qcode.cc/openai/v1/chat/completions
# → 401 = путь OK
# OpenAI Responses (для Codex)
curl -X POST https://api.qcode.cc/openai/v1/responses
# → 401 = путь OK
Как читать: 401 Unauthorized означает, что маршрут пути корректен и сеть доступна — просто не указан заголовок авторизации. Это хороший знак. Если возвращается 404, значит префикс пути неверный, сверьтесь с таблицей в разделе 3.
Сквозной тест с реальным API-ключом:
curl -X POST https://api.qcode.cc/api/v1/messages \
-H "x-api-key: YOUR_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-4-5","max_tokens":64,"messages":[{"role":"user","content":"ping"}]}'
Замена домена на us.qcode.cc / eu.qcode.cc / asia.qcode.cc с тем же путём должна дать идентичный результат — это подтверждает, что альтернативный домен доступен.
5. Часто задаваемые вопросы¶
В: Почему curl https://api.qcode.cc/api возвращает 404?
О: /api — это префикс, а не конечная точка. Полный путь: /api/v1/messages.
В: Есть ли разница между /api/v1/messages и /claude/v1/messages?
О: Нет. Оба префикса маршрутизируются в протокол Anthropic Messages. В документации мы используем /api, так как это значение по умолчанию в большинстве SDK экосистемы Claude.
В: Можно ли одним API-ключом вызывать и Claude, и Codex?
О: Да. Ключ не зависит от протокола, протокол определяется путём запроса. /api/v1/messages — Anthropic, /openai/v1/responses — OpenAI Responses.
В: Какой домен выбрать?
О: Материковый Китай → 103.236.53.153 (HTTP, прямой Шэньчжэнь). Остальные → api.qcode.cc (глобальная маршрутизация). Если основной домен нестабилен, свободно переключайтесь на us / eu / asia.
В: Нужен ли конечный слэш в BASE_URL?
О: Нет. Большинство SDK сами добавляют /v1/messages и т. п.; при наличии слэша получится //v1/messages и ошибка 404.