Rus-GPT API

Единый API для доступа к ведущим языковым моделям из России

Все модели в одном месте Claude, GPT, Gemini, GLM, Qwen
Оплата рублями Российские карты, ЮKassa
Совместимость OpenAI и Anthropic SDK
Безопасность SSL-шифрование

Начало работы

Три простых шага для начала использования API:

1
Зарегистрируйтесь Войдите через Яндекс на странице входа
2
Создайте API-ключ Перейдите в раздел API Keys и создайте новый ключ
3
Сделайте первый запрос Используйте примеры кода ниже для интеграции
Base URL: https://rus-gpt.com/api/v1
Авторизация: Authorization: Bearer YOUR_API_KEY
Используете Claude Code? Инструкция по интеграции

Примеры кода

Chat Completions (OpenAI формат)

Основной эндпоинт для генерации текста. Совместим с OpenAI SDK.

from openai import OpenAI

client = OpenAI(
    base_url="https://rus-gpt.com/api/v1",
    api_key="rusgpt-YOUR_API_KEY",
)

response = client.chat.completions.create(
    model="qwen/qwen3-30b-a3b-instruct-2507",
    messages=[
        {"role": "user", "content": "5+7=?"}
    ],
)

print(response.choices[0].message.content)
curl https://rus-gpt.com/api/v1/chat/completions   -H "Authorization: Bearer rusgpt-YOUR_API_KEY"   -H "Content-Type: application/json"   -d '{
    "model": "qwen/qwen3-30b-a3b-instruct-2507",
    "messages": [
      {"role": "user", "content": "5+7=?"}
    ]
  }'
import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'https://rus-gpt.com/api/v1',
  apiKey: 'rusgpt-YOUR_API_KEY',
});

const response = await client.chat.completions.create({
  model: 'qwen/qwen3-30b-a3b-instruct-2507',
  messages: [
    { role: 'user', content: '5+7=?' }
  ],
});

console.log(response.choices[0].message.content);
package main

import (
    "context"
    "fmt"
    "github.com/sashabaranov/go-openai"
)

func main() {
    config := openai.DefaultConfig("rusgpt-YOUR_API_KEY")
    config.BaseURL = "https://rus-gpt.com/api/v1"
    client := openai.NewClientWithConfig(config)

    resp, err := client.CreateChatCompletion(
        context.Background(),
        openai.ChatCompletionRequest{
            Model: "qwen/qwen3-30b-a3b-instruct-2507",
            Messages: []openai.ChatCompletionMessage{
                {Role: "user", Content: "5+7=?"},
            },
        },
    )
    if err != nil {
        panic(err)
    }
    fmt.Println(resp.Choices[0].Message.Content)
}

Потоковый вывод (Streaming)

Для получения ответа по частям используйте параметр stream: true.

from openai import OpenAI

client = OpenAI(
    base_url="https://rus-gpt.com/api/v1",
    api_key="rusgpt-YOUR_API_KEY",
)

stream = client.chat.completions.create(
    model="qwen/qwen3-30b-a3b-instruct-2507",
    messages=[{"role": "user", "content": "5+7=?"}],
    stream=True,
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)
curl https://rus-gpt.com/api/v1/chat/completions   -H "Authorization: Bearer rusgpt-YOUR_API_KEY"   -H "Content-Type: application/json"   -d '{
    "model": "qwen/qwen3-30b-a3b-instruct-2507",
    "messages": [{"role": "user", "content": "5+7=?"}],
    "stream": true
  }'
import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'https://rus-gpt.com/api/v1',
  apiKey: 'rusgpt-YOUR_API_KEY',
});

const stream = await client.chat.completions.create({
  model: 'qwen/qwen3-30b-a3b-instruct-2507',
  messages: [{ role: 'user', content: '5+7=?' }],
  stream: true,
});

for await (const chunk of stream) {
  const content = chunk.choices[0]?.delta?.content || '';
  process.stdout.write(content);
}
package main

import (
    "context"
    "fmt"
    "io"
    "github.com/sashabaranov/go-openai"
)

func main() {
    config := openai.DefaultConfig("rusgpt-YOUR_API_KEY")
    config.BaseURL = "https://rus-gpt.com/api/v1"
    client := openai.NewClientWithConfig(config)

    stream, err := client.CreateChatCompletionStream(
        context.Background(),
        openai.ChatCompletionRequest{
            Model: "qwen/qwen3-30b-a3b-instruct-2507",
            Messages: []openai.ChatCompletionMessage{
                {Role: "user", Content: "5+7=?"},
            },
            Stream: true,
        },
    )
    if err != nil {
        panic(err)
    }
    defer stream.Close()

    for {
        response, err := stream.Recv()
        if err == io.EOF {
            break
        }
        if err != nil {
            panic(err)
        }
        fmt.Print(response.Choices[0].Delta.Content)
    }
}

Messages API (Anthropic формат)

Альтернативный эндпоинт, совместимый с Anthropic SDK.

import httpx

response = httpx.post(
    "https://rus-gpt.com/api/v1/messages",
    headers={
        "Authorization": "Bearer rusgpt-YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={
        "model": "qwen/qwen3-30b-a3b-instruct-2507",
        "max_tokens": 1024,
        "messages": [
            {"role": "user", "content": "5+7=?"}
        ],
    },
)

data = response.json()
print(data["content"][0]["text"])
curl https://rus-gpt.com/api/v1/messages   -H "Authorization: Bearer rusgpt-YOUR_API_KEY"   -H "Content-Type: application/json"   -d '{
    "model": "qwen/qwen3-30b-a3b-instruct-2507",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "5+7=?"}
    ]
  }'
const response = await fetch('https://rus-gpt.com/api/v1/messages', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer rusgpt-YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'qwen/qwen3-30b-a3b-instruct-2507',
    max_tokens: 1024,
    messages: [
      { role: 'user', content: '5+7=?' }
    ],
  }),
});

const data = await response.json();
console.log(data.content[0].text);

Модели и цены

Выбор модели зависит от вашей задачи. Вот рекомендации:

Задача Рекомендуемая модель Почему
Программирование anthropic/claude-sonnet-4.5 Баланс качества и скорости
Программирование (open source) z-ai/glm-4.7 Открытая модель для кода
Сложный анализ anthropic/claude-opus-4.6 Максимальное качество
Простые задачи qwen/qwen3-30b-a3b-instruct-2507 Низкая стоимость
Генерация изображений google/gemini-3-pro-image-preview Лучшее качество (nano banana 2)

Оплата за токены (input + output). Цены указаны за 1 миллион токенов.

Полный список моделей с актуальными ценами: Страница моделей

Вы можете проверить скорость и сравнить с другими провайдерами.

Баланс и оплата

Управляйте балансом и отслеживайте использование API:

Текущий баланс и статистика

Аккаунт

История запросов к API

Активность

Пополнение баланса картой

Пополнить
Error 402 (Payment Required): Означает, что на балансе недостаточно средств для выполнения запроса. Пополните баланс на странице пополнения.

API Endpoints

POST /api/v1/chat/completions

Chat Completions в формате OpenAI

POST /api/v1/messages

Messages API в формате Anthropic

GET /api/v1/models

Список доступных моделей

Аутентификация

Передайте API-ключ одним из способов:

Обработка ошибок

API возвращает стандартные HTTP-коды ошибок:

Безопасность

Важно: Храните API-ключ в безопасности. Не публикуйте его в открытых репозиториях и не передавайте третьим лицам. Используйте переменные окружения для хранения ключей.

Поддержка

Если у вас возникли вопросы или проблемы: