uk ▾
Отримайте свій ключ

Документація API OpenRouter

Підключіть свою програму до нашого LLM без цензури, використовуючи стандартний інтерфейс, сумісний з OpenAI. Цей посібник охоплює аутентифікацію, формати запитів та потокову передачу для швидкої інтеграції.

Швидкий старт: Підключення з Python

Почніть із встановлення офіційного SDK та вказівки на наш базовий URL.

Наш API поводиться як стандартний інтерфейс OpenAI, але маршрутизує запити до однієї uncensored моделі. Цей підхід усуває складність проксі-серверів, зберігаючи портативність вашого коду.

  • Встановіть бібліотеку через pip.
  • Встановіть свій API-ключ у середовищі.
  • Визначте базовий URL для нашого ендпоінту.
from openai import OpenAI

client = OpenAI(base_url="https://api.apiopenrouter.com/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)

Замініть ключ-плейсхолдер на свої облікові дані. Ви можете надсилати прості запити або складні структуровані дані.

Автентифікація та ключі

Згенеруйте ключ на панелі керування та передайте його в заголовку Authorization.

Кожен обліковий запис підтримує один активний ключ одночасно. Коли ви створюєте новий ключ, старий перестає працювати миттєво. Це спрощує управління безпекою без необхідності складної логіки обміну ключами.

curl https://api.apiopenrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the top 5 dependencies for a Go web server"}]
  }'

Наведений вище запит використовує схему Bearer. Переконайтеся, що ваш ключ починається з sk- та не містить зайвих пробілів.

Ендпоінт Chat Completions

Надсилайте повідомлення до /v1/chat/completions ендпоінт, що використовує стандартний JSON.

Модель приймає user та assistant ролі. Ви можете налаштувати temperature, top-p та послідовності зупинки, щоб керувати стилем виводу. Відповіді повертають використання токенів у останньому блоці, якщо увімкнено потокове передавання.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.apiopenrouter.com/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);

Встановити max_tokens для контролю довжини виводу. Якщо цей параметр не вказано, значення за замовчуванням становить 2 048 токенів. Модель підтримує до 16 000 токенів за один запит.

Потокові відповіді

Увімкніть потокову передачу, встановивши stream: true у тілі вашого запиту.

Деталі використання токенів з'являються лише у останньому чанку потоку. Це дозволяє оновлювати інтерфейс у реальному часі, зберігаючи точні дані для білінгу. Помилки під час потокової передачі все одно повідомляють про використання токенів, за які було нараховано оплату.

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)

Обробляйте часткові відповіді коректно. Потік закривається нормально, коли модель завершує генерацію або досягає ліміту контексту.

Виклик функцій & Режим JSON

Використовувати response_format: {type: "json_object"} для суворого виводу JSON.

Визначте інструменти в tools масив та встановити tool_choice для примусового виклику функцій. Модель повертає структуровані дані, придатні для програмної обробки. Це надійно працює з нашими uncensored вагами.

curl https://api.apiopenrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the top 5 dependencies for a Go web server"}]
  }'

Поєднуйте виклик функцій із потоковою передачею для інтерактивного досвіду. Перевіряйте вивід JSON перед передачею його в логіку вашої програми.

Ліміти та квоти

Моніторьте використання, орієнтуючись на ліміти на ключ, щоб уникнути переривань.

Кожен ключ дозволяє 300 запитів на хвилину та 8 одночасних запитів. Ліміт розміру тіла запиту становить 8 МБ. Якщо ви перевищите ці ліміти, API повертає статус 429. Помилки автентифікації повертають 401, а недостатній кредит — 402.

curl https://api.apiopenrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the top 5 dependencies for a Go web server"}]
  }'

Розмір контекстного вікна становить 100 000 токенів загалом. Помилки не списують кредити. Відмови через незначні порушення змісту також є безкоштовними.

Поширені запитання

Чим API openrouter відрізняється від стандартного OpenAI?

Наш API використовує одну uncensored модель, оптимізовану для законного дорослого та креативного контенту без відмов. Вона зберігає ту ж структуру запиту та відповіді, що й OpenAI, дозволяючи вам змінювати кінцеві точки без зміни коду.

Що станеться, якщо у мене закінчаться кредити?

Запити завершуються з помилкою 402, коли ваш попередньо оплачений баланс дорівнює нулю. Кредити не мають терміну дії, тому ви можете поповнити баланс через криптовалюту в будь-який час. Помилки та відмови не споживають ваш баланс.

Чи можу я використовувати кілька ключів для різних проектів?

Кожен обліковий запис підтримує один активний ключ. Створення нового ключа автоматично анулює попередній. Ви можете згенерувати новий ключ миттєво з панелі керування, не втрачаючи історію платежів.

Отримайте свій API-ключ

Зареєструйтеся, скопіюйте токен і оновіть свій базовий URL. Це вся конфігурація.

Отримайте свій ключ