海外访问:www.kdjingpai.com
Ctrl + D 收藏本站

grok2api 是一个基于 FastAPI 框架重构的开源项目,旨在将 X(前身为 Twitter)的 Grok 大模型的网页调用格式,转换为与 OpenAI API 完全兼容的接口。 这使得开发者可以轻松地将 Grok 的强大功能集成到现有的各种应用和服务中。该项目不仅支持流式对话、联网搜索和深度思考模式,还实现了图像生成、图像编辑和视频生成等多媒体功能。 为了有效管理多个 Grok 账号,grok2api 内置了账号池并发调用和自动负载均衡机制,能够实时监控并分配各个账号的调用次数,从而最大化利用资源。 项目还提供了一个可视化的管理后台,方便用户配置参数、管理账号和监控服务状态。

功能列表

  • 兼容OpenAI接口: 项目提供的API端点与OpenAI官方接口完全兼容,方便开发者迁移和集成。
  • 多媒体处理: 支持在对话中直接生成图片,或通过特定模型根据图片和提示词生成视频。
  • 多种模型支持: 支持 grok-3-fastgrok-4-fastgrok-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. 初始化配置

服务首次启动后,你需要通过管理后台进行初始化配置。

  1. 访问管理后台
    在浏览器中打开 http://<你的服务器地址>:8000/login
    默认的管理员用户名为 admin,密码为 admin
  2. 修改管理员密码
    登录后,请第一时间在管理后台的“系统配置”页面修改默认的管理员用户名和密码,以确保服务安全。
  3. 配置基础URL(Base URL)
    这是非常重要的一步,特别是当你需要使用图像或视频生成功能时。base_url 是为了让生成的媒体文件能够被正确访问。请将其设置为你的服务器可访问的地址,例如 http://192.168.1.10:8000 或 https://your-domain.com
  4. 添加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> 标签。

应用场景

  1. 应用功能拓展
    对于已经集成了 OpenAI API 的各类应用(如聊天机器人、内容创作工具等),开发者可以通过 grok2api,几乎无需修改代码,只需更改API的基地址和密钥,就能快速将 Grok 模型的能力集成进来,为用户提供一个额外的、具有联网搜索和独特幽默风格的大模型选择。
  2. 多账号高效管理
    对于拥有多个 Grok 账号的用户或团队,手动管理和轮换账号非常繁琐。grok2api 的号池和自动负载均衡功能可以解决这个问题。用户只需将所有账号添加到后台,系统会自动分配请求,确保每个账号的使用频率均衡,避免因超出限制而导致服务中断,最大化利用所有账号资源。
  3. 低成本API替代方案
    对于需要使用大模型API但预算有限的个人开发者、研究人员或初创公司,grok2api 提供了一个极具成本效益的解决方案。它通过将Web端的操作转换为API接口,让用户能够以接近免费的方式使用 Grok 的强大功能,用于实验、原型开发或小规模应用。
  4. 多媒体内容生成
    需要生成图像或短视频的内容创作者或自动化应用,可以利用 grok2api 的多媒体生成能力。通过简单的API调用,即可根据文本或图片提示词生成相应的视觉内容,可用于社交媒体帖子、营销材料或自动化视频制作流程。

QA

  1. 使用 grok2api 需要付费吗?
    grok2api 项目本身是开源且免费的。但是,你需要拥有至少一个Grok的账号(普通账号或Super账号)才能使用其功能。根据Grok官方的政策,普通账号有调用次数限制(例如每20小时80次)。
  2. 这个项目是官方的API吗?
    不是。该项目是一个第三方工具,通过模拟浏览器与Grok网页版的交互来将其功能封装成API接口。因此,它的稳定性可能会受到Grok官方网页版更新的影响。
  3. 如何获取Grok账号的认证信息(cf_clearance 和 auth_token)?
    你需要登录Grok的官方网站,然后通过浏览器的开发者工具(通常按F12打开),在网络(Network)或应用(Application)标签页中找到相应的Cookie和请求头信息。这是一个技术性较强的操作,请谨慎处理你的个人认证信息。
  4. 为什么生成的图片或视频无法显示?
    这通常是因为没有正确设置base_url参数。 Grok返回的媒体文件链接有访问限制,grok2api 会将其缓存到本地。你必须在管理后台将base_url设置为服务的公开访问地址(例如 https://yourdomain.com 或 http://<服务器IP>:8000),这样API返回的媒体链接才是可访问的。
0已收藏
0已赞

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

回顶部

zh_CN简体中文