Gemini Native
API Gemini gốc đặt mô hình trong /v1beta/models/{model}:generateContent và xác thực bằng x-goog-api-key.
curl
bash
# Giữ :generateContent ở cuối URL.
curl "https://sprelaytoken.com/v1beta/models/gemini-3-flash-preview:generateContent" \
-H "x-goog-api-key: $SPRELAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"role": "user",
"parts": [
{"text": "Giải thích API gateway trong một câu."}
]
}
]
}'contents là mảng tin nhắn và parts chứa các khối nội dung. Thay mô hình mẫu bằng đúng ID hiện đang khả dụng. JSON không cho phép chú thích trong nội dung.
Ví dụ HTTP bằng Python
python
# requests gửi HTTP; os đọc khóa từ môi trường.
import os
import requests
# ID mô hình trở thành một phần của URL gốc.
model = "gemini-3-flash-preview"
url = f"https://sprelaytoken.com/v1beta/models/{model}:generateContent"
# headers chứa xác thực; json là nội dung yêu cầu; timeout ngăn chờ vô hạn.
response = requests.post(
url,
headers={
"x-goog-api-key": os.environ["SPRELAY_API_KEY"],
"Content-Type": "application/json",
},
json={
"contents": [
{
"role": "user",
"parts": [{"text": "Giải thích API gateway trong một câu."}],
}
]
},
timeout=60,
)
# Báo lỗi với 4xx/5xx trước khi coi nội dung là thành công.
response.raise_for_status()
print(response.json())Văn bản thường nằm tại:
text
candidates[0].content.parts[0].textMã production cũng phải xử lý danh sách ứng viên trống, khối an toàn và nhiều phần nội dung. Không trộn contents/parts của Gemini với messages của OpenAI.
