将 grok.com 与 console.x.ai 的聊天、图像、视频能力,
以 OpenAI / Anthropic 兼容 API 统一对外提供。
[!NOTE] 本项目仅供学习与研究交流。请务必遵守 Grok 的使用条款及当地法律法规,不得用于非法用途。
本仓库基于上游 chenyme/grok2api 二次开发,新增多账号池管理、Console 免费模型、配额轮换、防封部署等能力。欢迎 PR 和 Fork,二开请保留原作者与前端标识。
| 能力 | 说明 |
|---|---|
| OpenAI 兼容 | /v1/chat/completions、/v1/responses、/v1/images/generations、/v1/videos |
| Anthropic 兼容 | /v1/messages(Claude SDK 直接对接) |
| 多账号池 | basic / super / heavy 三级池,自动负载均衡与配额同步 |
| 免费账号 | 支持 console.x.ai SSO Token,*-console 模型零成本使用 |
| 媒体生成 | 文生图、图像编辑、文生视频、图生视频,本地缓存与代理链接 |
| 防封内置 | x-statsig-id 兼容修复,WARP + FlareSolverr 一键部署 |
| 管理后台 | Admin 配置、账号管理、Web Chat、Masonry 画廊、ChatKit 语音 |
本项目提供两种部署方式:
| 方式 | 说明 | 适用场景 |
|---|---|---|
| 标准版 | 仅 grok2api,直连 Grok | IP 干净、无 Cloudflare 拦截 |
| 防封版 | grok2api + WARP + Privoxy + FlareSolverr | IP 被 Cloudflare 拦截、需要稳定访问 |
[!TIP] 当前版本已内置 403 兼容修复,标准版可直接验证。仍遇 403 时再切防封版。
Docker Compose(推荐):
git clone https://github.com/jiujiu532/grok2api
cd grok2api/grok2api-main/grok2api-main
cp .env.example .env
docker compose up -d
查看日志:
docker compose logs -f grok2api
Docker 单容器:
docker run -d --name grok2api \
-p 8000:8000 \
-e TZ=Asia/Shanghai \
-e LOG_LEVEL=INFO \
-e ACCOUNT_STORAGE=local \
-v $(pwd)/data:/app/data \
-v $(pwd)/logs:/app/logs \
--restart unless-stopped \
ghcr.io/jiujiu532/grok2api:latest
Windows PowerShell:
docker run -d `
--name grok2api `
-p 8000:8000 `
-e TZ=Asia/Shanghai `
-e LOG_LEVEL=INFO `
-e ACCOUNT_STORAGE=local `
-v ${PWD}/data:/app/data `
-v ${PWD}/logs:/app/logs `
--restart unless-stopped `
ghcr.io/jiujiu532/grok2api:latest
前置要求:服务器需支持
NET_ADMIN+SYS_MODULE权限(KVM/XEN 虚拟化均支持,OpenVZ/LXC 不支持)。
git clone https://github.com/jiujiu532/grok2api
cd grok2api/grok2api-main/grok2api-main
docker compose -f docker-compose.warp.yml up -d
防封版自动启动以下服务:
| 服务 | 说明 |
|---|---|
warp-proxy | Cloudflare WARP 出口代理,提供干净 IP |
privoxy | HTTP 代理,将流量转发到 WARP |
flaresolverr | 自动解 Cloudflare 挑战,获取 cf_clearance |
init-config | 初始化容器,自动写入代理配置 |
grok2api | 主服务 |
启动后代理配置已自动完成,进入 Admin 后台添加账号即可使用。
无论标准版还是防封版,升级时只需更新 grok2api 主镜像,防封组件不需要更新。
标准版升级:
docker pull ghcr.io/jiujiu532/grok2api:latest
docker compose up -d --no-deps grok2api
防封版升级(只更新主服务,不动 WARP/FlareSolverr):
docker pull ghcr.io/jiujiu532/grok2api:latest
docker compose -f docker-compose.warp.yml up -d --no-deps grok2api
--no-deps确保只重启 grok2api,WARP/Privoxy/FlareSolverr 继续运行不中断。
./data/中的配置(config.toml)和数据库(accounts.db)挂载在 volume 中,升级不会覆盖。
# 查看可用版本:https://github.com/jiujiu532/grok2api/pkgs/container/grok2api
docker pull ghcr.io/jiujiu532/grok2api:<tag>
# 标准版回滚
docker compose up -d --no-deps grok2api
# 防封版回滚
docker compose -f docker-compose.warp.yml up -d --no-deps grok2api
标准版卸载:
cd grok2api/grok2api-main/grok2api-main
docker compose down
# 如需删除数据(不可恢复):
rm -rf ./data ./logs
防封版卸载:
cd grok2api/grok2api-main/grok2api-main
docker compose -f docker-compose.warp.yml down
# 如需删除数据(不可恢复):
rm -rf ./data ./logs
数据完全保留,无需重新配置:
# 停止标准版
docker compose down
# 用防封版启动(自动检测已有配置,不覆盖)
docker compose -f docker-compose.warp.yml up -d
前置:Python 3.13+、uv
git clone https://github.com/jiujiu532/grok2api
cd grok2api/grok2api-main/grok2api-main
cp .env.example .env && uv sync
uv run granian --interface asgi --host 0.0.0.0 --port 8000 --workers 1 app.main:app
访问 http://localhost:8000/admin/login,默认密码 grok2api,进入后设置:
app.app_key — Admin 密码app.api_key — API 鉴权密钥(留空不鉴权)app.app_url — 公网地址(图片/视频链接需要)配置保存即时生效,无需重启。
basic表示free账号,spuer和heavy 为付费
| 模型名 | mode | 账号等级 | 备注 |
|---|---|---|---|
grok-4.20-fast / grok-4.3-fast | fast | basic(优先高等级) | |
grok-4.20-auto | auto | super | |
grok-4.20-expert | expert | super | |
grok-4.20-heavy | heavy | heavy | |
grok-4.3-beta | grok-420-computer-use-sa | super | |
grok-4.20-multi-agent-0309 | heavy | heavy | |
grok-4.20-0309-non-reasoning | fast | basic | |
grok-4.20-0309 | auto | super | |
grok-4.20-0309-reasoning | expert | super | |
grok-4.20-0309-non-reasoning-super | fast | super | |
grok-4.20-0309-super | auto | super | |
grok-4.20-0309-reasoning-super | expert | super | |
grok-4.20-0309-non-reasoning-heavy | fast | heavy | |
grok-4.20-0309-heavy | auto | heavy | |
grok-4.20-0309-reasoning-heavy | expert | heavy |
通过 SSO Token 免费访问,不消耗付费额度。所有免费模型使用 basic 等级账号。
| 模型名 | reasoning effort | 账号等级 |
|---|---|---|
grok-4.3-console | 用户传入(默认 medium) | basic |
grok-4.3-low | low(固定) | basic |
grok-4.3-medium | medium(固定) | basic |
grok-4.3-high | high(固定) | basic |
grok-4.20-0309-console | 默认 | basic |
grok-4.20-0309-reasoning-console | 固定 reasoning | basic |
grok-4.20-0309-non-reasoning-console | 无 reasoning | basic |
grok-4.20-multi-agent-console | 用户传入(默认 medium) | basic |
grok-4.20-multi-agent-low | low(固定)→ 4 agents | basic |
grok-4.20-multi-agent-medium | medium(固定)→ 4 agents | basic |
grok-4.20-multi-agent-high | high(固定)→ 16 agents | basic |
grok-4.20-multi-agent-xhigh | xhigh(固定)→ 16 agents | basic |
grok-build-console | 默认 | basic |
Console 配额:30 次 / 15 分钟窗口,采用延迟恢复轮换策略(消耗至剩余 15 次时启动计时器,评分机制自动轮换到其他账号)。后台每 30 秒巡检并自动重置过期配额。
| 模型名 | 能力 | 账号等级 |
|---|---|---|
grok-imagine-image-lite | 文生图 | basic |
grok-imagine-image / image-pro | 文生图 | super |
grok-imagine-image-edit | 图像编辑 | super |
grok-imagine-video | 文生视频 | super |
| 类型 | 等级 | 适用模型 |
|---|---|---|
| 付费账号(x.ai 官方) | super / heavy | grok-4.20-*、grok-4.3-beta、grok-4.3-fast |
| 免费账号(console.x.ai SSO) | basic | 所有 *-console / *-low / *-medium / *-high / *-xhigh |
免费账号获取方式:
https://console.x.ai/sso 值SSO Token 属于敏感凭证,请勿写入代码或提交到版本库。
| 端点 | 说明 |
|---|---|
GET /v1/models | 列出可用模型 |
POST /v1/chat/completions | 聊天 / 图像 / 视频统一入口 |
POST /v1/responses | OpenAI Responses API |
POST /v1/messages | Anthropic Messages API |
POST /v1/images/generations | 图像生成 |
POST /v1/images/edits | 图像编辑 |
POST /v1/videos | 异步视频任务 |
GET /v1/videos/{id} / {id}/content | 查询 / 下载视频 |
| 变量名 | 说明 | 默认值 |
|---|---|---|
TZ | 时区 | Asia/Shanghai |
LOG_LEVEL | 日志级别 | INFO |
LOG_FILE_ENABLED | 写入本地文件日志 | true |
SERVER_HOST | 监听地址 | 0.0.0.0 |
SERVER_PORT | 监听端口 | 8000 |
SERVER_WORKERS | Granian worker 数量 | 1 |
HOST_PORT | Compose 宿主机映射端口 | 8000 |
DATA_DIR | 本地数据根目录 | ./data |
LOG_DIR | 本地日志目录 | ./logs |
ACCOUNT_STORAGE | 存储后端:local / redis / mysql / postgresql | local |
ACCOUNT_SYNC_INTERVAL | 增量同步间隔(秒) | 30 |
ACCOUNT_SYNC_ACTIVE_INTERVAL | 活跃同步间隔(秒) | 3 |
ACCOUNT_LOCAL_PATH | SQLite 路径 | ${DATA_DIR}/accounts.db |
ACCOUNT_REDIS_URL | Redis DSN | "" |
ACCOUNT_MYSQL_URL | MySQL DSN | "" |
ACCOUNT_POSTGRESQL_URL | PostgreSQL DSN | "" |
ACCOUNT_SQL_POOL_SIZE | 连接池核心连接数 | 5 |
ACCOUNT_SQL_MAX_OVERFLOW | 连接池最大溢出 | 10 |
ACCOUNT_SQL_POOL_TIMEOUT | 等待空闲连接超时(秒) | 30 |
ACCOUNT_SQL_POOL_RECYCLE | 连接最大复用时间(秒) | 1800 |
运行时配置支持 GROK_ 前缀覆盖,如 GROK_APP_API_KEY 覆盖 app.api_key。
# 付费账号对话
curl http://localhost:8000/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"grok-4.20-auto","stream":true,"messages":[{"role":"user","content":"你好"}]}'
# 免费账号对话
curl http://localhost:8000/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"grok-4.3-console","stream":true,"messages":[{"role":"user","content":"你好"}]}'
| 问题 | 解决方案 |
|---|---|
| Admin 打不开 | 确认端口映射和防火墙:docker compose ps |
| 图片/视频链接 403 | 设置 app.app_url 为公网地址(含 https://) |
| Cloudflare 拦截 | 更换代理,或者切换防封版部署,再或者手动配置 proxy.clearance.mode |
| 多 Worker 冲突 | 无冲突,调度器通过文件锁选举 leader |
新功能
tools / tool_choice 参数tool_calls优化
修复
优化
🔧 批量刷新结果优化:刷新账户时区分"凭证失效(异常)"和"临时失败(网络波动)"两种状态
刷新完成:成功 906,异常 40,临时失败 54🎯 导入账户交互改进(基于 PR#13)
account.auto_nsfw_on_import,改为每次导入时手动选择⚙️ 并发数限制调整
min: 1, max: 80 强制限制修复
min/max 属性未生效的问题tokens.py 缺失的 Query 导入(导致服务启动失败)autoNsfwOnImport 和 autoNsfwHint 键MIT License
将 grok.com 与 console.x.ai 的聊天、图像、视频能力,
以 OpenAI / Anthropic 兼容 API 统一对外提供。
[!NOTE] 本项目仅供学习与研究交流。请务必遵守 Grok 的使用条款及当地法律法规,不得用于非法用途。
本仓库基于上游 chenyme/grok2api 二次开发,新增多账号池管理、Console 免费模型、配额轮换、防封部署等能力。欢迎 PR 和 Fork,二开请保留原作者与前端标识。
| 能力 | 说明 |
|---|---|
| OpenAI 兼容 | /v1/chat/completions、/v1/responses、/v1/images/generations、/v1/videos |
| Anthropic 兼容 | /v1/messages(Claude SDK 直接对接) |
| 多账号池 | basic / super / heavy 三级池,自动负载均衡与配额同步 |
| 免费账号 | 支持 console.x.ai SSO Token,*-console 模型零成本使用 |
| 媒体生成 | 文生图、图像编辑、文生视频、图生视频,本地缓存与代理链接 |
| 防封内置 | x-statsig-id 兼容修复,WARP + FlareSolverr 一键部署 |
| 管理后台 | Admin 配置、账号管理、Web Chat、Masonry 画廊、ChatKit 语音 |
本项目提供两种部署方式:
| 方式 | 说明 | 适用场景 |
|---|---|---|
| 标准版 | 仅 grok2api,直连 Grok | IP 干净、无 Cloudflare 拦截 |
| 防封版 | grok2api + WARP + Privoxy + FlareSolverr | IP 被 Cloudflare 拦截、需要稳定访问 |
[!TIP] 当前版本已内置 403 兼容修复,标准版可直接验证。仍遇 403 时再切防封版。
Docker Compose(推荐):
git clone https://github.com/jiujiu532/grok2api
cd grok2api/grok2api-main/grok2api-main
cp .env.example .env
docker compose up -d
查看日志:
docker compose logs -f grok2api
Docker 单容器:
docker run -d --name grok2api \
-p 8000:8000 \
-e TZ=Asia/Shanghai \
-e LOG_LEVEL=INFO \
-e ACCOUNT_STORAGE=local \
-v $(pwd)/data:/app/data \
-v $(pwd)/logs:/app/logs \
--restart unless-stopped \
ghcr.io/jiujiu532/grok2api:latest
Windows PowerShell:
docker run -d `
--name grok2api `
-p 8000:8000 `
-e TZ=Asia/Shanghai `
-e LOG_LEVEL=INFO `
-e ACCOUNT_STORAGE=local `
-v ${PWD}/data:/app/data `
-v ${PWD}/logs:/app/logs `
--restart unless-stopped `
ghcr.io/jiujiu532/grok2api:latest
前置要求:服务器需支持
NET_ADMIN+SYS_MODULE权限(KVM/XEN 虚拟化均支持,OpenVZ/LXC 不支持)。
git clone https://github.com/jiujiu532/grok2api
cd grok2api/grok2api-main/grok2api-main
docker compose -f docker-compose.warp.yml up -d
防封版自动启动以下服务:
| 服务 | 说明 |
|---|---|
warp-proxy | Cloudflare WARP 出口代理,提供干净 IP |
privoxy | HTTP 代理,将流量转发到 WARP |
flaresolverr | 自动解 Cloudflare 挑战,获取 cf_clearance |
init-config | 初始化容器,自动写入代理配置 |
grok2api | 主服务 |
启动后代理配置已自动完成,进入 Admin 后台添加账号即可使用。
无论标准版还是防封版,升级时只需更新 grok2api 主镜像,防封组件不需要更新。
标准版升级:
docker pull ghcr.io/jiujiu532/grok2api:latest
docker compose up -d --no-deps grok2api
防封版升级(只更新主服务,不动 WARP/FlareSolverr):
docker pull ghcr.io/jiujiu532/grok2api:latest
docker compose -f docker-compose.warp.yml up -d --no-deps grok2api
--no-deps确保只重启 grok2api,WARP/Privoxy/FlareSolverr 继续运行不中断。
./data/中的配置(config.toml)和数据库(accounts.db)挂载在 volume 中,升级不会覆盖。
# 查看可用版本:https://github.com/jiujiu532/grok2api/pkgs/container/grok2api
docker pull ghcr.io/jiujiu532/grok2api:<tag>
# 标准版回滚
docker compose up -d --no-deps grok2api
# 防封版回滚
docker compose -f docker-compose.warp.yml up -d --no-deps grok2api
标准版卸载:
cd grok2api/grok2api-main/grok2api-main
docker compose down
# 如需删除数据(不可恢复):
rm -rf ./data ./logs
防封版卸载:
cd grok2api/grok2api-main/grok2api-main
docker compose -f docker-compose.warp.yml down
# 如需删除数据(不可恢复):
rm -rf ./data ./logs
数据完全保留,无需重新配置:
# 停止标准版
docker compose down
# 用防封版启动(自动检测已有配置,不覆盖)
docker compose -f docker-compose.warp.yml up -d
前置:Python 3.13+、uv
git clone https://github.com/jiujiu532/grok2api
cd grok2api/grok2api-main/grok2api-main
cp .env.example .env && uv sync
uv run granian --interface asgi --host 0.0.0.0 --port 8000 --workers 1 app.main:app
访问 http://localhost:8000/admin/login,默认密码 grok2api,进入后设置:
app.app_key — Admin 密码app.api_key — API 鉴权密钥(留空不鉴权)app.app_url — 公网地址(图片/视频链接需要)配置保存即时生效,无需重启。
basic表示free账号,spuer和heavy 为付费
| 模型名 | mode | 账号等级 | 备注 |
|---|---|---|---|
grok-4.20-fast / grok-4.3-fast | fast | basic(优先高等级) | |
grok-4.20-auto | auto | super | |
grok-4.20-expert | expert | super | |
grok-4.20-heavy | heavy | heavy | |
grok-4.3-beta | grok-420-computer-use-sa | super | |
grok-4.20-multi-agent-0309 | heavy | heavy | |
grok-4.20-0309-non-reasoning | fast | basic | |
grok-4.20-0309 | auto | super | |
grok-4.20-0309-reasoning | expert | super | |
grok-4.20-0309-non-reasoning-super | fast | super | |
grok-4.20-0309-super | auto | super | |
grok-4.20-0309-reasoning-super | expert | super | |
grok-4.20-0309-non-reasoning-heavy | fast | heavy | |
grok-4.20-0309-heavy | auto | heavy | |
grok-4.20-0309-reasoning-heavy | expert | heavy |
通过 SSO Token 免费访问,不消耗付费额度。所有免费模型使用 basic 等级账号。
| 模型名 | reasoning effort | 账号等级 |
|---|---|---|
grok-4.3-console | 用户传入(默认 medium) | basic |
grok-4.3-low | low(固定) | basic |
grok-4.3-medium | medium(固定) | basic |
grok-4.3-high | high(固定) | basic |
grok-4.20-0309-console | 默认 | basic |
grok-4.20-0309-reasoning-console | 固定 reasoning | basic |
grok-4.20-0309-non-reasoning-console | 无 reasoning | basic |
grok-4.20-multi-agent-console | 用户传入(默认 medium) | basic |
grok-4.20-multi-agent-low | low(固定)→ 4 agents | basic |
grok-4.20-multi-agent-medium | medium(固定)→ 4 agents | basic |
grok-4.20-multi-agent-high | high(固定)→ 16 agents | basic |
grok-4.20-multi-agent-xhigh | xhigh(固定)→ 16 agents | basic |
grok-build-console | 默认 | basic |
Console 配额:30 次 / 15 分钟窗口,采用延迟恢复轮换策略(消耗至剩余 15 次时启动计时器,评分机制自动轮换到其他账号)。后台每 30 秒巡检并自动重置过期配额。
| 模型名 | 能力 | 账号等级 |
|---|---|---|
grok-imagine-image-lite | 文生图 | basic |
grok-imagine-image / image-pro | 文生图 | super |
grok-imagine-image-edit | 图像编辑 | super |
grok-imagine-video | 文生视频 | super |
| 类型 | 等级 | 适用模型 |
|---|---|---|
| 付费账号(x.ai 官方) | super / heavy | grok-4.20-*、grok-4.3-beta、grok-4.3-fast |
| 免费账号(console.x.ai SSO) | basic | 所有 *-console / *-low / *-medium / *-high / *-xhigh |
免费账号获取方式:
https://console.x.ai/sso 值SSO Token 属于敏感凭证,请勿写入代码或提交到版本库。
| 端点 | 说明 |
|---|---|
GET /v1/models | 列出可用模型 |
POST /v1/chat/completions | 聊天 / 图像 / 视频统一入口 |
POST /v1/responses | OpenAI Responses API |
POST /v1/messages | Anthropic Messages API |
POST /v1/images/generations | 图像生成 |
POST /v1/images/edits | 图像编辑 |
POST /v1/videos | 异步视频任务 |
GET /v1/videos/{id} / {id}/content | 查询 / 下载视频 |
| 变量名 | 说明 | 默认值 |
|---|---|---|
TZ | 时区 | Asia/Shanghai |
LOG_LEVEL | 日志级别 | INFO |
LOG_FILE_ENABLED | 写入本地文件日志 | true |
SERVER_HOST | 监听地址 | 0.0.0.0 |
SERVER_PORT | 监听端口 | 8000 |
SERVER_WORKERS | Granian worker 数量 | 1 |
HOST_PORT | Compose 宿主机映射端口 | 8000 |
DATA_DIR | 本地数据根目录 | ./data |
LOG_DIR | 本地日志目录 | ./logs |
ACCOUNT_STORAGE | 存储后端:local / redis / mysql / postgresql | local |
ACCOUNT_SYNC_INTERVAL | 增量同步间隔(秒) | 30 |
ACCOUNT_SYNC_ACTIVE_INTERVAL | 活跃同步间隔(秒) | 3 |
ACCOUNT_LOCAL_PATH | SQLite 路径 | ${DATA_DIR}/accounts.db |
ACCOUNT_REDIS_URL | Redis DSN | "" |
ACCOUNT_MYSQL_URL | MySQL DSN | "" |
ACCOUNT_POSTGRESQL_URL | PostgreSQL DSN | "" |
ACCOUNT_SQL_POOL_SIZE | 连接池核心连接数 | 5 |
ACCOUNT_SQL_MAX_OVERFLOW | 连接池最大溢出 | 10 |
ACCOUNT_SQL_POOL_TIMEOUT | 等待空闲连接超时(秒) | 30 |
ACCOUNT_SQL_POOL_RECYCLE | 连接最大复用时间(秒) | 1800 |
运行时配置支持 GROK_ 前缀覆盖,如 GROK_APP_API_KEY 覆盖 app.api_key。
# 付费账号对话
curl http://localhost:8000/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"grok-4.20-auto","stream":true,"messages":[{"role":"user","content":"你好"}]}'
# 免费账号对话
curl http://localhost:8000/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"grok-4.3-console","stream":true,"messages":[{"role":"user","content":"你好"}]}'
| 问题 | 解决方案 |
|---|---|
| Admin 打不开 | 确认端口映射和防火墙:docker compose ps |
| 图片/视频链接 403 | 设置 app.app_url 为公网地址(含 https://) |
| Cloudflare 拦截 | 更换代理,或者切换防封版部署,再或者手动配置 proxy.clearance.mode |
| 多 Worker 冲突 | 无冲突,调度器通过文件锁选举 leader |
新功能
tools / tool_choice 参数tool_calls优化
修复
优化
🔧 批量刷新结果优化:刷新账户时区分"凭证失效(异常)"和"临时失败(网络波动)"两种状态
刷新完成:成功 906,异常 40,临时失败 54🎯 导入账户交互改进(基于 PR#13)
account.auto_nsfw_on_import,改为每次导入时手动选择⚙️ 并发数限制调整
min: 1, max: 80 强制限制修复
min/max 属性未生效的问题tokens.py 缺失的 Query 导入(导致服务启动失败)autoNsfwOnImport 和 autoNsfwHint 键MIT License