Chat Completions API

API Chat Completions позволяет отправлять запросы к AI моделям и получать ответы.

Эндпоинт

POST/v1/chat/completions

Аутентификация: Требуется аутентификация по API ключу. Включите ваш API ключ в заголовок Authorization:
-H "Authorization: Bearer gk-ваш_API_ключ..."

Формат запроса

Заголовки

Authorization: Bearer <ваш-API-ключ>
Content-Type: application/json

Параметры запроса

ПараметрТипОбязательноОписание
modelstringДаID модели (например, Qwen/Qwen3-235B-A22B-Instruct-2507-FP8)
messagesarrayДаМассив объектов сообщений
streambooleanНетВключить потоковую передачу (по умолчанию: false)
temperaturenumberНетТемпература выборки (0-2)
max_tokensintegerНетМаксимум токенов в ответе

Объект сообщения

ПараметрТипОбязательноОписание
rolestringДаОдно из: system, user, assistant
contentstringДаСодержимое сообщения

Примеры

Базовый запрос

curl -X POST https://api.aigonka.ru/v1/chat/completions \
  -H "Authorization: Bearer gk-ваш_API_ключ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    "messages": [
      {
        "role": "user",
        "content": "Привет, как дела?"
      }
    ]
  }'

Ответ

{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1705312200,
  "model": "Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Привет! У меня всё хорошо, спасибо, что спросили."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 13,
    "completion_tokens": 15,
    "total_tokens": 28
  }
}

Пример на Python

from openai import OpenAI

client = OpenAI(
    api_key="gk-ваш_API_ключ",
    base_url="https://api.aigonka.ru/v1"
)

response = client.chat.completions.create(
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    messages=[
        {"role": "system", "content": "Вы полезный ассистент."},
        {"role": "user", "content": "Какая сегодня погода?"}
    ],
    temperature=0.7,
    max_tokens=100
)

print(response.choices[0].message.content)

Пример на TypeScript

import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'gk-ваш_API_ключ',
  baseURL: 'https://api.aigonka.ru/v1'
});

const response = await client.chat.completions.create({
  model: 'Qwen/Qwen3-235B-A22B-Instruct-2507-FP8',
  messages: [
    { role: 'system', content: 'Вы полезный ассистент.' },
    { role: 'user', content: 'Какая сегодня погода?' }
  ],
  temperature: 0.7,
  max_tokens: 100
});

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

Биллинг

Каждый запрос автоматически тарифицируется на основе использования токенов:

  • Цена за токен: $0.000000125
  • Биллинг: Вычитается из вашего баланса
  • Заголовки: Информация о биллинге включена в заголовки ответа

Заголовки ответа

X-Billing-Tokens: 28
X-Billing-Cost: 0.0035
X-Balance-Remaining: 2.99

Ответы с ошибками

401 Unauthorized

{
  "error": {
    "message": "Неверный API ключ",
    "type": "unauthorized"
  }
}

402 Payment Required

{
  "error": {
    "message": "Недостаточно средств",
    "type": "insufficient_balance"
  }
}

429 Превышен лимит

{
  "error": {
    "message": "Превышен лимит запросов",
    "type": "rate_limit_exceeded"
  }
}

Потоковая передача

Включите потоковую передачу, установив stream: true:

curl -X POST https://api.aigonka.ru/v1/chat/completions \
  -H "Authorization: Bearer gk-ваш_API_ключ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    "messages": [{"role": "user", "content": "Привет!"}],
    "stream": true
  }'