一个封装将 Google AI Studio Build 封装为兼容 OpenAI / Gemini / Anthropic 风格的 API 的包装器。
一个封装将 Google AI Studio Build 封装为兼容 OpenAI / Gemini / Anthropic 风格的 API 的包装器。
中文文档 | English
一个将 Google AI Studio Build App 网页端封装为兼容 OpenAI API、Gemini API 和 Anthropic API 的工具。该服务将充当代理,将 API 请求转换为与 AI Studio Build App 应用界面的浏览器交互。
克隆仓库:
git clone https://github.com/iBUHub/AIStudioToAPI.git
cd AIStudioToAPI
运行快速设置脚本:
npm run setup-auth
自动填充和无交互模式示例请看 账号自动填充 部分。
该脚本将:
/configs/auth)提示: 如果下载 Camoufox 浏览器失败或等待太久,可以自行点击 此处 下载,然后设置环境变量
CAMOUFOX_EXECUTABLE_PATH为可执行文件的路径(支持绝对和相对路径)。
配置环境变量(可选):
复制根目录下的 .env.example 为 .env,并在 .env 中按需修改配置(如端口、API 密钥等)。
启动服务:
npm start
如果已经构建过前端资源,后续只想快速重启服务,可使用:
npm run quick-start
API 服务将在 http://localhost:7860 上运行。
服务启动后,您可以在浏览器中访问 http://localhost:7860 打开 Web 控制台主页,在这里可以查看账号状态和服务状态。
请求统计数据会持久化保存到 /data/usage-stats.jsonl。
更新到最新版本(已有本地部署时):
git pull
npm install
npm start
⚠ 注意: 直接运行不支持通过 VNC 在线添加账号,需要使用
npm run setup-auth脚本添加账号。当前 VNC 登录功能仅在 Docker 容器中可用。
使用 Docker 部署,无需预先提取身份验证凭据。
docker run -d \
--name aistudio-to-api \
-p 7860:7860 \
-v /path/to/auth:/app/configs/auth \
-v /path/to/data:/app/data \
-e API_KEYS=your-api-key-1,your-api-key-2 \
-e TZ=Asia/Shanghai \
--restart unless-stopped \
ghcr.io/ibuhub/aistudio-to-api:latest
提示: 如果
ghcr.io访问速度较慢或不可用,可以使用 Docker Hub 镜像:ibuhub/aistudio-to-api:latest。
参数说明:
-p 7860:7860:API 服务器端口(如果使用反向代理,强烈建议改成 127.0.0.1:7860)-v /path/to/auth:/app/configs/auth:挂载包含认证文件的目录-v /path/to/data:/app/data:挂载统计数据持久化目录(/app/data/usage-stats.jsonl)-e API_KEYS:用于身份验证的 API 密钥列表(使用逗号分隔)-e TZ=Asia/Shanghai:时区设置(可选,默认使用系统时区)创建 docker-compose.yml 文件:
name: aistudio-to-api
services:
app:
image: ghcr.io/ibuhub/aistudio-to-api:latest
container_name: aistudio-to-api
ports:
# API 服务器端口(如果使用反向代理,强烈建议改成 127.0.0.1:7860)
- 7860:7860
restart: unless-stopped
volumes:
# 挂载包含认证文件的目录
- ./auth:/app/configs/auth
# 挂载统计数据持久化目录
- ./data:/app/data
environment:
# 用于身份验证的 API 密钥列表(使用逗号分隔)
API_KEYS: your-api-key-1,your-api-key-2
# 时区设置(可选,默认使用系统时区)
TZ: Asia/Shanghai
提示: 如果
ghcr.io访问速度较慢或不可用,可以将image改为ibuhub/aistudio-to-api:latest。
如果您希望自己构建 Docker 镜像,可以使用以下命令:
构建镜像:
docker build -t aistudio-to-api .
运行容器:
docker run -d \
--name aistudio-to-api \
-p 7860:7860 \
-v /path/to/auth:/app/configs/auth \
-v /path/to/data:/app/data \
-e API_KEYS=your-api-key-1,your-api-key-2 \
-e TZ=Asia/Shanghai \
--restart unless-stopped \
aistudio-to-api
部署后,您需要使用以下方式之一添加 Google 账号:
方法 1:VNC 登录(推荐)
http://your-server:7860)并点击「添加账号」按钮auth-N.json(N 从 0 开始)方法 2:上传认证文件
npm run setup-auth 生成认证文件(参考 直接运行 的 1 和 2),认证文件在 /configs/auth/path/to/auth 目录提示:您也可以从已有的容器下载 auth 文件,然后上传到新的容器。在网页控制台点击对应账号的「下载 Auth」按钮即可下载 auth 文件。
⚠ 目前暂不支持通过环境变量注入认证信息。
如果需要通过域名访问或希望在反向代理层统一管理(例如配置 HTTPS、负载均衡等),可以使用 Nginx。
详细的 Nginx 配置说明请参阅:Nginx 反向代理配置文档
ℹ Claw Cloud Run 公告: 自 2026/05/11 00:00 UTC 起,Claw Cloud Run 已停止产品及相关服务。详情请参阅官方公告: 公告
旧版部署教程请参阅:部署到 Claw Cloud Run
ℹ Zeabur 公告: 自 2026/03/15 起,Zeabur 已停止在 共享集群 上创建新项目;已经运行在共享集群上的服务不会受到影响。详情请参阅官方变更说明: 公告
旧版部署教程请参阅:部署到 Zeabur
此端点处理后转发到 Gemini API 格式端点。
GET /v1/models: 列出模型。POST /v1/chat/completions: 聊天补全和图片生成,支持非流式、真流式和假流式。POST /v1/embeddings: 生成文本嵌入向量。POST /v1/responses: OpenAI Responses API 兼容接口,用于对话生成,不支持图像生成,支持非流式、真流式和假流式。POST /v1/responses/input_tokens: 计算 OpenAI Responses API 请求的输入 token 数量。此端点转发到 Gemini API 格式端点。
GET /v1beta/models: 列出可用的 Gemini 模型。POST /v1beta/models/{model_name}:generateContent: 生成内容、图片和语音。POST /v1beta/models/{model_name}:streamGenerateContent: 流式生成内容、图片和语音,支持真流式和假流式。POST /v1beta/models/{model_name}:embedContent: 生成单条文本嵌入向量。POST /v1beta/models/{model_name}:batchEmbedContents: 批量生成文本嵌入向量。POST /v1beta/models/{model_name}:predict: Imagen 系列模型图像生成。此端点处理后转发到 Gemini API 格式端点。
GET /v1/models: 列出模型。POST /v1/messages: 聊天消息补全,支持非流式、真流式和假流式。POST /v1/messages/count_tokens: 计算消息中的 token 数量。详细的 API 使用示例请参阅:API 使用示例文档
AMC WebUI 是一款面向 Gemini 的 Local-First AI 工作流 WebUI,集成多模态聊天、Canvas、文件处理、实时搜索、代码执行与高级推理。它已经支持将 AIStudioToAPI 作为第三方 Gemini 兼容后端使用,可以作为本项目的图形化前端。
在线 Demo:https://all-model-chat.pages.dev
使用方式:
http://localhost:7860/v1beta。/v1beta 地址。API_KEYS 对应。| 变量名 | 描述 | 默认值 |
|---|---|---|
API_KEYS |
用于身份验证的有效 API 密钥列表(使用逗号分隔)。 | 123456 |
WEB_CONSOLE_USERNAME |
网页控制台登录的用户名(可选)。如果同时设置用户名和密码,登录时需要输入两者。 | 无 |
WEB_CONSOLE_PASSWORD |
网页控制台登录的密码(可选)。如果只设置密码,登录页面仅要求输入密码;如果两者都不设置,系统将使用 API_KEYS 进行控制台登录。 |
无 |
PORT |
API 服务器端口。 | 7860 |
HOST |
服务器监听的主机地址。 | 0.0.0.0 |
ICON_URL |
用于自定义控制台的 favicon 图标。支持 ICO, PNG, SVG 等格式。 | /AIStudio_logo.svg |
SECURE_COOKIES |
是否启用安全 Cookie。true 表示仅支持 HTTPS 协议访问控制台。 |
false |
RATE_LIMIT_MAX_ATTEMPTS |
时间窗口内控制台允许的最大失败登录尝试次数(设为 0 禁用)。 |
5 |
RATE_LIMIT_WINDOW_MINUTES |
速率限制的时间窗口长度(分钟)。 | 15 |
CHECK_UPDATE |
是否在页面加载时检查版本更新(设为 false 禁用)。 |
true |
LOG_LEVEL |
日志输出等级。设为 DEBUG 启用详细调试日志。 |
INFO |
TZ |
日志和显示时间使用的时区,例如 Asia/Shanghai。留空时默认使用系统时区。 |
系统时区 |
| 变量名 | 描述 | 默认值 |
|---|---|---|
INITIAL_AUTH_INDEX |
启动时使用的初始身份验证索引。 | 0 |
ENABLE_AUTH_UPDATE |
是否启用自动保存凭证更新。默认为启用状态,将在每次登录/切换账号成功时以及每 24 小时自动更新 auth 文件。设为 false 禁用。 |
true |
MAX_RETRIES |
请求失败后的最大重试次数(仅对假流式和非流式生效)。 | 3 |
RETRY_DELAY |
两次重试之间的间隔(毫秒)。 | 2000 |
STREAM_TIMEOUT_MS |
真流式响应相邻数据块之间的超时时间(毫秒),最大 300000。 |
60000 |
FAKE_STREAM_TIMEOUT_MS |
假流式/非流式缓冲响应的超时时间(毫秒),最大 300000。 |
300000 |
SWITCH_ON_USES |
自动切换帐户前允许的请求次数(设为 0 禁用)。 |
40 |
FAILURE_THRESHOLD |
切换帐户前允许的连续失败次数(设为 0 禁用)。 |
3 |
IMMEDIATE_SWITCH_STATUS_CODES |
触发立即切换帐户的 HTTP 状态码(逗号分隔,设为空值以禁用)。 | 429,503 |
MAX_CONTEXTS |
最大同时登录的账号数量。同时登录的账号切换更快,无需重新登录。数值越大内存消耗越高(约:1 个账号 ~700MB,2 个账号 ~950MB,3 个账号 ~1100MB)。设为 0 表示无限制。 |
1 |
AI_STUDIO_APP_URL |
要打开的 AI Studio 应用地址(可选),格式为 https://ai.studio/apps/<应用 ID>;留空时使用内置应用。教程 |
内置应用 |
HTTP_PROXY |
用于访问 Google 服务的 HTTP 代理地址。 | 无 |
HTTPS_PROXY |
用于访问 Google 服务的 HTTPS 代理地址。 | 无 |
NO_PROXY |
不经过代理的地址列表(逗号分隔)。项目已内置自动绕过本地地址(localhost, 127.0.0.1, ::, ::1, 0.0.0.0),通常无需手动配置本地绕过。 | 无 |
| 变量名 | 描述 | 默认值 |
|---|---|---|
STREAMING_MODE |
流式传输模式。real 为真流式,fake 为假流式。 |
real |
暂无开放 Issues,或尚未同步最近议题。