POST https://platform.beeknoee.com/v1/chat/completions
Request
Headers
Header
Value
Required
Authorization
Bearer YOUR_API_KEY
✅
Content-Type
application/json
✅
Body Parameters
Parameter
Type
Required
Description
model
string
✅
Model ID (VD: deepseek/deepseek-v3.2, gpt-5.5, claude-sonnet-4-6)
messages
array
✅
Danh sách messages
temperature
number
❌
Độ sáng tạo (0-2). Nếu không truyền, model tự dùng mặc định. Một số model Claude đời mới không hỗ trợ — xem lưu ý bên dưới
max_tokens
number
❌
Số tokens tối đa output (default: 1000)
stream
boolean
❌
Stream response (default: false)
media_resolution
string
❌
Chất lượng xử lý media: LOW, MEDIUM, HIGH (chỉ Gemini)
thinking_level
string
❌
Độ sâu suy nghĩ: LOW, MEDIUM, HIGH (chỉ Gemini 3+)
💡 Lưu ý: Dùng GET /v1/models để xem danh sách model ID (cột providerModelId). API key cũ (gắn sẵn model) có thể bỏ qua field model.
⚠️ Model reasoning → dùng "stream": true: Các model Claude (Opus/Sonnet) và các model "thinking" (GPT high-reasoning, DeepSeek R1, Gemini Pro) có thể suy nghĩ >120 giây trước khi trả lời. Nếu gọi non-streaming (stream: false), request dễ bị Cloudflare Error 524 do vượt giới hạn 120s. Khi stream: true, token trả về liên tục nên không bao giờ bị 524. Xem Error Handling.
⚠️ Model Claude & temperature: Các model Claude Opus 4.7 trở lên không nhận temperature / top_p / top_k — gửi kèm sẽ lỗi 400 invalid_request_error. Các model Sonnet / Haiku 4.x chỉ cho gửi một trong temperaturehoặctop_p, không cả hai. Nếu không cần chỉnh, đừng gửi các field này. Chi tiết: Error Handling.
{"id":"chatcmpl-abc123","object":"chat.completion","created":1706731000,"model":"deepseek/deepseek-v3.2","choices":[{"index":0,"message":{"role":"assistant","content":"Xin chào! Tôi có thể giúp gì cho bạn?"},"finish_reason":"stop"}],"usage":{"prompt_tokens":10,"completion_tokens":15,"total_tokens":25,"prompt_cache_hit_tokens":0,"prompt_cache_miss_tokens":10}}
Response Fields
Field
Description
id
ID unique của completion
model
Model được sử dụng
choices
Array kết quả (thường 1 phần tử)
choices[].message
Message response từ AI
choices[].message.thought_signature
Chữ ký suy nghĩ (Gemini 3+, dùng cho multi-turn)
choices[].finish_reason
Lý do dừng (stop, length, content_filter)
usage
Thống kê tokens sử dụng
usage.prompt_cache_hit_tokens
Tokens từ cache (giá rẻ hơn 75-90%)
usage.completion_tokens_details.reasoning_tokens
Tokens suy nghĩ (thinking/reasoning models — đã tính trong completion_tokens)
💡 Multi-turn với Thinking: Khi response có thought_signature, hãy gửi lại nó trong tin nhắn assistant ở lượt tiếp theo để Gemini nhớ logic suy nghĩ. Nếu không gửi, Gemini vẫn hoạt động nhưng sẽ suy nghĩ lại từ đầu.
messages = [
{
"role": "system",
"content": "Bạn là một trợ lý AI chuyên về lập trình Python."
},
{
"role": "user",
"content": "Làm sao để đọc file JSON?"
}
]
response = requests.post(
"https://platform.beeknoee.com/v1/chat/completions",
headers={"Authorization": "Bearer sk-bee-your-key", "Content-Type": "application/json"},
json={"messages": messages}
)
Sử dụng OpenAI SDK
from openai import OpenAI
client = OpenAI(
api_key="sk-bee-your-key",
base_url="https://platform.beeknoee.com/v1"
)
response = client.chat.completions.create(
model="deepseek/deepseek-v3.2", # Chọn model bạn muốn sử dụng
messages=[
{"role": "system", "content": "Bạn là trợ lý hữu ích."},
{"role": "user", "content": "Xin chào!"}
],
max_tokens=1000,
temperature=0.7
)
print(response.choices[0].message.content)
Multi-turn Conversation
conversation = [
{"role": "user", "content": "Thủ đô của Việt Nam là gì?"},
{"role": "assistant", "content": "Thủ đô của Việt Nam là Hà Nội."},
{"role": "user", "content": "Dân số của nó là bao nhiêu?"}
]
response = requests.post(
"https://platform.beeknoee.com/v1/chat/completions",
headers={"Authorization": "Bearer sk-bee-your-key", "Content-Type": "application/json"},
json={"messages": conversation}
)
Điều chỉnh Temperature
# Temperature thấp = output chính xác, nhất quán
response = requests.post(
"https://platform.beeknoee.com/v1/chat/completions",
headers=headers,
json={
"messages": [{"role": "user", "content": "1 + 1 = ?"}],
"temperature": 0.1# Rất chính xác
}
)
# Temperature cao = output sáng tạo, đa dạng
response = requests.post(
"https://platform.beeknoee.com/v1/chat/completions",
headers=headers,
json={
"messages": [{"role": "user", "content": "Viết một câu chuyện ngắn"}],
"temperature": 1.5# Rất sáng tạo
}
)
⚠️ Lưu ý: Audio/Video/PDF hiện chỉ hỗ trợ trên các model Gemini. Gửi media đến model không hỗ trợ sẽ bị bỏ qua phần media. Xem badge năng lực (👁 vision, 🎧 audio...) của từng model tại trang Models.