Skip to main content

Gemini 接口规范

兼容 Gemini 原生协议,路径中含模型 ID,适合已有 Gemini SDK 集成的项目。

项目
Base URLPOST https://api.taiha.cn/v1beta/models/{modelId}:streamGenerateContent
API Key控制台创建
Model ID模型广场查看(仅支持标注 Gemini 协议的模型)

基础对话

POST /v1beta/models/<Model ID>:generateContent

cURL

curl --location --request POST 'https://api.taiha.cn/v1beta/models/<Model ID>:generateContent' \
--header 'Authorization: Bearer <API Key>' \
--header 'Content-Type: application/json' \
--data-raw '{
"contents": [{
"parts": [{
"text": "How does AI work?"
}]
}]
}'

鉴权说明: Gmini 协议请求 header 中默认使用 Authorization: Bearer <API Key>,如遇到不能识别 Authorization 参数的情形,可将 "Authorization": "Bearer <API Key>" 替换为 "x-goog-api-key": "<API Key>"

搜索请求

原生模型搜索请求

POST /v1beta/models/<Model ID>:generateContent

cURL

curl --location --request POST 'https://api.taiha.cn/v1beta/models/<Model ID>:generateContent' \
--header 'Authorization: Bearer <API Key>' \
--header 'Content-Type: application/json' \
--data-raw '{
"contents": [{
"parts": [{
"text": "北京今天天气怎么样?"
}]
}],
"tools": [{
"googleSearch": {}
}, {
"urlContext": {}
}]
}'

默认搜索请求

POST /v1beta/models/<Model ID>:generateContent

cURL

curl --location --request POST 'https://api.taiha.cn/v1beta/models/<Model ID>:generateContent' \
--header 'Authorization: Bearer <API Key>' \
--header 'Content-Type: application/json' \
--data-raw '{
"contents": [{
"parts": [{
"text": "北京今天天气怎么样?"
}]
}]
}'

视频理解

POST /v1beta/models/<Model ID>:generateContent

cURL

curl --location --request POST 'https://api.taiha.cn/v1beta/models/<Model ID>:generateContent' \
--header 'Authorization: Bearer <API Key>' \
--header 'Content-Type: application/json' \
--data-raw '{
"contents": [{
"parts": [{
"inline_data": {
"mime_type": "video/mp4",
"data": "<Base64 Code>"
}
}, {
"text": "请总结这个视频的主要内容,并列出三个关键时刻。"
}]
}]
}'

Base64 编码说明: <Base64 Code> 参数是将视频文件进行 Base64 编码后的字符串,参考脚本如下:

#!/usr/bin/env bash
set -euo pipefail
VIDEO_PATH="./demo.mp4"

if [[ "$(base64 --version 2>&1)" = *"FreeBSD"* ]]; then
B64FLAGS="--input"
else
B64FLAGS="-w0"
fi
base64 $B64FLAGS "$VIDEO_PATH" > base64.txt

常用参数

参数类型说明
contentsarray必填。多轮消息,roleusermodel
systemInstructionobject系统指令,格式 { parts: [{ text }] }
generationConfigobject生成参数,见下表

generationConfig

参数说明
temperature随机性 [0, 2]
topP核采样 [0, 1]
maxOutputTokens最大输出长度

响应格式

Gemini 响应为 SSE,每条 data: 是一个 JSON 片段:

{
"candidates": [{
"content": { "role": "model", "parts": [{ "text": "增量文本" }] },
"finishReason": "STOP"
}],
"usageMetadata": { "promptTokenCount": 10, "candidatesTokenCount": 20 }
}

与 OpenAI SSE 不同:末尾无 [DONE],以最后一条 finishReason 非空(STOP / MAX_TOKENS)表示结束。