Вход в Bralin API Hub
Управление инференсом, клиентами и логами хаба
// Активная сессия 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 }}
Параметры запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| model | string | ✓ | Алиас модели (rigel, orion, imagine...) |
| messages | array | ✓ | Массив {role, content}. Роли: system, user, assistant |
| stream | bool | – | SSE стриминг (только для text моделей) |
| temperature | float | – | 0.0–1.5. По умолчанию 0.7 |
| search | bool | – | Tavily поиск для 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 }} | |
| Логи не найдены... | |||||