Базовый URL и аутентификация
Наш API полностью совместим с OpenAI, поэтому вы можете использовать любые стандартные SDK с минимальными изменениями. Базовый URL для всех запросов: https://api.openrouterapi.top/v1. Аутентификация выполняется через токен Bearer в заголовке Authorization. Вы можете мгновенно создать ключ, зарегистрировавшись через Google или email в личном кабинете. Храните ключ в безопасности, так как он дает прямой доступ к вашему предоплаченному балансу.
Первый запрос
Протестируйте эндпоинт простой командой curl. Замените YOUR_API_KEY на ваш ключ. Идентификатор модели установлен в uncensored для обхода стандартных ограничений контента. Этот запрос отправляет промпт и ждет полный ответ.
curl https://api.openrouterapi.top/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
Если ключ недействителен, вы получите ошибку 401. Если предоплаченный баланс исчерпан, вы получите ошибку 402. Эти ошибки не расходуют ваш баланс токенов, но учитываются в квоте лимита запросов.
Интеграция Python SDK
Использование официального пакета Python openai очень просто. Инициализируйте клиент, указав базовый URL и ключ. SDK автоматически выполняет сериализацию JSON. Этот пример демонстрирует базовый запрос на завершение чата.
from openai import OpenAI
client = OpenAI(base_url="https://api.openrouterapi.top/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Убедитесь, что установлена последняя версия SDK. Объект клиента управляет пулом соединений, поэтому вы можете использовать его для нескольких запросов без повторной инициализации.
Интеграция Node SDK
Для сред JavaScript Node SDK работает аналогично. Укажите пользовательский базовый URL при инициализации. Этот подход позволяет бесшовно интегрировать генерацию без цензуры в существующие веб-приложения или бэкенд-сервисы.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openrouterapi.top/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Node SDK поддерживает как промисы, так и паттерн async/await. Обработка ошибок согласована с другими сервисами, совместимыми с OpenAI.
Потоковые ответы
Включите потоковую передачу, установив stream: true в запросе. API возвращает Server-Sent Events (SSE). Каждый чанк содержит частичный текст. Последний чанк содержит статистику использования токенов для биллинга.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Предоплаченный баланс списывается за реальные токены, сгенерированные в итоговом выводе. Потоковая передача не меняет модель ценообразования; вы платите за токены, которые успешно доставлены.
Лимиты запросов и контекстное окно
Каждый API-ключ ограничен 300 запросами в минуту и 8 параллельными запросами. Максимальный размер тела запроса — 8 МБ. Контекстное окно поддерживает до 100 000 токенов всего (входные плюс выходные). Максимальный вывод на запрос — 32 000 токенов или 2 048, если max_tokens не задан. Ошибки 401 или 402 не расходуют кредит, но учитываются в лимите запросов. Отказы по конкретным типам контента также бесплатны.