Skip to content

基于 FastAPI 重构的 Grok2API,全面适配最新 Web 调用格式,支持流/非流式对话、图像生成/编辑、深度思考,号池并发与自动负载均衡一体化。

License

Notifications You must be signed in to change notification settings

chenyme/grok2api

Repository files navigation

Grok2API

中文 | English

Note

本项目仅供学习与研究,使用者必须在遵循 Grok 的 使用条款 以及 法律法规 的情况下使用,不得用于非法用途。

基于 FastAPI 重构的 Grok2API,全面适配最新 Web 调用格式,支持流/非流式对话、图像生成/编辑、视频生成/超分(文生视频 / 图生视频)、深度思考,号池并发与自动负载均衡一体化。

image

快速开始

本地开发

uv sync
uv run main.py

Docker Compose

git clone https://github.com/chenyme/grok2api
cd grok2api

docker compose up -d

Vercel 部署

Deploy with Vercel

请务必设置 DATA_DIR=/tmp/data 并关闭文件日志 LOG_FILE_ENABLED=false

持久化请使用 MySQL / Redis / PostgreSQL,并设置:SERVER_STORAGE_TYPESERVER_STORAGE_URL

Render 部署

Deploy to Render

Render 免费实例 15 分钟无访问会休眠;重启/重新部署会丢失数据。

持久化请使用 MySQL / Redis / PostgreSQL,并设置:SERVER_STORAGE_TYPESERVER_STORAGE_URL


管理面板

  • 访问地址:http://<host>:8000/admin
  • 默认密码:grok2api(配置项 app.app_key,建议修改)

功能说明

  • Token 管理:导入/添加/删除 Token,查看状态和配额
  • 状态筛选:按状态(正常/限流/失效)或 NSFW 状态筛选
  • 批量操作:批量刷新、导出、删除、开启 NSFW
  • NSFW 开启:一键为 Token 开启 Unhinged 模式(需代理或 cf_clearance
  • 配置管理:在线修改系统配置
  • 缓存管理:查看和清理媒体缓存

环境变量

配置 .env 文件

变量名 说明 默认值 示例
LOG_LEVEL 日志级别 INFO DEBUG
LOG_FILE_ENABLED 是否启用文件日志 true false
DATA_DIR 数据目录(配置/Token/锁) ./data /data
SERVER_HOST 服务监听地址 0.0.0.0 0.0.0.0
SERVER_PORT 服务端口 8000 8000
SERVER_WORKERS Uvicorn worker 数量 1 2
SERVER_STORAGE_TYPE 存储类型(local/redis/mysql/pgsql local pgsql
SERVER_STORAGE_URL 存储连接串(local 时可为空) "" postgresql+asyncpg://user:password@host:5432/db

MySQL 示例:mysql+aiomysql://user:password@host:3306/db(若填 mysql:// 会自动转为 mysql+aiomysql://


可用次数

  • Basic 账号:80 次 / 20h
  • Super 账号:140 次 / 2h

可用模型

模型名 计次 可用账号 对话功能 图像功能 视频功能
grok-3 1 Basic/Super 支持 支持 -
grok-3-mini 1 Basic/Super 支持 支持 -
grok-3-thinking 1 Basic/Super 支持 支持 -
grok-4 1 Basic/Super 支持 支持 -
grok-4-mini 1 Basic/Super 支持 支持 -
grok-4-thinking 1 Basic/Super 支持 支持 -
grok-4-heavy 4 Super 支持 支持 -
grok-4.1-mini 1 Basic/Super 支持 支持 -
grok-4.1-fast 1 Basic/Super 支持 支持 -
grok-4.1-expert 4 Basic/Super 支持 支持 -
grok-4.1-thinking 4 Basic/Super 支持 支持 -
grok-imagine-1.0 - Basic/Super - 支持 -
grok-imagine-1.0-edit - Basic/Super - 支持 -
grok-imagine-1.0-video - Basic/Super - - 支持

接口说明

POST /v1/chat/completions

通用接口,支持对话聊天、图像生成、图像编辑、视频生成、视频超分

curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $GROK2API_API_KEY" \
  -d '{
    "model": "grok-4",
    "messages": [{"role":"user","content":"你好"}]
  }'
支持的请求参数
字段 类型 说明 可用参数
model string 模型名称 见上方模型列表
messages array 消息列表 见下方消息格式
stream boolean 是否开启流式输出 true, false
reasoning_effort string 推理强度 none, minimal, low, medium, high, xhigh
temperature number 采样温度 0 ~ 2
top_p number nucleus 采样 0 ~ 1
video_config object 视频模型专用配置对象 支持:grok-imagine-1.0-video
└─aspect_ratio string 视频宽高比 16:9, 9:16, 1:1, 2:3, 3:2, 1280x720, 720x1280, 1792x1024, 1024x1792, 1024x1024
└─video_length integer 视频时长 (秒) 6, 10, 15
└─resolution_name string 分辨率 480p, 720p
└─preset string 风格预设 fun, normal, spicy, custom
image_config object 图片模型专用配置对象 支持:grok-imagine-1.0 / grok-imagine-1.0-edit
└─n integer 生成数量 1 ~ 10
└─size string 图片尺寸 1280x720, 720x1280, 1792x1024, 1024x1792, 1024x1024
└─response_format string 响应格式 url, b64_json, base64

消息格式 (messages)

字段 类型 说明
role string 角色:developer, system, user, assistant
content string/array 消息内容,支持纯文本或多模态数组

多模态内容块类型 (content array)

type 说明 示例
text 文本内容 {"type": "text", "text": "描述这张图片"}
image_url 图片 URL {"type": "image_url", "image_url": {"url": "https://..."}}
input_audio 音频 {"type": "input_audio", "input_audio": {"data": "https://..."}}
file 文件 {"type": "file", "file": {"file_data": "https://..."}}

注意事项

  • image_url/input_audio/file 仅支持 URL 或 Data URI(data:<mime>;base64,...),裸 base64 会报错。
  • reasoning_effortnone 表示不输出思考,其他值都会输出思考内容。
  • grok-imagine-1.0-edit 必须提供图片,多图默认取最后一张与最后一个文本。
  • grok-imagine-1.0-video 支持文生视频与图生视频(通过 image_url 传参考图)。
  • 除上述外的其他参数将自动丢弃并忽略。


POST /v1/images/generations

图像生成接口

curl http://localhost:8000/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $GROK2API_API_KEY" \
  -d '{
    "model": "grok-imagine-1.0",
    "prompt": "一只在太空漂浮的猫",
    "n": 1
  }'
支持的请求参数
字段 类型 说明 可用参数
model string 图像模型名 grok-imagine-1.0
prompt string 图像描述提示词 -
n integer 生成数量 1 - 10 (流式模式仅限 12)
stream boolean 是否开启流式输出 true, false
size string 图片尺寸 1280x720, 720x1280, 1792x1024, 1024x1792, 1024x1024
quality string 图片质量 - (暂不支持)
response_format string 响应格式 url, b64_json, base64
style string 风格 - (暂不支持)

注意事项

  • qualitystyle 参数为 OpenAI 兼容保留,当前版本暂不支持自定义。


POST /v1/images/edits

图像编辑接口(multipart/form-data)

curl http://localhost:8000/v1/images/edits \
  -H "Authorization: Bearer $GROK2API_API_KEY" \
  -F "model=grok-imagine-1.0-edit" \
  -F "prompt=把图片变清晰" \
  -F "image=@/path/to/image.png" \
  -F "n=1"
支持的请求参数
字段 类型 说明 可用参数
model string 图像模型名 grok-imagine-1.0-edit
prompt string 编辑描述 -
image file 待编辑图片 png, jpg, webp
n integer 生成数量 1 - 10 (流式模式仅限 12)
stream boolean 是否开启流式输出 true, false
size string 图片尺寸 1280x720, 720x1280, 1792x1024, 1024x1792, 1024x1024
quality string 图片质量 - (暂不支持)
response_format string 响应格式 url, b64_json, base64
style string 风格 - (暂不支持)

注意事项

  • qualitystyle 参数为 OpenAI 兼容保留,当前版本暂不支持自定义。


参数配置

配置文件:data/config.toml

Note

生产环境或反向代理部署时,请确保 app.app_url 配置为对外可访问的完整 URL, 否则可能出现文件访问链接不正确或 403 等问题。

Tip

v2.0 配置结构升级:旧版本用户更新后,配置会自动迁移到新结构,无需手动修改。 旧的 [grok] 配置节中的自定义值会自动映射到对应的新配置节。

模块 字段 配置名 说明 默认值
app app_url 应用地址 当前 Grok2API 服务的外部访问 URL,用于文件链接访问。 http://127.0.0.1:8000
app_key 后台密码 登录 Grok2API 管理后台的密码(必填)。 grok2api
api_key API 密钥 调用 Grok2API 服务的 Token(可选)。 ""
image_format 图片格式 生成的图片格式(url 或 base64)。 url
video_format 视频格式 生成的视频格式(html 或 url,url 为处理后的链接)。 html
temporary 临时对话 是否启用临时对话模式。 true
disable_memory 禁用记忆 禁用 Grok 记忆功能,防止响应中出现不相关上下文。 true
stream 流式响应 是否默认启用流式输出。 true
thinking 思维链 是否启用模型思维链输出。 true
dynamic_statsig 动态指纹 是否启用动态生成 Statsig 值。 true
filter_tags 过滤标签 自动过滤 Grok 响应中的特殊标签。 ["xaiartifact", "xai:tool_usage_card", "grok:render"]
proxy base_proxy_url 基础代理 URL 代理请求到 Grok 官网的基础服务地址。 ""
asset_proxy_url 资源代理 URL 代理请求到 Grok 官网的静态资源(图片/视频)地址。 ""
cf_clearance CF Clearance Cloudflare 验证 Cookie,用于绕过反爬虫验证。 ""
browser 浏览器指纹 curl_cffi 浏览器指纹标识(如 chrome136)。 chrome136
user_agent User-Agent HTTP 请求的 User-Agent 字符串。 Mozilla/5.0 (Macintosh; ...)
voice timeout 请求超时 Voice 请求超时时间(秒)。 120
chat concurrent 并发上限 Reverse 接口并发上限。 10
timeout 请求超时 Reverse 接口超时时间(秒)。 60
stream_timeout 流空闲超时 流式空闲超时时间(秒)。 60
video concurrent 并发上限 Reverse 接口并发上限。 10
timeout 请求超时 Reverse 接口超时时间(秒)。 60
stream_timeout 流空闲超时 流式空闲超时时间(秒)。 60
retry max_retry 最大重试 请求 Grok 服务失败时的最大重试次数。 3
retry_status_codes 重试状态码 触发重试的 HTTP 状态码列表。 [401, 429, 403]
retry_backoff_base 退避基数 重试退避的基础延迟(秒)。 0.5
retry_backoff_factor 退避倍率 重试退避的指数放大系数。 2.0
retry_backoff_max 退避上限 单次重试等待的最大延迟(秒)。 30.0
retry_budget 退避预算 单次请求的最大重试总耗时(秒)。 90.0
image timeout 请求超时 WebSocket 请求超时时间(秒)。 120
stream_timeout 流空闲超时 WebSocket 流式空闲超时时间(秒)。 120
final_timeout 最终图超时 收到中等图后等待最终图的超时秒数。 15
nsfw NSFW 模式 WebSocket 请求是否启用 NSFW。 true
medium_min_bytes 中等图最小字节 判定中等质量图的最小字节数。 30000
final_min_bytes 最终图最小字节 判定最终图的最小字节数(通常 JPG > 100KB)。 100000
token auto_refresh 自动刷新 是否开启 Token 自动刷新机制。 true
refresh_interval_hours 刷新间隔 普通 Token 刷新的时间间隔(小时)。 8
super_refresh_interval_hours Super 刷新间隔 Super Token 刷新的时间间隔(小时)。 2
fail_threshold 失败阈值 单个 Token 连续失败多少次后被标记为不可用。 5
save_delay_ms 保存延迟 Token 变更合并写入的延迟(毫秒)。 500
reload_interval_sec 同步间隔 多 worker 场景下 Token 状态刷新间隔(秒)。 30
cache enable_auto_clean 自动清理 是否启用缓存自动清理,开启后按上限自动回收。 true
limit_mb 清理阈值 缓存大小阈值(MB),超过阈值会触发清理。 1024
asset upload_concurrent 上传并发 上传接口的最大并发数。推荐 30。 30
upload_timeout 上传超时 上传接口超时时间(秒)。推荐 60。 60
download_concurrent 下载并发 下载接口的最大并发数。推荐 30。 30
download_timeout 下载超时 下载接口超时时间(秒)。推荐 60。 60
list_concurrent 查询并发 资产查询接口的最大并发数。推荐 10。 10
list_timeout 查询超时 资产查询接口超时时间(秒)。推荐 60。 60
list_batch_size 查询批次大小 单次查询可处理的 Token 数量。推荐 10。 10
delete_concurrent 删除并发 资产删除接口的最大并发数。推荐 10。 10
delete_timeout 删除超时 资产删除接口超时时间(秒)。推荐 60。 60
delete_batch_size 删除批次大小 单次删除可处理的 Token 数量。推荐 10。 10
nsfw concurrent 并发上限 批量开启 NSFW 模式时的并发请求上限。推荐 10。 10
batch_size 批次大小 批量开启 NSFW 模式的单批处理数量。推荐 50。 50
timeout 请求超时 NSFW 开启相关请求的超时时间(秒)。推荐 60。 60
usage concurrent 并发上限 批量刷新用量时的并发请求上限。推荐 10。 10
batch_size 批次大小 批量刷新用量的单批处理数量。推荐 50。 50
timeout 请求超时 用量查询接口的超时时间(秒)。推荐 60。 60

Star History

Star History Chart

About

基于 FastAPI 重构的 Grok2API,全面适配最新 Web 调用格式,支持流/非流式对话、图像生成/编辑、深度思考,号池并发与自动负载均衡一体化。

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 15