Docs / Giao thức
Gemini (google-genai)
Dùng model gemini-* qua generateContent, giữ nguyên SDK Google.
Cấu hình
Đường dẫn là /v1beta/models/{model}:generateContent — đúng hình dạng SDK Google. Header xác thực là x-goog-api-key (SDK tự gửi), và base_url là https://api.apimodelhub.com (SDK tự ghép /v1beta/..., không thêm /v1).
from google import genai
client = genai.Client(
api_key="sk-spk-...",
http_options={"base_url": "https://api.apimodelhub.com"},
)
res = client.models.generate_content(
model="gemini-3.8-flash",
contents="Hello",
)
print(res.text)curl
curl https://api.apimodelhub.com/v1beta/models/gemini-3.8-flash:generateContent \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "content-type: application/json" \
-d '{"contents":[{"role":"user","parts":[{"text":"Hello"}]}]}'Streaming cần alt=sseVới
:streamGenerateContent, chúng tôi tự thêm alt=sse nếu request thiếu. Không có nó thì Gemini trả một mảng JSON và không stream được — đây là lỗi hay gặp khi tự gọi trực tiếp.Đường này CHỈ dành cho model gemini-*
claude-* và gpt-* gọi vào /v1beta/... sẽ nhận 404 từ Google vì id không phải model của họ. Gateway không dịch giao thức — mỗi họ model đi đúng đường của nó, cùng một key.Đếm token trước khi gửi: POST https://api.apimodelhub.com/v1beta/models/{model}:countTokens chuyển tiếp tới Google và KHÔNG bị tính tiền — cùng ý nghĩa với /v1/messages/count_tokens của Anthropic.