Gemini 原生
生成內容
使用 Google Gemini API 格式生成內容
使用 Gemini Models API 回傳的模型,以 Gemini 請求與回應格式呼叫。支援 ProtoJSON lowerCamelCase 和對應的 proto snake_case 欄位名稱;可選欄位與取值以所選模型為準。
路徑參數
模型名稱(例如:gemini-2.5-pro、gemini-3.5-flash)。
查詢參數
API key(標頭驗證的替代方案)。
驗證
Gemini 端點支援多種驗證方式:
?key=YOUR_API_KEY查詢參數x-goog-api-key: YOUR_API_KEY標頭Authorization: Bearer YOUR_API_KEY標頭
請求主體
對話內容,包含 parts 和可選的 role。媒體欄位使用 inlineData / inline_data 或 fileData / file_data。TokenLab 建立的 Files 與 Cache ID 只能在所屬工作區使用。
模型的系統指令。
生成設定包括 temperature、topP、topK、maxOutputTokens、stopSequences、candidateCount、responseModalities、responseMimeType、responseSchema 和 thinkingConfig,也支援對應的 snake_case 名稱。取值範圍與組合以所選模型為準。
安全過濾器設定。
回應
生成的內容候選。
Token 使用資訊。
請求
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
}
}'多模態輸入範例
對於 Gemini 多模態請求,請把媒體放在 contents[].parts[] 中,可以使用「內嵌位元組」或「基於 URL 的檔案引用」兩種方式。
目前公共 Gemini 契約支援的媒體類別:
- 圖片
- 音訊
- 影片
對於內嵌媒體,請使用 inlineData 或 inline_data,並傳入檔案位元組的 Base64 內容。
對於 URL 媒體,請使用 fileData 或 file_data,並傳入可公開存取的 https URL。
圖片輸入範例
使用內嵌圖片位元組:
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "請描述這張圖片。" },
{
"inlineData": {
"mimeType": "image/jpeg",
"data": "/9j/4AAQSkZJRgABAQ..."
}
}
]
}
]
}使用圖片 URL:
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "請描述這張圖片。" },
{
"fileData": {
"mimeType": "image/jpeg",
"fileUri": "https://example.com/demo.jpg"
}
}
]
}
]
}音訊輸入範例
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "請轉寫並摘要這段音訊。" },
{
"file_data": {
"mime_type": "audio/mpeg",
"file_uri": "https://example.com/sample.mp3"
}
}
]
}
]
}影片輸入範例
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "請簡要描述這段影片。" },
{
"fileData": {
"mimeType": "video/mp4",
"fileUri": "https://example.com/sample.mp4"
}
}
]
}
]
}回應
{
"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
}
}影片輸入範例
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this video." },
{
"fileData": {
"mimeType": "video/mp4",
"fileUri": "https://example.com/demo.mp4"
}
}
]
}
]
}音訊輸入範例
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this audio." },
{
"fileData": {
"mimeType": "audio/mpeg",
"fileUri": "https://example.com/demo.mp3"
}
}
]
}
]
}授權
BearerAuth API Key 驗證。請在 Dashboard > API > API Keys 建立或管理 API 金鑰。
位置: header
路徑參數
模型名稱 (例如 gemini-2.5-pro)
查詢參數
API 金鑰 (標頭驗證的替代方案)
請求標頭
單次請求傳遞策略。會覆寫 API key 與 Workspace 的預設值。系統會自動優先嘗試 TokenLab Verified,並可能在輸出、請求接受或建立持久性資源前切換至 Official 模式一次。
可選值
- "auto"
- "verified"
- "official"
請求主體
application/json
原生的 Gemini GenerateContent 請求。ProtoJSON 的 lowerCamelCase 與原始 proto 的 snake_case 名稱皆可接受並會被保留,包含混合請求。若同一欄位同時存在兩種拼寫,TokenLab 不會合併它們或選擇本機優先順序。未知欄位將以盡力而為的方式轉發。
回應
application/json
application/json
application/json
application/json
application/json
application/json