Gemini 原生
生成内容
使用 Google Gemini API 格式生成内容
使用 Gemini Models API 返回的模型,以 Gemini 请求和响应格式调用。支持 ProtoJSON lowerCamelCase 和对应的 proto snake_case 字段名;可选字段和取值以所选模型为准。
路径参数
模型名称(例如:gemini-2.5-pro,gemini-3.5-flash)。
查询参数
API 密钥,也可以改用下面任一请求头。
身份验证
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
}
}'多模态输入示例
把图片、音频或视频放进 contents[].parts[],可以使用 Base64 数据或公网 URL。
支持的媒体类型:
- 图片
- 音频
- 视频
内联媒体使用 inlineData 或 inline_data,data 中传入 Base64 内容。
URL 媒体使用 fileData 或 file_data,fileUri 中传入可公开访问的 https URL。
视频输入示例
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "请描述这个视频。" },
{
"fileData": {
"mimeType": "video/mp4",
"fileUri": "https://example.com/demo.mp4"
}
}
]
}
]
}音频输入示例
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "请描述这段音频。" },
{
"fileData": {
"mimeType": "audio/mpeg",
"fileUri": "https://example.com/demo.mp3"
}
}
]
}
]
}图片输入示例
使用内联图片字节:
{
"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
}
}授权
BearerAuth API Key 身份验证。在 Dashboard > API > API Keys 中创建或管理 API Key。
位置: header
路径参数
模型名称 (例如 gemini-2.5-pro)
查询参数
API 密钥 (请求头身份验证的替代方案)
请求头
单次请求的交付策略。覆盖 API 密钥和 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