Быстрый старт
Начните работу с API-прокси ru-openrouter.ru
api.ru-openrouter.ru/v1 — это прокси-сервер для API, который предоставляет доступ к сотням AI-моделей через единый эндпоинт, с ценами в рублях и без необходимости использовать VPN.
Есть три способа интеграции:
| Подход | Для чего подходит |
|---|---|
| API | Полный контроль, любой язык, без зависимостей |
| OpenAI SDK | Готовая библиотека, минимальные изменения кода |
| Другие SDK | Интеграция с существующими фреймворками |
Использование API
Отправляйте HTTP-запросы на эндпоинт /chat/completions — совместимо с любым языком и фреймворком.
Заголовки атрибуции опциональны, но позволяют вашему приложению отображаться в статистике нашего сервиса.
cURL
curl https://api.ru-openrouter.ru/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk_ваш_api_ключ" \
-H "HTTP-Referer: https://your-site.ru" \
-H "X-Title: My App" \
-d '{
"model": "openai/gpt-4o-mini",
"messages": [
{
"role": "user",
"content": "В чём смысл жизни?"
}
],
"max_tokens": 1000
}'
Python
import requests
import json
response = requests.post(
url="https://api.ru-openrouter.ru/v1/chat/completions",
headers={
"Authorization": "Bearer sk_ваш_api_ключ",
"HTTP-Referer": "https://your-site.ru",
"X-Title": "My App",
},
data=json.dumps({
"model": "openai/gpt-4o-mini",
"messages": [
{"role": "user", "content": "В чём смысл жизни?"}
],
"max_tokens": 1000,
})
)
print(response.json()["choices"][0]["message"]["content"])
TypeScript (fetch)
fetch('https://api.ru-openrouter.ru/v1/chat/completions', {
method: 'POST',
headers: {
'Authorization': 'Bearer sk_ваш_api_ключ',
'HTTP-Referer': 'https://your-site.ru',
'X-Title': 'My App',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'openai/gpt-4o-mini',
messages: [
{role: 'user', content: 'В чём смысл жизни?'}
],
max_tokens: 1000,
}),
})
.then(res => res.json())
.then(data => console.log(data.choices[0].message.content));
PHP
true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer sk_ваш_api_ключ',
'HTTP-Referer: https://your-site.ru',
'X-Title: My App',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'model' => 'openai/gpt-4o-mini',
'messages' => [
['role' => 'user', 'content' => 'В чём смысл жизни?']
],
'max_tokens' => 1000,
]),
CURLOPT_RETURNTRANSFER => true,
]);
$response = json_decode(curl_exec($ch), true);
echo $response['choices'][0]['message']['content'] ?? 'Ошибка';
API также поддерживает стриминг — добавьте "stream": true в тело запроса, и ответ придёт SSE-потоком.
Полный список моделей доступен через эндпоинт GET https://api.ru-openrouter.ru/v1/models.
Актуальный каталог с ценами: ru-openrouter.ru/models.
Использование OpenAI SDK
Вы можете использовать официальный OpenAI SDK, просто указав baseURL на https://api.ru-openrouter.ru/v1/. Это удобно, если у вас уже есть код на OpenAI SDK — достаточно сменить baseURL и API-ключ.
TypeScript
import OpenAI from 'openai';
const openai = new OpenAI({
baseURL: 'https://api.ru-openrouter.ru/v1/',
apiKey: 'sk_ваш_api_ключ',
defaultHeaders: {
'HTTP-Referer': 'https://your-site.ru',
'X-Title': 'My App',
},
});
async function main() {
const completion = await openai.chat.completions.create({
model: 'openai/gpt-4o-mini',
messages: [
{role: 'user', content: 'В чём смысл жизни?'}
],
max_tokens: 1000,
});
console.log(completion.choices[0].message.content);
}
main();
Python
from openai import OpenAI
client = OpenAI(
base_url='https://api.ru-openrouter.ru/v1/',
api_key='sk_ваш_api_ключ',
)
completion = client.chat.completions.create(
extra_headers={
'HTTP-Referer': 'https://your-site.ru',
'X-Title': 'My App',
},
model='openai/gpt-4o-mini',
messages=[
{'role': 'user', 'content': 'В чём смысл жизни?'}
],
max_tokens=1000,
)
print(completion.choices[0].message.content)
JavaScript
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://api.ru-openrouter.ru/v1/',
apiKey: 'sk_ваш_api_ключ',
});
const response = await client.chat.completions.create({
model: 'openai/gpt-4o-mini',
messages: [
{role: 'user', content: 'В чём смысл жизни?'}
],
max_tokens: 1000,
});
console.log(response.choices[0].message.content);
Использование сторонних SDK
LangChain
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
base_url='https://api.ru-openrouter.ru/v1/',
api_key='sk_ваш_api_ключ',
model='openai/gpt-4o-mini',
max_tokens=1000,
)
response = llm.invoke('В чём смысл жизни?')
print(response.content)
Vercel AI SDK
import { openai } from '@ai-sdk/openai';
import { generateText } from 'ai';
const result = await generateText({
model: openai('openai/gpt-4o-mini', {
baseURL: 'https://api.ru-openrouter.ru/v1/',
}),
messages: [
{role: 'user', content: 'В чём смысл жизни?'}
],
maxTokens: 1000,
});
console.log(result.text);
Начало работы
1. Регистрация
Зарегистрируйтесь на ru-openrouter.ru/register.
2. Пополнение баланса
Пополните баланс в личном кабинете.
3. Создание API ключа
Создайте API ключ в разделе «API ключи».
Ключ показывается только один раз — сохраните его сразу.
Streaming
Добавьте "stream": true в тело запроса, и ответ придёт SSE-потоком:
curl https://api.ru-openrouter.ru/v1/chat/completions \
-H "Authorization: Bearer sk_ваш_api_ключ" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-4o-mini",
"messages": [{"role": "user", "content": "Напиши короткое стихотворение"}],
"stream": true,
"max_tokens": 1000
}'
Поток передаёт события SSE:
data: {"id":"gen-xxx","object":"chat.completion.chunk","choices":[{"delta":{"role":"assistant","content":"Вот"}}]}
data: {"id":"gen-xxx","object":"chat.completion.chunk","choices":[{"delta":{"content":" стих"}}]}
data: {"id":"gen-xxx","object":"chat.completion.chunk","choices":[{"delta":{"content":"отворение"}}]}
data: [DONE]
В финальном чанке (перед [DONE]) передаётся usage с информацией о потраченных токенах и стоимости.
Суффиксы :nitro и :floor
Добавьте суффикс к названию модели для выбора стратегии маршрутизации провайдеров:
| Суффикс | Стратегия | Описание |
|---|---|---|
:nitro |
throughput | Максимальная скорость ответа |
:floor |
price | Минимальная цена |
curl https://api.ru-openrouter.ru/v1/chat/completions \
-H "Authorization: Bearer sk_ваш_api_ключ" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-4o-mini:nitro",
"messages": [{"role": "user", "content": "Быстрый ответ, пожалуйста!"}],
"max_tokens": 1000
}'