Gemini gốc
Tạo nội dung
Tạo nội dung bằng định dạng Google Gemini API
Dùng định dạng yêu cầu và phản hồi Gemini với model do Gemini Models API trả về. Chấp nhận tên trường ProtoJSON lowerCamelCase và proto snake_case tương ứng. Các trường tùy chọn và giá trị được hỗ trợ phụ thuộc vào model đã chọn.
Tham số đường dẫn
Tên mô hình (ví dụ: gemini-2.5-pro, gemini-3.5-flash).
Tham số truy vấn
API key (phương thức thay thế cho xác thực qua header).
Xác thực
Các endpoint của Gemini hỗ trợ nhiều phương thức xác thực:
?key=YOUR_API_KEYtham số truy vấn- tiêu đề
x-goog-api-key: YOUR_API_KEY - tiêu đề
Authorization: Bearer YOUR_API_KEY
Thân yêu cầu
Nội dung hội thoại có parts và role tùy chọn. Media dùng inlineData / inline_data hoặc fileData / file_data. ID Files và Cache do TokenLab tạo chỉ dùng được trong Workspace sở hữu chúng.
Chỉ dẫn hệ thống cho mô hình.
Thiết lập tạo nội dung như temperature, topP, topK, maxOutputTokens, stopSequences, candidateCount, responseModalities, responseMimeType, responseSchema và thinkingConfig. Chấp nhận cả tên snake_case tương ứng. Giá trị và tổ hợp phụ thuộc vào model.
Cài đặt bộ lọc an toàn.
Phản hồi
Các ứng viên nội dung được tạo.
Thông tin sử dụng token.
Yêu cầu
curl -X POST "https://api.tokenlab.sh/v1beta/models/gemini-2.5-pro:generateContent?key=sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"parts": [{"text": "Hello, Gemini!"}]
}
],
"generationConfig": {
"temperature": 0.7,
"maxOutputTokens": 1024
}
}'Ví dụ đầu vào đa phương thức
Với các yêu cầu Gemini đa phương thức, hãy đặt media vào contents[].parts[] bằng byte inline hoặc tham chiếu tệp dựa trên URL.
Các loại media hiện được hỗ trợ trong model details Gemini:
- hình ảnh
- âm thanh
- video
Với media inline, dùng inlineData hoặc inline_data và truyền byte tệp được mã hoá Base64.
Với media qua URL, dùng fileData hoặc file_data và truyền một URL công khai https.
Ví dụ đầu vào hình ảnh
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Hãy mô tả hình ảnh này." },
{
"inlineData": {
"mimeType": "image/jpeg",
"data": "/9j/4AAQSkZJRgABAQ..."
}
}
]
}
]
}Ví dụ đầu vào âm thanh
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Hãy chép lời và tóm tắt đoạn âm thanh này." },
{
"file_data": {
"mime_type": "audio/mpeg",
"file_uri": "https://example.com/sample.mp3"
}
}
]
}
]
}Ví dụ đầu vào video
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Hãy mô tả ngắn gọn video này." },
{
"fileData": {
"mimeType": "video/mp4",
"fileUri": "https://example.com/sample.mp4"
}
}
]
}
]
}Phản hồi
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{"text": "Hello! How can I assist you today?"}
]
},
"finishReason": "STOP",
"safetyRatings": [
{"category": "HARM_CATEGORY_HARASSMENT", "probability": "NEGLIGIBLE"}
]
}
],
"usageMetadata": {
"promptTokenCount": 5,
"candidatesTokenCount": 10,
"totalTokenCount": 15
}
}Ví dụ đầu vào video
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this video." },
{
"fileData": {
"mimeType": "video/mp4",
"fileUri": "https://example.com/demo.mp4"
}
}
]
}
]
}Ví dụ đầu vào âm thanh
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this audio." },
{
"fileData": {
"mimeType": "audio/mpeg",
"fileUri": "https://example.com/demo.mp3"
}
}
]
}
]
}Xác thực
BearerAuth Xác thực bằng Khóa API. Tạo hoặc quản lý khóa API trong Dashboard > API > API Keys.
Vị trí: header
Tham số đường dẫn
Tên model (ví dụ: gemini-2.5-pro)
Tham số truy vấn
API key (thay thế cho xác thực bằng header)
Header
Chính sách phân phối theo yêu cầu. Ghi đè các mặc định của API key và Workspace. Tự động thử TokenLab Verified trước và có thể chuyển đổi một lần sang Official chỉ trước khi xuất, chấp nhận yêu cầu hoặc tạo tài nguyên cố định.
Giá trị hợp lệ
- "auto"
- "verified"
- "official"
Nội dung yêu cầu
application/json
Yêu cầu GenerateContent Gemini gốc. Cả tên ProtoJSON lowerCamelCase và tên proto snake_case gốc đều được chấp nhận và bảo toàn, bao gồm cả các yêu cầu hỗn hợp. Nếu cả hai cách viết của một trường đều có mặt, TokenLab không hợp nhất chúng hoặc chọn ưu tiên cục bộ. Các trường không xác định được chuyển tiếp trên cơ sở nỗ lực tốt nhất.
Phản hồi
application/json
application/json
application/json
application/json
application/json
application/json