Tích hợp Brainiall vào ứng dụng Python hoặc Node.js của bạn
API của Brainiall tương thích với OpenAI
Nếu bạn đã biết cách gọi API của OpenAI, bạn cũng biết cách dùng Brainiall. Chỉ có 2 điểm khác biệt:
1. Base URL: https://api.brainiall.com/v1 (thay vì https://api.openai.com/v1)
2. API Key: định dạng brnl-... (thay vì sk-...)
Mọi thứ còn lại đều giống hệt. Code hiện tại của bạn hoạt động ngay chỉ cần thay hai giá trị này.

Bước 1: Tạo API key của bạn
1. Truy cập https://app.brainiall.com
2. Đăng nhập bằng Google (nếu là lần đầu)
3. Menu → API Keys → "Tạo mới"
4. Đặt tên mô tả ("my-app-prod" hoặc tương tự)
5. Sao chép key — nó chỉ hiển thị một lần, hãy lưu cẩn thận
Gói Pro có 1 key hoạt động; Business bao gồm credits + nhiều key + xoay vòng key.
Bước 2: Python với httpx
`python
import httpx
BASE = "https://api.brainiall.com/v1"
KEY = "brnl-d13..." # key của bạn
def chat(prompt, model="claude-sonnet-4-6"):
r = httpx.post(
f"{BASE}/chat/completions",
json={
"model": model,
"messages": [{"role": "user", "content": prompt}]
},
headers={"Authorization": f"Bearer {KEY}"},
timeout=60
)
r.raise_for_status()
return r.json()["choices"][0]["message"]["content"]
print(chat("Giải thích TLS trong 2 câu."))`
Bước 3: Python với SDK chính thức của OpenAI
`python
from openai import OpenAI
client = OpenAI(
base_url="https://api.brainiall.com/v1",
api_key="brnl-xxx"
)
r = client.chat.completions.create(
model="claude-sonnet-4-6",
messages=[{"role": "user", "content": "Xin chào!"}]
)
print(r.choices[0].message.content)`
SDK OpenAI hoạt động 100% — chúng tôi hỗ trợ streaming, function calling, tool_use, vision và toàn bộ các chuẩn OpenAI.
Bước 4: Node.js
`javascript
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://api.brainiall.com/v1',
apiKey: 'brnl-xxx'
});
const r = await client.chat.completions.create({
model: 'claude-sonnet-4-6',
messages: [{ role: 'user', content: 'Xin chào!' }]
});
console.log(r.choices[0].message.content);`
Các model hiện có
Dùng endpoint /v1/models để liệt kê theo thời gian thực:
`python
r = httpx.get(f"{BASE}/models", headers={"Authorization": f"Bearer {KEY}"})
for m in r.json()["data"]:
print(m["id"])`
Danh mục:
- Text: claude-sonnet-4-6, gpt-5, gemini-3-pro, llama-4-maverick, deepseek-v3, v.v.
- Image: gemini-3-flash-image, gpt-5-image, flux-2-klein, seedream-4.5
- Video (endpoint riêng /v1/videos): bytedance/seedance-2.0-fast
- TTS (endpoint /v1/audio/speech): 54 giọng nói
- STT (endpoint /v1/audio/transcriptions): Whisper Large v3
Streaming (server-sent events)
`python
with httpx.stream("POST", f"{BASE}/chat/completions", ...
json={"model": "...", "messages": [...], "stream": True}
) as r:
for line in r.iter_lines():
if line.startswith("data: "):
# parse chunk JSON
...`
Streaming giảm đáng kể độ trễ cảm nhận — các token xuất hiện ngay khi được tạo ra thay vì phải chờ toàn bộ phản hồi.
Rate limit và các thực hành tốt nhất
- Free tier API: không có — API yêu cầu gói Pro hoặc Business
- Pro: bao gồm chat + image qua portal, API tính phí theo lượng dùng
- Business: bao gồm $50/tháng credits API
- Retry: dùng exponential backoff cho lỗi 429/5xx
- Cache: lưu cục bộ các phản hồi có tính xác định
- Timeout: 60s là an toàn; với tác vụ dài như video, dùng 300s
Những lỗi thường gặp
- Quên
Bearertrước key → lỗi 401 - Hardcode key trong code → nguy cơ lộ key khi git push; hãy dùng biến môi trường
- Không xử lý lỗi 429 → ứng dụng bị dừng
- Bỏ qua
usagetrong response → bất ngờ khi nhận hóa đơn - Dùng model quá mạnh cho tác vụ đơn giản → tốn chi phí gấp 10 lần không cần thiết
Thử ngay bây giờ
Tạo key của bạn tại https://app.brainiall.com và chạy một trong các ví dụ trên. Gói Pro là mức tối thiểu để truy cập API; gói Business bao gồm đủ credits để bắt đầu ngay.