本项目基于 grok2api 重构。
[!NOTE] 本项目仅供学习与研究,使用者必须在遵循 Grok 使用条款及当地法律法规的前提下使用,不得用于非法用途。
wreq 链路,无需外部 curl-impersonate。系统首页截图:

下游管理截图:

wreq,不再依赖外部 curl-impersonate。ghcr.io/xeanyu/grok2api-rs:v0.2.0(若已发布 tag)或 ghcr.io/xeanyu/grok2api-rs:latest。版本升级示例:
docker pull ghcr.io/xeanyu/grok2api-rs:v0.2.0
IMAGE=ghcr.io/xeanyu/grok2api-rs:v0.2.0 docker compose up -d
| 接口 | 路径 | 开关项 |
|---|---|---|
| Chat Completions | /v1/chat/completions |
downstream.enable_chat_completions |
| Responses API | /v1/responses |
downstream.enable_responses |
| Images Generations | /v1/images/generations |
downstream.enable_images |
| Images NSFW | /v1/images/generations/nsfw |
downstream.enable_images_nsfw |
| Models | /v1/models |
downstream.enable_models |
| Files | /v1/files |
downstream.enable_files |
后台路径:
/admin(Token 管理 / 配置管理 / 缓存管理 / 下游管理 / 对话)。
# 1. 准备目录
mkdir -p grok2api-rs/data
# 2. 配置文件
cp config.defaults.toml grok2api-rs/data/config.toml
# 3. Token 池
cp /path/to/token.json grok2api-rs/data/token.json
# 4. 启动
chmod +x grok2api-rs/grok2api-rs
SERVER_HOST=0.0.0.0 SERVER_PORT=8000 ./grok2api-rs/grok2api-rs
单文件部署目录参考:
/grok2api-rs
├─ grok2api-rs
└─ data
├─ config.toml
└─ token.json
系统部署执行截图:

# 1. 拉取项目
git clone https://github.com/XeanYu/grok2api-rs.git
cd grok2api-rs
# 2. 准备数据目录
mkdir -p data
cp config.defaults.toml data/config.toml
# 3. 准备 token 池(至少 1 个可用 ssoBasic)
cat > data/token.json <<'JSON'
{
"ssoBasic": []
}
JSON
# 4. 启动(默认镜像:ghcr.io/xeanyu/grok2api-rs:latest)
docker compose pull
docker compose up -d
# 5. 查看日志
docker compose logs -f
本地构建镜像后再启动:
docker build -t grok2api-rs:local .
IMAGE=grok2api-rs:local docker compose up -d
仓库已包含 .github/workflows/docker-publish.yml:
main:发布 ghcr.io/<owner>/grok2api-rs:latestv0.2.0):发布同名 tag 镜像linux/amd64 + linux/arm64# 本地 release
cargo build --release
# Linux x86_64 musl 静态构建(需安装 cargo-zigbuild 和 zig)
cargo zigbuild --release --target x86_64-unknown-linux-musl
将 config.defaults.toml 复制到 data/config.toml 后按需调整:
[grok]
temporary = true
stream = true
thinking = true
dynamic_statsig = true
filter_tags = ["xaiartifact","xai:tool_usage_card","grok:render"]
timeout = 120
base_proxy_url = ""
asset_proxy_url = ""
cf_clearance = ""
wreq_emulation = "chrome_136"
wreq_emulation_usage = ""
wreq_emulation_nsfw = ""
max_retry = 3
retry_status_codes = [401,429,403]
imagine_default_image_count = 4
imagine_sso_daily_limit = 10
imagine_blocked_retry = 3
imagine_max_retries = 5
[app]
app_url = "http://127.0.0.1:8000"
app_key = "grok2api"
api_key = ""
image_format = "url"
video_format = "url"
[token]
auto_refresh = true
refresh_interval_hours = 8
fail_threshold = 5
save_delay_ms = 500
reload_interval_sec = 30
[cache]
enable_auto_clean = true
limit_mb = 1024
[performance]
assets_max_concurrent = 25
media_max_concurrent = 50
usage_max_concurrent = 25
assets_delete_batch_size = 10
assets_batch_size = 10
assets_max_tokens = 1000
usage_batch_size = 50
usage_max_tokens = 1000
nsfw_max_concurrent = 10
nsfw_batch_size = 50
nsfw_max_tokens = 1000
[downstream]
enable_chat_completions = true
enable_responses = true
enable_images = true
enable_images_nsfw = true
enable_models = true
enable_files = true
配置说明(关键项):
app.api_key:下游调用鉴权 Bearer Token,留空表示不校验。app.app_key:后台登录密码。app.image_format:默认图片返回格式(url / base64);若请求里传了 response_format,以请求参数为准。grok.wreq_emulation*:上游浏览器指纹模板,支持全局/Usage/NSFW 分场景覆盖。grok.base_proxy_url / grok.asset_proxy_url:可选上游代理地址。curl http://127.0.0.1:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "grok-4",
"messages": [{"role":"user","content":"你好"}]
}'
curl http://127.0.0.1:8000/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "grok-4",
"input": "你好"
}'
Responses 文本问答截图:

curl http://127.0.0.1:8000/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "grok-imagine-1.0",
"input": [
{"type":"input_text","text":"画一只在太空漂浮的猫"}
]
}'
Responses 生图截图:

curl http://127.0.0.1:8000/v1/images/generations/nsfw \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "grok-imagine-1.0",
"prompt": "绘制一张夜店风格的人像海报",
"n": 1,
"response_format": "url"
}'
curl http://127.0.0.1:8000/v1/models \
-H "Authorization: Bearer YOUR_API_KEY"
可用模型列表截图:

sub2api 调用模型截图:

/v1/responses(OpenAI Responses API 兼容)。/v1/images/generations/nsfw(NSFW 专用图片生成接口)。wreq 实现,不再依赖外部 curl-impersonate。SERVER_STORAGE_TYPE 其他值会降级并提示)。$ claude mcp add grok2api-rs \
-- python -m otcore.mcp_server <graph>