[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-79047":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":14,"forks30d":14,"starsTrendScore":18,"compositeScore":19,"rankGlobal":8,"rankLanguage":8,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":8,"pushedAt":8,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":14,"starSnapshotCount":14,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},79047,"grok2api","jiujiu532\u002Fgrok2api","jiujiu532",null,"Python",894,116,5,7,0,18,184,673,128,97.2,"MIT License",false,"main",true,[],"2026-06-12 04:01:24","\u003Cimg alt=\"Grok2API\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F037a0a6e-7986-41cc-b4af-04df612ee886\" \u002F>\n\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.13%2B-3776AB?logo=python&logoColor=white)](https:\u002F\u002Fwww.python.org\u002F)\n[![FastAPI](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFastAPI-0.119%2B-009688?logo=fastapi&logoColor=white)](https:\u002F\u002Ffastapi.tiangolo.com\u002F)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-16a34a)](LICENSE)\n[![Docker](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fghcr.io-jiujiu532%2Fgrok2api-2496ED?logo=docker&logoColor=white)](https:\u002F\u002Fgithub.com\u002Fjiujiu532\u002Fgrok2api\u002Fpkgs\u002Fcontainer\u002Fgrok2api)\n\n> [!NOTE]\n> 本项目仅供学习与研究交流。请务必遵守 Grok 的使用条款及当地法律法规，不得用于非法用途。二开与 PR 请保留原作者与前端标识。\n\n\u003Cbr>\n\nGrok2API 是一个基于 **FastAPI** 构建的 Grok 网关，将 Grok Web 能力以 OpenAI 兼容 API 的方式对外提供。核心特性：\n\n- OpenAI 兼容接口：`\u002Fv1\u002Fmodels`、`\u002Fv1\u002Fchat\u002Fcompletions`、`\u002Fv1\u002Fresponses`、`\u002Fv1\u002Fimages\u002Fgenerations`、`\u002Fv1\u002Fimages\u002Fedits`、`\u002Fv1\u002Fvideos`、`\u002Fv1\u002Fvideos\u002F{video_id}`、`\u002Fv1\u002Fvideos\u002F{video_id}\u002Fcontent`\n- Anthropic 兼容接口：`\u002Fv1\u002Fmessages`\n- 支持流式与非流式对话、显式思考输出、函数工具结构透传，统一的 token \u002F usage 统计\n- 支持多账号池、层级选号、失败反馈、额度同步与自动维护\n- 支持本地缓存图片、视频与本地代理链接返回\n- 支持文生图、图像编辑、文生视频、图生视频\n- 内置 Admin 后台管理、Web Chat、Masonry 生图、ChatKit 语音页面\n- 支持 `console.x.ai` 免费账号，新增 `*-console` 模型系列\n\n\u003Cbr>\n\n## 镜像说明\n\n本仓库基于上游 [chenyme\u002Fgrok2api](https:\u002F\u002Fgithub.com\u002Fchenyme\u002Fgrok2api) 二次构建，提供预编译的 Docker 镜像：\n\n### grok2api 主镜像\n\n| 项 | 值 |\n| :-- | :-- |\n| 镜像地址 | `ghcr.io\u002Fjiujiu532\u002Fgrok2api:latest` |\n| 架构 | `linux\u002Famd64`, `linux\u002Farm64` |\n| 基础镜像 | `python:3.13-alpine` |\n| 默认端口 | `8000` |\n| 默认数据目录 | `\u002Fapp\u002Fdata` |\n| 默认日志目录 | `\u002Fapp\u002Flogs` |\n\n### privoxy-warp 镜像（防封版专用）\n\n| 项 | 值 |\n| :-- | :-- |\n| 镜像地址 | `ghcr.io\u002Fjiujiu532\u002Fprivoxy-warp:latest` |\n| 架构 | `linux\u002Famd64`, `linux\u002Farm64` |\n| 说明 | 预配置好 WARP SOCKS5 转发规则的 Privoxy，与 `caomingjun\u002Fwarp` 配合使用 |\n\n\u003Cbr>\n\n## 快速开始\n\n本项目提供两种部署方式，按需选择：\n\n| 方式 | 说明 | 适用场景 |\n| :-- | :-- | :-- |\n| **标准版** | 仅 grok2api，直连 Grok | IP 干净、无 Cloudflare 拦截问题 |\n| **防封版** | grok2api + WARP + Privoxy + FlareSolverr | IP 被 Cloudflare 拦截、需要稳定访问 |\n\n### 方式一：标准版（Docker Compose）\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fjiujiu532\u002Fgrok2api\ncd grok2api\u002Fgrok2api-main\u002Fgrok2api-main\ncp .env.example .env\ndocker compose up -d\n```\n\n查看日志：\n\n```bash\ndocker compose logs -f grok2api\n```\n\n> 使用 `docker-compose.yml`，仅启动 grok2api 容器，代理配置默认为空（直连）。\n\n### 方式二：防封版（WARP + FlareSolverr 一键部署）\n\n> **前置要求**：服务器需支持 `NET_ADMIN` + `SYS_MODULE` 权限（KVM\u002FXEN 虚拟化均支持，OpenVZ\u002FLXC 不支持）。\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fjiujiu532\u002Fgrok2api\ncd grok2api\u002Fgrok2api-main\u002Fgrok2api-main\ndocker compose -f docker-compose.warp.yml up -d\n```\n\n防封版会自动启动以下服务并完成配置：\n\n| 服务 | 说明 |\n| :-- | :-- |\n| `warp-proxy` | Cloudflare WARP 出口代理，提供干净的 Cloudflare IP |\n| `privoxy` | HTTP 代理，将流量转发到 WARP（已预配置，无需手动操作） |\n| `flaresolverr` | 自动解 Cloudflare 挑战，获取 cf_clearance |\n| `grok2api` | 主服务，代理配置由 init 容器自动写入 |\n\n启动后代理配置已自动完成，进入 Admin 后台添加账号即可使用。\n\n### 方式三：Docker 单容器\n\n```bash\ndocker run -d \\\n  --name grok2api \\\n  -p 8000:8000 \\\n  -e TZ=Asia\u002FShanghai \\\n  -e LOG_LEVEL=INFO \\\n  -e ACCOUNT_STORAGE=local \\\n  -v $(pwd)\u002Fdata:\u002Fapp\u002Fdata \\\n  -v $(pwd)\u002Flogs:\u002Fapp\u002Flogs \\\n  --restart unless-stopped \\\n  ghcr.io\u002Fjiujiu532\u002Fgrok2api:latest\n```\n\nWindows PowerShell：\n\n```powershell\ndocker run -d `\n  --name grok2api `\n  -p 8000:8000 `\n  -e TZ=Asia\u002FShanghai `\n  -e LOG_LEVEL=INFO `\n  -e ACCOUNT_STORAGE=local `\n  -v ${PWD}\u002Fdata:\u002Fapp\u002Fdata `\n  -v ${PWD}\u002Flogs:\u002Fapp\u002Flogs `\n  --restart unless-stopped `\n  ghcr.io\u002Fjiujiu532\u002Fgrok2api:latest\n```\n\n### 方式四：本地源码部署\n\n前置：Python 3.13+、[uv](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002Fgetting-started\u002Finstallation\u002F)。\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fjiujiu532\u002Fgrok2api\ncd grok2api\u002Fgrok2api-main\u002Fgrok2api-main\ncp .env.example .env\nuv sync\nuv run granian --interface asgi --host 0.0.0.0 --port 8000 --workers 1 app.main:app\n```\n\n### 首次启动\n\n服务启动后访问 `http:\u002F\u002Flocalhost:8000\u002Fadmin\u002Flogin`，默认密码为 `grok2api`，进入后依次完成：\n\n1. 修改 `app.app_key`（Admin 后台登录密码）\n2. 设置 `app.api_key`（API 调用鉴权密钥，留空则不鉴权）\n3. 设置 `app.app_url`（公网地址，否则图片、视频链接会 403）\n\n> 运行时配置写入 `${DATA_DIR}\u002Fconfig.toml`，保存后即时生效，无需重启容器。\n\n\u003Cbr>\n\n## 升级与回滚\n\n无论标准版还是防封版，升级时只需要更新 `grok2api` 主镜像即可。WARP、Privoxy、FlareSolverr 等防封组件基本不需要更新。\n\n### 标准版升级\n\n```bash\ndocker pull ghcr.io\u002Fjiujiu532\u002Fgrok2api:latest\ndocker compose up -d --no-deps grok2api\n```\n\n### 防封版升级（只更新 grok2api，不动防封组件）\n\n```bash\ndocker pull ghcr.io\u002Fjiujiu532\u002Fgrok2api:latest\ndocker compose -f docker-compose.warp.yml up -d --no-deps grok2api\n```\n\n> `--no-deps` 参数确保只重启 grok2api 容器，WARP、Privoxy、FlareSolverr 不受影响，继续运行。\n\n> `.\u002Fdata\u002F` 目录中的配置文件（`config.toml`）和账号数据库（`accounts.db`）挂载在 volume 中，升级不会覆盖。\n\n### 回滚到指定版本\n\n```bash\n# 查看可用版本：https:\u002F\u002Fgithub.com\u002Fjiujiu532\u002Fgrok2api\u002Fpkgs\u002Fcontainer\u002Fgrok2api\ndocker pull ghcr.io\u002Fjiujiu532\u002Fgrok2api:\u003Ctag>\ndocker compose up -d --no-deps grok2api\n# 或防封版：\ndocker compose -f docker-compose.warp.yml up -d --no-deps grok2api\n```\n\n### 从标准版迁移到防封版\n\n已有标准版部署的用户，迁移到防封版无需重新配置，数据完全保留：\n\n```bash\n# 1. 停止并删除当前 grok2api 容器（数据不受影响）\ndocker stop grok2api && docker rm grok2api\n\n# 2. 进入项目目录（与标准版相同目录）\ncd grok2api\u002Fgrok2api-main\u002Fgrok2api-main\n\n# 3. 用防封版 compose 启动（会自动启动 WARP、Privoxy、FlareSolverr）\ndocker compose -f docker-compose.warp.yml up -d\n```\n\n> 防封版的 `init-config` 容器会检测 `data\u002Fconfig.toml` 是否已有代理配置：\n> - 若已有配置（如之前手动配过代理）：跳过，不覆盖\n> - 若无代理配置：自动写入 WARP + FlareSolverr 配置\n\n迁移完成后，进入 Admin 后台确认代理配置已生效即可。\n\n\u003Cbr>\n\n## 反向代理示例（Nginx）\n\n```nginx\nserver {\n    listen 443 ssl http2;\n    server_name your.domain.com;\n\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:8000;\n        proxy_http_version 1.1;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n\n        # 流式响应必备\n        proxy_buffering off;\n        proxy_cache off;\n        proxy_read_timeout 600s;\n        proxy_send_timeout 600s;\n    }\n}\n```\n\n完成反代后，记得在 Admin 后台把 `app.app_url` 改为 `https:\u002F\u002Fyour.domain.com`。\n\n\u003Cbr>\n\n## WebUI\n\n| 页面 | 路径 |\n| :-- | :-- |\n| Admin 登录页 | `\u002Fadmin\u002Flogin` |\n| 账号管理 | `\u002Fadmin\u002Faccount` |\n| 配置管理 | `\u002Fadmin\u002Fconfig` |\n| 缓存管理 | `\u002Fadmin\u002Fcache` |\n| WebUI 登录页 | `\u002Fwebui\u002Flogin` |\n| Web Chat | `\u002Fwebui\u002Fchat` |\n| Masonry | `\u002Fwebui\u002Fmasonry` |\n| ChatKit | `\u002Fwebui\u002Fchatkit` |\n\n### 鉴权规则\n\n| 范围 | 配置项 | 规则 |\n| :-- | :-- | :-- |\n| `\u002Fv1\u002F*` | `app.api_key` | 为空则不额外鉴权 |\n| `\u002Fadmin\u002F*` | `app.app_key` | 默认值 `grok2api` |\n| `\u002Fwebui\u002F*` | `app.webui_enabled`, `app.webui_key` | 默认关闭；`webui_key` 为空则不额外校验 |\n\n\u003Cbr>\n\n## 账号管理\n\n### 账号类型\n\n| 类型 | 说明 | 适用模型 |\n| :-- | :-- | :-- |\n| **付费账号** | x.ai 官方付费账号 | 所有 `grok-4.20-*`、`grok-4.3-beta` |\n| **免费账号** | 通过 `console.x.ai` 访问的免费账号 | 所有 `*-console` 模型 |\n\n### 免费账号配置\n\n使用免费账号需要提供 SSO Token 与 CF Clearance：\n\n1. 浏览器打开开发者工具（F12）\n2. 访问 `https:\u002F\u002Fconsole.x.ai\u002F`\n3. 在 Network 中找到任意请求，查看 Cookie：\n   - 复制 `sso` 值\n   - 复制 `cf_clearance` 值\n4. 在 Admin 后台 → 账号管理 → 添加账号，将上述值填入对应字段\n\n> SSO Token 与 CF Clearance 属于敏感凭证，请勿写入代码或提交到版本库。\n\n\u003Cbr>\n\n## 环境变量\n\n启动期变量（`.env` \u002F Compose \u002F `docker run -e`）：\n\n| 变量名 | 说明 | 默认值 |\n| :-- | :-- | :-- |\n| `TZ` | 时区 | `Asia\u002FShanghai` |\n| `LOG_LEVEL` | 日志级别 | `INFO` |\n| `LOG_FILE_ENABLED` | 写入本地文件日志 | `true` |\n| `ACCOUNT_SYNC_INTERVAL` | 账号目录增量同步间隔（秒） | `30` |\n| `ACCOUNT_SYNC_ACTIVE_INTERVAL` | 检测到变化后的活跃同步间隔（秒） | `3` |\n| `SERVER_HOST` | 监听地址 | `0.0.0.0` |\n| `SERVER_PORT` | 监听端口 | `8000` |\n| `SERVER_WORKERS` | Granian worker 数量 | `1` |\n| `HOST_PORT` | Compose 宿主机映射端口 | `8000` |\n| `DATA_DIR` | 本地数据根目录 | `.\u002Fdata` |\n| `LOG_DIR` | 本地日志目录 | `.\u002Flogs` |\n| `ACCOUNT_STORAGE` | 账号存储后端：`local` \u002F `redis` \u002F `mysql` \u002F `postgresql` | `local` |\n| `ACCOUNT_LOCAL_PATH` | `local` 模式 SQLite 路径 | `${DATA_DIR}\u002Faccounts.db` |\n| `ACCOUNT_REDIS_URL` | `redis` 模式 DSN | `\"\"` |\n| `ACCOUNT_MYSQL_URL` | `mysql` 模式 DSN | `\"\"` |\n| `ACCOUNT_POSTGRESQL_URL` | `postgresql` 模式 DSN | `\"\"` |\n| `ACCOUNT_SQL_POOL_SIZE` | SQL 连接池核心连接数 | `5` |\n| `ACCOUNT_SQL_MAX_OVERFLOW` | SQL 连接池最大溢出 | `10` |\n| `ACCOUNT_SQL_POOL_TIMEOUT` | 等待空闲连接超时（秒） | `30` |\n| `ACCOUNT_SQL_POOL_RECYCLE` | 连接最大复用时间（秒） | `1800` |\n| `CONFIG_LOCAL_PATH` | 运行时配置文件路径 | `${DATA_DIR}\u002Fconfig.toml` |\n\n运行时配置也支持 `GROK_` 前缀环境变量覆盖，例如 `GROK_APP_API_KEY` 覆盖 `app.api_key`，`GROK_FEATURES_STREAM` 覆盖 `features.stream`。\n\n\u003Cbr>\n\n## 模型支持\n\n> 通过 `GET \u002Fv1\u002Fmodels` 获取当前启用的模型列表。\n\n### Chat（付费账号）\n\n| 模型名 | mode | tier |\n| :-- | :-- | :-- |\n| `grok-4.20-0309-non-reasoning` | `fast` | `basic` |\n| `grok-4.20-0309` | `auto` | `super` |\n| `grok-4.20-0309-reasoning` | `expert` | `super` |\n| `grok-4.20-0309-non-reasoning-super` | `fast` | `super` |\n| `grok-4.20-0309-super` | `auto` | `super` |\n| `grok-4.20-0309-reasoning-super` | `expert` | `super` |\n| `grok-4.20-0309-non-reasoning-heavy` | `fast` | `heavy` |\n| `grok-4.20-0309-heavy` | `auto` | `heavy` |\n| `grok-4.20-0309-reasoning-heavy` | `expert` | `heavy` |\n| `grok-4.20-multi-agent-0309` | `heavy` | `heavy` |\n| `grok-4.20-fast` | `fast` | `basic`，优先使用高等级账号池 |\n| `grok-4.20-auto` | `auto` | `super`，优先使用高等级账号池 |\n| `grok-4.20-expert` | `expert` | `super`，优先使用高等级账号池 |\n| `grok-4.20-heavy` | `heavy` | `heavy` |\n| `grok-4.3-beta` | `grok-420-computer-use-sa` | `super` |\n\n### Chat（console.x.ai 免费账号）\n\n通过 `console.x.ai` 路由，使用 SSO Token 免费访问，不消耗付费账号额度。\n\n| 模型名 | reasoning effort | 说明 |\n| :-- | :-- | :-- |\n| `grok-4.3-console` | 用户传入（默认 medium） | 免费账号 |\n| `grok-4.3-low` | low（固定） | 免费账号 |\n| `grok-4.3-medium` | medium（固定） | 免费账号 |\n| `grok-4.3-high` | high（固定） | 免费账号 |\n| `grok-4.20-0309-console` | 默认 | 免费账号 |\n| `grok-4.20-0309-reasoning-console` | 固定 reasoning | 免费账号 |\n| `grok-4.20-0309-non-reasoning-console` | 无 reasoning | 免费账号 |\n| `grok-4.20-multi-agent-console` | 用户传入（默认 medium） | 免费账号，多智能体，agent 数量由 effort 决定 |\n| `grok-4.20-multi-agent-low` | low（固定）→ 4 agents | 免费账号，多智能体 |\n| `grok-4.20-multi-agent-medium` | medium（固定）→ 4 agents | 免费账号，多智能体 |\n| `grok-4.20-multi-agent-high` | high（固定）→ 16 agents | 免费账号，多智能体 |\n| `grok-4.20-multi-agent-xhigh` | xhigh（固定）→ 16 agents | 免费账号，多智能体 |\n| `grok-build-console` | 默认 | 免费账号，Grok Build 0.1 |\n\n> multi-agent 模型：`low`\u002F`medium` 使用 4 个 agent（快速研究），`high`\u002F`xhigh` 使用 16 个 agent（深度研究）。\n\n### Console 模型配额\n\n| 配额类型 | 次数 | 窗口 | 说明 |\n| :-- | :-- | :-- | :-- |\n| C（Console） | 30 次 | 15 分钟 | 所有 `*-console` \u002F `*-low` \u002F `*-medium` \u002F `*-high` \u002F `*-xhigh` 模型共享 |\n\n\u003Csub>以上数值基于简单压测得出（单账号约 40-50 次\u002F5 分钟触发服务端限制），设为 30 次\u002F15 分钟留有余量，避免触发上游真实 429。实际限制可能随 xAI 策略调整而变化。\u003C\u002Fsub>\n\n### Image \u002F Image Edit \u002F Video\n\n| 模型名 | mode | tier |\n| :-- | :-- | :-- |\n| `grok-imagine-image-lite` | `fast` | `basic` |\n| `grok-imagine-image` | `auto` | `super` |\n| `grok-imagine-image-pro` | `auto` | `super` |\n| `grok-imagine-image-edit` | `auto` | `super` |\n| `grok-imagine-video` | `auto` | `super` |\n\n\u003Cbr>\n\n## API 一览\n\n| 接口 | 鉴权 | 说明 |\n| :-- | :-- | :-- |\n| `GET \u002Fv1\u002Fmodels` | 是 | 列出当前启用模型 |\n| `GET \u002Fv1\u002Fmodels\u002F{model_id}` | 是 | 获取单个模型信息 |\n| `POST \u002Fv1\u002Fchat\u002Fcompletions` | 是 | 对话 \u002F 图像 \u002F 视频统一入口 |\n| `POST \u002Fv1\u002Fresponses` | 是 | OpenAI Responses API 兼容子集 |\n| `POST \u002Fv1\u002Fmessages` | 是 | Anthropic Messages API 兼容接口 |\n| `POST \u002Fv1\u002Fimages\u002Fgenerations` | 是 | 独立图像生成接口 |\n| `POST \u002Fv1\u002Fimages\u002Fedits` | 是 | 独立图像编辑接口 |\n| `POST \u002Fv1\u002Fvideos` | 是 | 异步视频任务创建 |\n| `GET \u002Fv1\u002Fvideos\u002F{video_id}` | 是 | 查询视频任务 |\n| `GET \u002Fv1\u002Fvideos\u002F{video_id}\u002Fcontent` | 是 | 获取最终视频文件 |\n| `GET \u002Fv1\u002Ffiles\u002Fvideo?id=...` | 否 | 获取本地缓存视频 |\n| `GET \u002Fv1\u002Ffiles\u002Fimage?id=...` | 否 | 获取本地缓存图片 |\n\n\u003Cbr>\n\n## 调用示例\n\n### 付费账号对话\n\n```bash\ncurl http:\u002F\u002Flocalhost:8000\u002Fv1\u002Fchat\u002Fcompletions \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"Authorization: Bearer $GROK2API_API_KEY\" \\\n  -d '{\n    \"model\": \"grok-4.20-auto\",\n    \"stream\": true,\n    \"reasoning_effort\": \"high\",\n    \"messages\": [\n      {\"role\":\"user\",\"content\":\"你好\"}\n    ]\n  }'\n```\n\n### 免费账号对话\n\n```bash\ncurl http:\u002F\u002Flocalhost:8000\u002Fv1\u002Fchat\u002Fcompletions \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"Authorization: Bearer $GROK2API_API_KEY\" \\\n  -d '{\n    \"model\": \"grok-4.3-high-console\",\n    \"stream\": true,\n    \"messages\": [\n      {\"role\":\"user\",\"content\":\"你好\"}\n    ]\n  }'\n```\n\n### 图像生成\n\n```bash\ncurl http:\u002F\u002Flocalhost:8000\u002Fv1\u002Fimages\u002Fgenerations \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"Authorization: Bearer $GROK2API_API_KEY\" \\\n  -d '{\n    \"model\": \"grok-imagine-image\",\n    \"prompt\": \"一只在太空漂浮的猫\",\n    \"n\": 1,\n    \"size\": \"1792x1024\",\n    \"response_format\": \"url\"\n  }'\n```\n\n### 视频生成\n\n```bash\ncurl http:\u002F\u002Flocalhost:8000\u002Fv1\u002Fvideos \\\n  -H \"Authorization: Bearer $GROK2API_API_KEY\" \\\n  -F \"model=grok-imagine-video\" \\\n  -F \"prompt=霓虹雨夜街头，电影感慢镜头追拍\" \\\n  -F \"seconds=10\" \\\n  -F \"size=1792x1024\" \\\n  -F \"resolution_name=720p\" \\\n  -F \"preset=normal\"\n```\n\n更完整的字段说明见上游 [接口文档](https:\u002F\u002Fgithub.com\u002Fchenyme\u002Fgrok2api#api-%E4%B8%80%E8%A7%88)。\n\n\u003Cbr>\n\n## 常见问题\n\n**Q: 镜像启动后 `\u002Fadmin\u002Flogin` 打不开？**\n确认容器端口映射正确：`docker compose ps` 查看 `0.0.0.0:8000->8000\u002Ftcp`，且宿主机防火墙未拦截。\n\n**Q: 图片或视频链接返回 403？**\n没有正确设置 `app.app_url`。该字段必须是用户能访问的公网地址（含协议），例如 `https:\u002F\u002Fapi.example.com`。\n\n**Q: 提示 Cloudflare 拦截？**\n在 Admin 后台 → 配置管理 → 代理配置，将 `proxy.clearance.mode` 设为 `manual` 并填入有效 `cf_cookies` + `user_agent`，或部署 FlareSolverr 后切到 `flaresolverr` 模式。\n\n**Q: 多 worker 部署？**\n`SERVER_WORKERS` 大于 1 时，账号刷新调度器会通过文件锁选举出唯一 leader，其他 worker 仅做轻量同步，安全可用。Windows 下建议保持单 worker。\n\n\u003Cbr>\n\n## 致谢\n\n- 上游：[chenyme\u002Fgrok2api](https:\u002F\u002Fgithub.com\u002Fchenyme\u002Fgrok2api)\n- DeepWiki：[chenyme\u002Fgrok2api](https:\u002F\u002Fdeepwiki.com\u002Fchenyme\u002Fgrok2api)\n- 项目文档：[blog.cheny.me](https:\u002F\u002Fblog.cheny.me\u002Fblog\u002Fposts\u002Fgrok2api)\n- 社区：[Linux.do](https:\u002F\u002Flinux.do)\n\n\u003Cbr>\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=jiujiu532\u002Fgrok2api&type=Date)](https:\u002F\u002Fstar-history.com\u002F#jiujiu532\u002Fgrok2api&Date)\n\n\u003Cbr>\n\n## License\n\nMIT\n","Grok2API 是一个基于 FastAPI 构建的 Grok 网关，将 Grok Web 能力以 OpenAI 兼容 API 的方式对外提供。项目核心功能包括支持 OpenAI 和 Anthropic 兼容接口、流式与非流式对话、显式思考输出、函数工具结构透传以及统一的 token\u002Fusage 统计等。此外，它还支持多账号池管理、本地缓存媒体文件及代理链接返回，并内置了 Admin 后台管理、Web Chat、Masonry 生图和 ChatKit 语音页面等功能。该项目特别适合需要稳定访问 Grok 功能且希望使用 OpenAI 标准接口的应用场景，如开发聊天机器人、图像生成或视频处理服务等。通过 Docker 镜像部署，可选择标准版或防封版以适应不同网络环境下的需求。",2,"2026-06-11 03:57:25","CREATED_QUERY"]