zhiyu1998/Gemi2Api-Server
HanaokaYuzu / Gemini-API 的服务端简单实现,仓库自动更新上游,支持gemini-3.6-flash、gemini-3.5-flash-lite 等
Gemi2Api‑Server – 一个轻量级的 Google Gemini 自托管代理
是什么
- 一个小的 FastAPI 服务,它将请求转发到 unofficial Google Gemini Web API(与 Gemini‑API 项目使用的 API 相同)。它模仿 OpenAI 的
/v1/chat/completions端点,以便现有的客户端可以在不使用 Google 官方 SDK 的情况下与 Gemini 对话。 - 包含一个内置的管理员 UI,您可以在其中查看服务状态、编辑所需的 Gemini cookies、更改 API key 并进行聊天测试。
为什么存在
- Google Gemini 目前不提供公开的、付费的 API(截至撰写本文时)。调用它的唯一程序化方法是逆向工程 Web UI 并发送与浏览器发送的相同的 HTTP 请求。此仓库将该逆向工程后的客户端 (
gemini‑webapi) 打包成一个可重用的服务器。 - 通过暴露一个标准的 OpenAI 兼容端点,开发者可以将其作为 ChatGPT 风格服务的即插即用替代方案来引入 Gemini。
如何工作
- 身份验证 – 您必须提供登录 Gemini 会话创建的两个 cookies (
__Secure-1PSID和__Secure-1PSIDTS)。README 解释了如何从浏览器的开发者工具中提取它们。 - FastAPI + Uvicorn – 服务器运行一个 FastAPI 应用 (
main.py)。对/v1/models的请求会返回可用 Gemini 模型的列表;对/v1/chat/completions的 POST 请求会将负载转发到 Gemini Web 端点并以 OpenAI 格式返回响应。 - 自定义模型定义 – 一个可选的
custom_models.yaml可以覆盖或添加模型条目,允许您更改 Gemini 预期的请求头 (x-goog-ext‑…‑jspb)。 - 图片代理 – 当 Gemini 返回生成的图片 URL 时,服务器可以通过
/gemini‑proxy/image代理图片,以便在防火墙或反向代理后可以访问该图片。 - 管理员面板 – 可在
/admin访问。该面板受您在.env中设置的API_KEY保护。它允许您:- 查看 Gemini 连接的健康状况。
- 在不重启的情况下更新 cookie 值。
- 调整速率限制设置。
- 查看实时日志并运行快速聊天测试。
如何运行
- Docker (推荐) – 在将
.env.example复制为.env并填写 cookie 值后,运行docker-compose up -d。 - 直接运行 – 安装依赖 (
uv或pip),激活虚拟环境,然后运行uvicorn main:app --reload。 - 环境变量控制可选行为:
TEMPORARY_CHAT会禁用“思考”或图片生成等功能。AUTO_DELETE_CHAT在响应后从 Gemini 中移除对话。PUBLIC_BASE_URL在反向代理后需要用于正确的图片代理 URL。
使用场景
- 希望在自己的应用程序中尝试 Gemini 而不依赖第三方托管服务的开发者。
- 正在构建内部工具且已经支持 OpenAI API 的团队,出于成本或能力原因想要切换到 Gemini。
- 需要在在 Render, HuggingFace Spaces, 或自托管服务器上快速演示 Gemini 的聊天和图片生成能力的任何人。
局限性
- 它依赖于用户提供的 cookies;如果 Google 轮换或使之失效,服务将停止,直到您刷新 cookies。
- 由于它使用未公开的 Web API,它可能会在不经通知的情况下失效。
- 演示部署(Render, HuggingFace)附带一个占位符密码,并且没有 Gemini cookies,因此它们只能显示管理员 UI。
致谢
- 使用了
gemini‑webapi库进行底层请求处理。 - 图片水印移除代码借自
journey‑ad/gemini-watermark-remover和allenk/GeminiWatermarkTool项目。
TL;DR: Gemi2Api‑Server 是一个基于 FastAPI 的代理,它让您能够像调用 OpenAI 兼容 API 一样调用 Google Gemini。您提供自己的 Gemini 登录 cookies,可以根据需要自定义模型请求头,并可以在本地或在容器中运行。对于想要在没有官方 API 的情况下使用 Gemini 的聊天和图片生成功能,它是开发者们的一个实用桥梁。
相关
- 项目
- 项目
- 项目
- 项目
- 项目