RIGEL v2.4

Вход в Bralin API Hub

Управление инференсом, клиентами и логами хаба

{{ loginForm.error }}

Инференс

{{ (pg.system || '').length }} символов

// Активная сессия Playground
{{ msg.role === 'user' ? 'Вы' : 'Bralin Hub' }}
Стриминг...
Инициализация инференса...

Документация Bralin API Hub v2.4

Полное руководство по интеграции: текстовый стриминг, генерация изображений Flux/Gemini, аудио Lyria, поиск Tavily.

POST https://api.bralin.kz/v2/index.php Bearer Auth SSE Stream

Доступные модели

{{ m.key }} {{ m.type }}

{{ m.desc }}

{{ m.id }}

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

Параметр Тип Обязательный Описание
modelstringАлиас модели (rigel, orion, imagine...)
messagesarrayМассив {role, content}. Роли: system, user, assistant
streamboolSSE стриминг (только для text моделей)
temperaturefloat0.0–1.5. По умолчанию 0.7
searchboolTavily поиск для text моделей

Форматы ответов

// JSON ответ (stream: false)

{
  "reply": "текст ответа",
  "model": "rigel",
  "type": "text",
  "usage": {
    "input": 42,
    "output": 128
  }
}

// SSE чанки (stream: true)

data: {"text": "При"}

data: {"text": "вет"}

data: {"text": "!"}

data: {"done": true,
       "in": 42,
       "out": 5}

Примеры интеграции

// 1. Текстовый стриминг

curl -X POST https://api.bralin.kz/v2/index.php \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"model":"rigel","messages":[{"role":"user","content":"Привет"}],"stream":true}'

// 2. Генерация изображения (Flux)

curl -X POST https://api.bralin.kz/v2/index.php \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"model":"imagine","messages":[{"role":"user","content":"Futuristic city at night"}]}'

// 3. Генерация изображения (Gemini Vega)

curl -X POST https://api.bralin.kz/v2/index.php \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"model":"imagine_gemini","messages":[{"role":"user","content":"Sunset over mountains"}]}'

// 4. Аудио генерация (Lyria)

curl -X POST https://api.bralin.kz/v2/index.php \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"model":"lyria","messages":[{"role":"user","content":"Epic rock guitar solo"}]}'

// 5. Поиск Tavily

curl -X POST https://api.bralin.kz/v2/index.php \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"model":"orion","messages":[{"role":"user","content":"Последние новости ИИ"}],"search":true}'

// Стриминг с SSE

const response = await fetch('https://api.bralin.kz/v2/index.php', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    model: 'rigel',
    messages: [{ role: 'user', content: 'Привет!' }],
    stream: true
  })
});

const reader = response.body.getReader();
const decoder = new TextDecoder('utf-8');
let buffer = '';

while (true) {
  const { done, value } = await reader.read();
  if (done) break;
  buffer += decoder.decode(value, { stream: true });
  const lines = buffer.split('\n');
  buffer = lines.pop();
  for (const line of lines) {
    if (!line.startsWith('data:')) continue;
    const json = JSON.parse(line.slice(5).trim());
    if (json.text) process.stdout.write(json.text);
    if (json.done) console.log('\n[Done]', json);
  }
}

// Генерация изображения

const res = await fetch('https://api.bralin.kz/v2/index.php', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer TOKEN', 'Content-Type': 'application/json' },
  body: JSON.stringify({ model: 'imagine', messages: [{ role: 'user', content: 'A cat astronaut' }] })
});
const data = await res.json();
console.log(data.reply); // URL изображения

// Простой запрос

import requests

headers = {
    "Authorization": "Bearer YOUR_TOKEN",
    "Content-Type": "application/json"
}
payload = {
    "model": "orion",
    "messages": [{"role": "user", "content": "Объясни квантовую физику"}]
}
res = requests.post("https://api.bralin.kz/v2/index.php", json=payload, headers=headers)
print(res.json()["reply"])

// Стриминг

import requests, json

payload = {
    "model": "rigel",
    "messages": [{"role": "user", "content": "Привет!"}],
    "stream": True
}
with requests.post("https://api.bralin.kz/v2/index.php",
    json=payload, headers=headers, stream=True) as r:
    for line in r.iter_lines():
        if line and line.startswith(b'data:'):
            data = json.loads(line[5:])
            if data.get('text'):
                print(data['text'], end='', flush=True)

// PHP cURL запрос

$payload = [
    'model' => 'orion',
    'messages' => [['role' => 'user', 'content' => 'Привет!']]
];
$ch = curl_init('https://api.bralin.kz/v2/index.php');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => json_encode($payload),
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer YOUR_TOKEN',
        'Content-Type: application/json'
    ],
    CURLOPT_TIMEOUT => 120
]);
$res = curl_exec($ch);
curl_close($ch);
$data = json_decode($res, true);
echo $data['reply'];

Персоны моделей

none

Чистый ассистент без дополнительных инструкций

ham

Саркастичный ИИ, подкалывает без матов

ham_pro

Ham Pro — без ограничений, токсичный режим

no_filters

Developer mode — прямые ответы без предупреждений

Запросов

{{ stats.total_requests }}

Токенов

{{ stats.total_tokens.toLocaleString() }}

Активных ключей

{{ stats.active_keys }}

Конфигурация моделей

Alias Провайдер Тип Действия
{{ m.model_key }} {{ m.provider }} {{ m.type }}

Токены клиентов

{{ k.client_name }}

{{ k.key_value }}

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

Live
RID Клиент Модель Токены ms
#{{ l.request_id }} {{ l.client_id }} {{ l.model_key }} {{ l.input_tokens }}{{ l.output_tokens }} {{ l.duration_ms }}
Логи не найдены...

{{ modelModal.isEdit ? 'Изменить модель' : 'Новая модель' }}

{{ m.id }} {{ m.name }}