grok2api 是一个基于 FastAPI 框架重构的开源项目,旨在将 X(前身为 Twitter)的 Grok 大模型的网页调用格式,转换为与 OpenAI API 完全兼容的接口。 这使得开发者可以轻松地将 Grok 的强大功能集成到现有的各种应用和服务中。该项目不仅支持流式对话、联网搜索和深度思考模式,还实现了图像生成、图像编辑和视频生成等多媒体功能。 为了有效管理多个 Grok 账号,grok2api 内置了账号池并发调用和自动负载均衡机制,能够实时监控并分配各个账号的调用次数,从而最大化利用资源。 项目还提供了一个可视化的管理后台,方便用户配置参数、管理账号和监控服务状态。
功能列表
- 兼容OpenAI接口: 项目提供的API端点与OpenAI官方接口完全兼容,方便开发者迁移和集成。
- 多媒体处理: 支持在对话中直接生成图片,或通过特定模型根据图片和提示词生成视频。
- 多种模型支持: 支持
grok-3-fast,grok-4-fast,grok-4-expert等多种模型,用户可以根据需求选择不同的模型进行调用。 - 账号池与负载均衡: 支持批量添加Grok账号,系统会自动对所有账号的调用次数进行负载均衡,避免单个账号因超额使用而被限制。
- 流式对话: 支持流式(Streaming)响应,可以像官方网站一样逐字输出内容,提升交互体验。
- 缓存机制: 系统会自动缓存生成的图片和视频文件到本地,解决Grok官方链接无法直接访问的问题,并通过配置
Base Url来确保媒体文件正常显示。 [cite:1-2] - 可视化管理后台: 提供Web管理界面,用户可以登录后台进行系统配置、管理账号Token、查看用量统计以及清理缓存等操作。
- 灵活的存储选项: 支持使用本地文件、MySQL数据库或Redis作为账号和配置信息的存储后端,适应不同的部署环境。
使用帮助
grok2api 提供了多种部署和使用方式,其中使用 Docker Compose 是最简单快捷的方法。
1. 部署方法
推荐使用 docker-compose 进行一键部署,这可以简化环境配置的复杂性。
首先,创建一个名为 docker-compose.yml 的文件,并将以下内容复制进去:
services:
grok2api:
image: ghcr.io/chenyme/grok2api:latest
container_name: grok2api
ports:
- "8000:8000"
volumes:
- grok_data:/app/data
- ./logs:/app/logs
environment:
# 存储模式,可选值为 file, mysql 或 redis,默认为 file
- STORAGE_MODE=file
# 如果使用 mysql 或 redis,需要配置下面的数据库连接URL
# - DATABASE_URL=mysql://user:password@host:3306/grok2api
volumes:
grok_data:
接着,在包含该文件的目录下,打开终端并运行以下命令来启动服务:
docker-compose up -d
服务将会在后台启动,并监听本地的 8000 端口。
2. 初始化配置
服务首次启动后,你需要通过管理后台进行初始化配置。
- 访问管理后台
在浏览器中打开http://<你的服务器地址>:8000/login。
默认的管理员用户名为admin,密码为admin。 - 修改管理员密码
登录后,请第一时间在管理后台的“系统配置”页面修改默认的管理员用户名和密码,以确保服务安全。 - 配置基础URL(Base URL)
这是非常重要的一步,特别是当你需要使用图像或视频生成功能时。base_url是为了让生成的媒体文件能够被正确访问。请将其设置为你的服务器可访问的地址,例如http://192.168.1.10:8000或https://your-domain.com。 - 添加Grok账号
在管理后台的“Token管理”页面,点击“批量添加Token”按钮,将你的Grok账号信息(cf_clearance和auth_token)添加进去。这些信息需要用户自行从浏览器开发者工具中获取。
3. 如何调用API
grok2api 的接口与 OpenAI 的 chat/completions 接口完全兼容。你可以使用任何支持 OpenAI API 的客户端或库进行调用。
发起聊天请求
以下是一个使用 curl 命令发起流式聊天请求的示例:
curl https://你的服务器地址/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <你在后台设置的API_KEY>" \
-d '{
"model": "grok-4-fast",
"messages": [
{
"role": "user",
"content": "你好,请介绍一下你自己"
}
],
"stream": true
}'
- 将
你的服务器地址替换为部署grok2api服务的IP地址或域名。 - 将
<你在后台设置的API_KEY>替换为你在管理后台设置的api_key。如果未设置,则无需Authorization请求头。
生成图片
在对话中包含“画一个”或类似指令,即可触发图片生成功能。
curl https://你的服务器地址/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <你在后台设置的API_KEY>" \
-d '{
"model": "grok-4-fast",
"messages": [
{
"role": "user",
"content": "请帮我画一只正在写代码的猫"
}
]
}'
系统会以 Markdown 格式返回两张图片,并消耗4次额度。 返回的图片链接基于你配置的 base_url。
生成视频
要生成视频,你需要选择 grok-imagine-0.9 模型,并传入一张图片和相应的提示词。
curl https://你的服务器地址/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <你在后台设置的API_KEY>" \
-d '{
"model": "grok-imagine-0.9",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "让画面中的风车转动起来"
},
{
"type": "image_url",
"image_url": {
"url": "https://your-image-url.jpg"
}
}
]
}
]
}'
返回的内容将是一个包含视频链接的HTML <video> 标签。
应用场景
- 应用功能拓展
对于已经集成了 OpenAI API 的各类应用(如聊天机器人、内容创作工具等),开发者可以通过 grok2api,几乎无需修改代码,只需更改API的基地址和密钥,就能快速将 Grok 模型的能力集成进来,为用户提供一个额外的、具有联网搜索和独特幽默风格的大模型选择。 - 多账号高效管理
对于拥有多个 Grok 账号的用户或团队,手动管理和轮换账号非常繁琐。grok2api 的号池和自动负载均衡功能可以解决这个问题。用户只需将所有账号添加到后台,系统会自动分配请求,确保每个账号的使用频率均衡,避免因超出限制而导致服务中断,最大化利用所有账号资源。 - 低成本API替代方案
对于需要使用大模型API但预算有限的个人开发者、研究人员或初创公司,grok2api 提供了一个极具成本效益的解决方案。它通过将Web端的操作转换为API接口,让用户能够以接近免费的方式使用 Grok 的强大功能,用于实验、原型开发或小规模应用。 - 多媒体内容生成
需要生成图像或短视频的内容创作者或自动化应用,可以利用 grok2api 的多媒体生成能力。通过简单的API调用,即可根据文本或图片提示词生成相应的视觉内容,可用于社交媒体帖子、营销材料或自动化视频制作流程。
QA
- 使用 grok2api 需要付费吗?
grok2api 项目本身是开源且免费的。但是,你需要拥有至少一个Grok的账号(普通账号或Super账号)才能使用其功能。根据Grok官方的政策,普通账号有调用次数限制(例如每20小时80次)。 - 这个项目是官方的API吗?
不是。该项目是一个第三方工具,通过模拟浏览器与Grok网页版的交互来将其功能封装成API接口。因此,它的稳定性可能会受到Grok官方网页版更新的影响。 - 如何获取Grok账号的认证信息(
cf_clearance和auth_token)?
你需要登录Grok的官方网站,然后通过浏览器的开发者工具(通常按F12打开),在网络(Network)或应用(Application)标签页中找到相应的Cookie和请求头信息。这是一个技术性较强的操作,请谨慎处理你的个人认证信息。 - 为什么生成的图片或视频无法显示?
这通常是因为没有正确设置base_url参数。 Grok返回的媒体文件链接有访问限制,grok2api 会将其缓存到本地。你必须在管理后台将base_url设置为服务的公开访问地址(例如https://yourdomain.com或http://<服务器IP>:8000),这样API返回的媒体链接才是可访问的。






























