Прокси, совместимый с OpenAI, с настраиваемым резервным переключением по ключам между провайдерами.
QNP — это API-шлюз, совместимый с OpenAI. Направьте любой SDK OpenAI на наш базовый URL, и ваш существующий код будет маршрутизироваться через Anthropic, OpenAI, Google, Mistral, Groq и другие — с автоматическим переключением при ошибках.
Базовый URL для продакшена: {url}
Для чата имена моделей qnp или qnp/auto разрешаются в первую модель в вашей цепочке переключения. В противном случае QNP использует значение по умолчанию на основе намерения. Порядок переключения по-прежнему применяется.
Зарегистрируйтесь на qnp.ai/login с помощью Google, Apple, Passkey или магической ссылки по электронной почте. Вы получите бесплатный тариф с 50 запросами в день.
Перейдите в Панель управления → API ключи и создайте новый ключ. Настройте цепочку поставщиков. Скопируйте ключ — он начинается с qnp- и отображается только один раз.
Используйте любой совместимый с OpenAI SDK или cURL. Просто измените базовый URL и API ключ (см. ниже).
Просматривайте журналы запросов, затраты и задержки на странице Панель управления → Журналы. Экспортируйте данные в формате CSV для анализа.
curl -X POST "https://qnp.ai/api/v1/chat/completions" \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"openai/gpt-4o-mini","messages":[{"role":"user","content":"Hello!"}]}'Все API-запросы требуют аутентификации с помощью вашего ключа QNP. Поддерживаются два формата заголовков:
Authorization: Bearer YOUR_KEY # or X-API-Key: YOUR_KEY
Для каждого API-ключа вы определяете цепочку провайдеров. QNP пробует каждый по порядку, пока один не вернёт успешный ответ.
Пример: OpenAI (основной) → Anthropic (резервный 1) → Groq (резервный 2). Если OpenAI возвращает ошибки 5xx, трафик перенаправляется на Anthropic.
Настройте резервный вариант в панели управления в разделе Ключи → [ваш ключ] → Маршрутизация.
При отсутствии настроенной резервной опции ключ использует кредиты платформы — списываются с вашего аккаунта.
Чат-эндпоинт, совместимый с OpenAI. Поддерживает потоковую передачу, вызов функций и входные данные зрения.
curl -X POST "https://qnp.ai/api/v1/chat/completions" \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"openai/gpt-4o-mini","messages":[{"role":"user","content":"Hello!"}]}'from openai import OpenAI
client = OpenAI(
base_url="https://qnp.ai/api/v1",
api_key="YOUR_KEY"
)
response = client.chat.completions.create(
model="openai/gpt-4o-mini", # routes to your fallback chain
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://qnp.ai/api/v1",
apiKey: "YOUR_KEY",
});
const response = await client.chat.completions.create({
model: "openai/gpt-4o-mini", // routes to your fallback chain
messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);Создание векторных эмбеддингов для текста — полезно для поиска, кластеризации и RAG.
curl -X POST "https://qnp.ai/api/v1/embeddings" \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"text-embedding-3-small","input":"The quick brown fox"}'response = client.embeddings.create(
model="text-embedding-3-small",
input="The quick brown fox"
)
print(response.data[0].embedding[:5])Генерация изображений с помощью DALL-E и других моделей изображений.
Список моделей, доступных для вашего API-ключа.
curl "https://qnp.ai/api/v1/models" \ -H "Authorization: Bearer YOUR_KEY"
QNP поддерживает потоковую передачу Server-Sent Events (SSE) для чат-комплетов. Установите "stream": true в теле вашего запроса. Ответ представляет собой поток событий data: в формате OpenAI.
Каждое событие SSE содержит JSON-блок с дельта-контентом. Поток завершается с data: [DONE].
curl -X POST "https://qnp.ai/api/v1/chat/completions" \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"openai/gpt-4o-mini","stream":true,"messages":[{"role":"user","content":"Hello!"}]}'stream = client.chat.completions.create(
model="openai/gpt-4o-mini",
messages=[{"role": "user", "content": "Tell me a story"}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")Загрузка актуального каталога моделей…
Лимиты запросов применяются для каждого API-ключа. Предельные значения по умолчанию различаются в зависимости от уровня:
| Уровень | Запросов в день | RPM (по умолчанию) | API-ключи |
|---|---|---|---|
| Бесплатный | 50 запросов в день | 10 запросов в минуту | 5 |
| Про | Без ограничений | Без ограничений | Без ограничений |
Пользовательские лимиты запросов для каждого ключа (RPM, TPM) настраиваются в панели управления.
При превышении лимита запросов API возвращает 429 Too Many Requests с заголовком Retry-After.
Errors follow OpenAI format: { error: { message, type, code } }
| Код | Значение | Что делать |
|---|---|---|
| 400 | Неверный запрос | Проверьте формат тела запроса и обязательные поля. |
| 401 | Неавторизован | Проверьте, что ваш API-ключ действителен и включен в заголовок. |
| 402 | Недостаточно кредитов | Пополните кредиты на панели управления или обновите до версии Pro. |
| 403 | Запрещено | Ключ не имеет разрешения для этой конечной точки, или IP/реферер заблокирован. |
| 404 | Не найдено | Проверьте URL конечной точки и имя модели. |
| 429 | Ограничение частоты запросов | Подождите и повторите попытку. Проверьте заголовок Retry-After. Обновите уровень для более высоких лимитов. |
| 500 | Внутренняя ошибка сервера | Повторите запрос. Если проблема сохраняется, обратитесь в поддержку. |
| 502 | Плохой шлюз | Ошибка поставщика upstream. Ваша цепочка резервных копий автоматически повторит попытку. |
| 503 | Служба недоступна | Поставщик временно недоступен. Маршрутизация с резервным копированием обрабатывает это. |
Используйте любой совместимый с OpenAI SDK. Просто измените базовый URL и ваш ключ QNP.
from openai import OpenAI
client = OpenAI(
base_url="https://qnp.ai/api/v1",
api_key="YOUR_KEY"
)
response = client.chat.completions.create(
model="openai/gpt-4o-mini", # routes to your fallback chain
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://qnp.ai/api/v1",
apiKey: "YOUR_KEY",
});
const response = await client.chat.completions.create({
model: "openai/gpt-4o-mini", // routes to your fallback chain
messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
base_url="https://qnp.ai/api/v1",
api_key="YOUR_KEY",
model="openai/gpt-4o-mini" # routes to your fallback chain
)
response = llm.invoke("Hello!")
print(response.content)Cline — это AI-ассистент для кодирования в VS Code. QNP работает как поставщик API для Cline.
{url}.qnp-).{model} (или любую другую поддерживаемую модель). Передайте qnp/auto, если хотите, чтобы QNP выбрал из вашей цепочки резервных поставщиков.Совет: настройте цепочку поставщиков API-ключей в разделе Панель управления → API-ключи. Модель qnp/auto использует первую модель в этой цепочке; в случае сбоя автоматически пробуется следующая.
qnp- и активен./v1 (без конечного слеша).Сценарий установки автоматически обнаруживает и настраивает OpenClaw, Claude Code и Hermes Agent. Используйте QNP в качестве поставщика моделей для единого резервного переключения и BYOK.
Сценарий установки интерактивно запросит ваш API-ключ и базовый URL.
curl -fsSL https://qnp.ai/setup.sh | bash
input: ["text","image","audio","video"] для всех моделей.