Nika Gateway

Быстрый старт

Первый запрос к API Nika Gateway за пять минут — cURL, JavaScript и Python

Быстрый старт

1. Получите API-ключ

  1. Зарегистрируйтесь в личном кабинете и пополните баланс.
  2. Перейдите в раздел API-ключи и создайте ключ. Полное значение ключа показывается один раз — сразу сохраните его.

Ключ выглядит так: sk-tunnel-9f2c... (64 шестнадцатеричных символа после префикса).

2. Сделайте первый запрос

Базовый URL API: https://api.nikagateway.ru/v1. Модель указывается slug'ом вида провайдер/модель.

cURL

curl https://api.nikagateway.ru/v1/chat/completions \
  -H "Authorization: Bearer sk-tunnel-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek/deepseek-v4-pro",
    "messages": [{"role": "user", "content": "Привет!"}]
  }'

JavaScript (openai)

npm install openai
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.nikagateway.ru/v1",
  apiKey: process.env.TUNNEL_API_KEY, // sk-tunnel-...
});

const response = await client.chat.completions.create({
  model: "deepseek/deepseek-v4-pro",
  messages: [{ role: "user", content: "Привет!" }],
});

console.log(response.choices[0].message.content);
console.log(response.usage.cost_rub, response.usage.balance);

Python (openai)

pip install openai
from openai import OpenAI

client = OpenAI(
    base_url="https://api.nikagateway.ru/v1",
    api_key="sk-tunnel-...",
)

response = client.chat.completions.create(
    model="anthropic/claude-sonnet-4.5",
    messages=[{"role": "user", "content": "Привет!"}],
)
print(response.choices[0].message.content)
print(response.usage.cost_rub, response.usage.balance)

3. Прочитайте ответ

Ответ соответствует формату OpenAI Chat Completions. Шлюз дополнительно возвращает два поля в usage:

{
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 24,
    "total_tokens": 36,
    "cost_rub": "0.008420",
    "balance": "999.991580"
  }
}
  • cost_rub — фактическая стоимость запроса в рублях;
  • balance — остаток баланса после списания.

Стриминг

Передайте "stream": true — шлюз прозрачно проксирует SSE-поток. Поле usage приходит в финальном чанке (шлюз автоматически включает stream_options.include_usage), списание происходит после завершения потока.

Что дальше