Gemini 兼容接口
TTToken 同时支持 Google generativelanguage v1beta 的原生格式,以及 google-genai 官方 SDK。
BASE
https://tttoken.xyz/v1betagenerateContent
POST
/v1beta/models/{model}:generateContentcurl "https://tttoken.xyz/v1beta/models/gemini-2.5-pro:generateContent" \
-H "x-goog-api-key: $TTT_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"role": "user",
"parts": [{"text": "用两句话解释黑洞"}]
}],
"generationConfig": {
"temperature": 0.7,
"maxOutputTokens": 512
}
}'
响应示例
{
"candidates": [{
"content": {
"role": "model",
"parts": [{"text": "黑洞是..."}]
},
"finishReason": "STOP",
"index": 0
}],
"usageMetadata": {
"promptTokenCount": 8,
"candidatesTokenCount": 40,
"totalTokenCount": 48
}
}
streamGenerateContent
POST
/v1beta/models/{model}:streamGenerateContent?alt=sse默认返回 NDJSON。加 ?alt=sse 得到 SSE 格式,和官方一致。
curl "https://tttoken.xyz/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse" \
-H "x-goog-api-key: $TTT_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"role":"user","parts":[{"text":"讲个笑话"}]}]
}'
多模态输入
Gemini 原生支持图片、音频、视频、PDF。使用 inline_data 内联,或用 Files API 上传后以 file_data 引用。
{
"contents": [{
"role": "user",
"parts": [
{"inline_data": {"mime_type":"image/jpeg","data":"/9j/4AAQ..."}},
{"text": "描述这张图"}
]
}]
}
Thought 输出
Gemini 2.5 支持输出 thought(思考摘要)。开启方式:
{
"contents": [...],
"generationConfig": {
"thinkingConfig": {
"thinkingBudget": 2048,
"includeThoughts": true
}
}
}
embedContent
POST
/v1beta/models/{model}:embedContent{
"model": "models/gemini-embedding-001",
"content": {"parts": [{"text": "猫"}]}
}
OpenAI 形式调用 Gemini
如果不想改代码,也可以用 OpenAI SDK 直接调 Gemini 模型:
from openai import OpenAI
client = OpenAI(
api_key="$TTT_KEY",
base_url="https://tttoken.xyz/v1",
)
resp = client.chat.completions.create(
model="gemini-2.5-pro",
messages=[{"role":"user","content":"你好"}],
)
官方 SDK
from google import genai
client = genai.Client(
api_key="$TTT_KEY",
http_options={"base_url": "https://tttoken.xyz"},
)
resp = client.models.generate_content(
model="gemini-2.5-pro",
contents="介绍一下光合作用",
)
print(resp.text)
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({
apiKey: process.env.TTT_KEY,
httpOptions: { baseUrl: "https://tttoken.xyz" },
});
const r = await ai.models.generateContent({
model: "gemini-2.5-pro",
contents: "介绍一下光合作用",
});
console.log(r.text);