外观
Grok 开发者接入
FreedomZ AI 通过 OpenAI 兼容网关提供 Grok 文本、图片和视频能力。所有示例均使用 本站入口:
text
https://freedomz.cn/v1文档口径
本文按 xAI 官方开发文档核对请求字段和能力限制,并结合 FreedomZ AI 当前网关实现 编写。文中的“已实测”均来自 2026 年 8 月 17 日使用 Grok 分组真实 Key 完成的接口 请求;未开放、仅完成兼容性验证和仅在模型列表可见的能力会单独标明。模型列表可能由 管理员或上游调整,接入时仍应先调用 GET /v1/models。
接入总览
| 能力 | 方法 | FreedomZ AI 路径 |
|---|---|---|
| 模型列表 | GET | /v1/models |
| 文本与推理(推荐) | POST | /v1/responses |
| 文本兼容接口 | POST | /v1/chat/completions |
| 图片生成 | POST | /v1/images/generations |
| 图片编辑 | POST | /v1/images/edits |
| 视频生成 | POST | /v1/videos/generations |
| 视频编辑 | POST | /v1/videos/edits |
| 视频延长 | POST | /v1/videos/extensions |
| 视频任务状态 | GET | /v1/videos/{request_id} |
| 视频内容下载 | GET | /v1/videos/{request_id}/content |
不要把 https://api.x.ai/v1、xAI 上游密钥或 OAuth 凭据写进应用。通过本站调用时, 只使用 FreedomZ AI 的 Base URL 和 API Key。
开始前检查
1. Key 已绑定 Grok 分组
在 API 密钥管理 中确认 Key 已分配到 Grok 分组。 文本、图片和视频能力可能分别受分组权限、可用账号、额度和上游状态限制。
2. 查询当前可用模型
bash
curl --fail-with-body https://freedomz.cn/v1/models \
-H "Authorization: Bearer $FREEDOMZ_API_KEY"只调用响应中实际存在的模型。管理员可以调整模型映射、别名和分组范围;网上看到的 模型名不能代替 /v1/models 的实时结果。
3. 当前站点模型快照
2026 年 8 月 17 日更新上游模型后,Grok 分组的 GET /v1/models 返回 128 项: 32 个基础模型,以及相同模型在 grok/、x-ai/、xai/ 三套命名空间下生成的 96 个别名。以下示例统一使用已经实测的无前缀模型名:
| 类型 | 当前可见示例 | 说明 |
|---|---|---|
| 文本 | grok-4.6-latest、grok-4.6、grok-latest | grok-4.6-latest 已实测,实际路由到 grok-4.6 |
| 轻量文本 | grok-3-mini、grok-3-mini-fast | 以实时模型列表为准 |
| 多智能体 | grok-4.20-multi-agent-0309 | reasoning.effort 的含义与普通推理模型不同 |
| 图片 | grok-imagine-1、grok-imagine-image-quality、grok-imagine-image | grok-imagine-1 是当前最新可见并已实测的生成模型 |
| 视频 | grok-video-1.5、grok-imagine-video-1.5、grok-imagine-video | grok-video-1.5 已实测;旧 1.5 名称在列表中标记为 Legacy |
xAI 官方文档中的 grok-imagine-image-2.0 当前不在本站模型列表中。本站已经直接请求 该模型,返回 503 grok_media_no_eligible_account,因此当前不可用。不要把命名空间 别名当成额外模型计费或重复展示;新项目优先使用本页列出的无前缀名称。
4. 本站实测状态
| 能力 | 实测模型或接口 | 结果 |
|---|---|---|
| 最新文本 | grok-4.6-latest + /v1/responses + high | 200,返回完整文本;日志记录上游模型为 grok-4.6 |
| 最新图片 | grok-imagine-1 + /v1/images/generations | 200,返回可解码 JPEG Base64 |
| 最新视频 | grok-video-1.5 + /v1/videos/generations | 提交、轮询、MP4 下载均成功 |
| 文本兼容 | Responses、Chat Completions、JSON Schema、SSE | 均已实测通过 |
| 服务端工具 | Web Search、X Search、Code Interpreter | 均实际产生工具调用并完成 |
| 图片能力 | URL/Base64、1K/2K、14 种比例、n=2、单图/多图编辑、Data URI、multipart | 均已实测通过 |
| 视频能力 | 文生、图生、参考图、语音参考、编辑、延长、480p/720p/1080p | 均已实测通过 |
| Files API | GET/POST /v1/files | 当前均返回 404,未开放 |
| 官方图片 2.0 | grok-imagine-image-2.0 | 当前返回 503,不可用 |
5. 设置环境变量
macOS / Linux:
bash
export FREEDOMZ_API_KEY="YOUR_API_KEY"Windows PowerShell:
powershell
$env:FREEDOMZ_API_KEY = "YOUR_API_KEY"生产环境应使用密钥管理器或进程环境注入。不要把真实 Key 写入浏览器前端、公开仓库、 日志、截图或客户端安装包。
一、文本与推理
Responses API(推荐)
xAI 官方建议新项目优先使用 Responses API。它更适合推理、结构化输出、工具调用和 后续多轮会话。
bash
curl --fail-with-body https://freedomz.cn/v1/responses \
-H "Authorization: Bearer $FREEDOMZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-4.6",
"reasoning": {"effort": "high"},
"input": [
{"role": "system", "content": "你是一个严谨的开发助手。"},
{"role": "user", "content": "用三句话解释什么是幂等请求。"}
]
}'Python OpenAI SDK:
python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["FREEDOMZ_API_KEY"],
base_url="https://freedomz.cn/v1",
timeout=3600,
)
response = client.responses.create(
model="grok-4.6",
reasoning={"effort": "high"},
input="分析这个接口为什么需要幂等键,并给出实现建议。",
)
print(response.output_text)Chat Completions(兼容旧项目)
已有 OpenAI Chat Completions 客户端可以继续使用:
bash
curl --fail-with-body https://freedomz.cn/v1/chat/completions \
-H "Authorization: Bearer $FREEDOMZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-4.6",
"messages": [
{"role": "system", "content": "你是一个严谨的开发助手。"},
{"role": "user", "content": "为这个 REST API 设计分页方案。"}
],
"reasoning_effort": "medium",
"stream": false
}'推理等级
| 等级 | 适用场景 |
|---|---|
low | 简单工具调用、低延迟任务 |
medium | 常规分析和中等复杂度任务 |
high | 复杂推理、数学和多步骤规划;官方默认值 |
xhigh | 本站兼容接收,但当前会按 high 记录和执行 |
- Responses API 使用
reasoning: {"effort": "..."}。 - Chat Completions 使用顶层
reasoning_effort。 - 当前
/v1/models为grok-4.6和grok-4.6-latest公布的等级是low、medium、high。本站实测发送xhigh可以返回200,但使用记录中的reasoning_effort为high,因此不要把它当成独立档位;需要最高档时直接使用high。 grok-4.6和grok-4.5的推理不能完全关闭。- 推理模型不要同时发送
presence_penalty、frequency_penalty或stop,上游可能 返回400。 - 多智能体模型中,
reasoning.effort可能控制参与协作的智能体规模,而不是单纯的 思考深度。
流式输出
文本模型支持 SSE 流式输出,图片输出模型不支持文本 SSE:
json
{
"model": "grok-4.6",
"input": "逐步分析这段代码的性能瓶颈。",
"stream": true
}推理请求可能持续较久。客户端应增加读取超时,持续消费 SSE 事件,并在连接中断后 有限重试;不要把流式响应交给会缓存完整响应的反向代理。
结构化 JSON 输出
Responses API 可以通过 JSON Schema 约束返回结构:
bash
curl --fail-with-body https://freedomz.cn/v1/responses \
-H "Authorization: Bearer $FREEDOMZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-4.6",
"input": "提取:订单 A-102,金额 39.90 美元,状态已支付。",
"text": {
"format": {
"type": "json_schema",
"name": "order",
"strict": true,
"schema": {
"type": "object",
"properties": {
"order_id": {"type": "string"},
"amount": {"type": "number"},
"currency": {"type": "string"},
"status": {"type": "string"}
},
"required": ["order_id", "amount", "currency", "status"],
"additionalProperties": false
}
}
}
}'客户端仍应解析并校验 JSON。复杂 Schema 中的部分高级关键字只属于最佳努力支持, 不要省略业务侧校验。
服务端工具
本站已在 /v1/responses 实际验证以下工具:
| 工具 | 请求字段 | 本站实测结果 |
|---|---|---|
| Web Search | {"type": "web_search"} | 产生 web_search_call,可搜索并打开网页 |
| X Search | {"type": "x_search"} | 产生 X 用户和关键词搜索调用 |
| Code Interpreter | {"type": "code_interpreter"} | 产生并完成代码执行调用 |
| File Search | {"type": "file_search", "vector_store_ids": [...]} | 请求结构被接受;使用不存在的集合时调用状态为 failed |
组合调用示例:
bash
curl --fail-with-body https://freedomz.cn/v1/responses \
-H "Authorization: Bearer $FREEDOMZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-4.6",
"input": "搜索公开资料并使用代码解释器核对计算结果。",
"tools": [
{"type": "web_search"},
{"type": "code_interpreter"}
]
}'当前 GET /v1/files 和 POST /v1/files 均返回 404。因此本站不能通过 Files API 上传文件或创建完整的文件检索流程;已有外部集合标识的兼容请求仍需由调用方自行验证。
二、图片生成
图片生成使用:
text
POST https://freedomz.cn/v1/images/generations最小请求
bash
curl --fail-with-body https://freedomz.cn/v1/images/generations \
-H "Authorization: Bearer $FREEDOMZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine-1",
"prompt": "一间有自然光的现代书房,写实摄影风格",
"aspect_ratio": "16:9",
"n": 1
}'Python OpenAI SDK 对 xAI 扩展字段使用 extra_body:
python
response = client.images.generate(
model="grok-imagine-1",
prompt="一张用于产品首页的未来城市插画",
n=1,
extra_body={"aspect_ratio": "16:9"},
)
print(response.data[0].url)常用参数
| 参数 | 当前建议 |
|---|---|
prompt | 必填,明确主体、场景、构图、光线和风格 |
n | 已实测 1 和 2;批量生成会按实际图片数计费 |
aspect_ratio | 下列 14 种值已在 grok-imagine-image 全部实测通过 |
response_format | url 和 b64_json 均已实测通过 |
resolution | 1k、2k 已实测,实际产物分别为 1024x1024、2048x2048 |
quality | low、medium 已与对应分辨率组合实测通过 |
size | 网关接受后会移除该兼容字段;请用 resolution 和 aspect_ratio 控制输出 |
官方图片比例包括:
text
1:1 16:9 9:16 4:3 3:4 3:2 2:3
2:1 1:2 19.5:9 9:19.5 20:9 9:20 auto上述 14 种比例均已成功生成。测试过程中 19.5:9 曾遇到一次上游 502 并触发账号 短冷却,冷却后该比例及剩余比例全部成功,因此单次 5xx 不能直接判断为比例不支持。
读取结果
默认响应通常从 data 数组读取:
json
{
"data": [
{"url": "https://..."}
]
}图片 URL 可能是临时地址,应及时下载或转存。若请求使用 response_format: "b64_json", 则读取 data[0].b64_json 并进行 Base64 解码。应用应按字段实际存在情况处理,不要 自行拼接上游文件地址。
三、图片编辑
图片编辑使用:
text
POST https://freedomz.cn/v1/images/edits本站已使用 grok-imagine-image 完成单图、两图、三图、URL、Data URI 和 multipart 编辑实测。刷新后的模型列表也能看到 grok-imagine-edit,但本轮没有单独调用该名称; 生产接入优先使用本节已经验证的 grok-imagine-image。
单图编辑
bash
curl --fail-with-body https://freedomz.cn/v1/images/edits \
-H "Authorization: Bearer $FREEDOMZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine-image",
"prompt": "保留人物姿态,把背景替换成雨后的东京街道",
"image": {
"type": "image_url",
"url": "https://example.com/input.png"
}
}'输入图可以使用可公开访问的 HTTPS URL,或 data:image/...;base64,... Data URI。 不要依赖必须登录、需要 Cookie 或短时间即失效的私有地址。
多图编辑
xAI 官方当前允许一次编辑最多使用 3 张源图。图片顺序会影响提示词中的指代,默认 输出比例跟随第一张图,也可以显式传入 aspect_ratio:
bash
curl --fail-with-body https://freedomz.cn/v1/images/edits \
-H "Authorization: Bearer $FREEDOMZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine-image",
"prompt": "让第一张图的人物穿上第二张图的外套,保持自然光线",
"images": [
{"type": "image_url", "url": "https://example.com/person.jpg"},
{"type": "image_url", "url": "https://example.com/jacket.jpg"}
],
"aspect_ratio": "3:2"
}'multipart 兼容说明
xAI 官方图片编辑接口要求 JSON,OpenAI SDK 的 images.edit() 默认发送 multipart, 因此不能直接用于 xAI 官方入口。FreedomZ 网关额外兼容 multipart 上传,并会转换为 JSON 转发:
bash
curl --fail-with-body https://freedomz.cn/v1/images/edits \
-H "Authorization: Bearer $FREEDOMZ_API_KEY" \
-F "model=grok-imagine-image" \
-F "prompt=把背景替换成海边日落" \
-F "image=@./input.png"为了兼容本站与 xAI 官方接口,新项目优先使用 JSON 加 URL 或 Data URI。不要假设 OpenAI 图片遮罩的语义在 Grok 中完全一致。
正常尺寸图片的 multipart 上传已实测成功。测试使用的 1x1 像素占位图被上游返回 400,说明接口可用,但输入仍必须是上游可处理的真实图片。
四、视频生成
视频生成是异步任务:先提交,再用 request_id 轮询。
text
POST https://freedomz.cn/v1/videos/generations参数范围
| 参数 | 官方范围与注意事项 |
|---|---|
duration | 生成视频为 1 至 15 秒 |
aspect_ratio | 1:1、16:9、9:16、4:3、3:4、3:2、2:3 |
resolution | 480p、720p、1080p;默认通常为 480p |
image | 图生视频起始帧,使用 URL 或 Data URI |
reference_images | 参考图视频,最多 7 张 |
当前新名称 grok-video-1.5 已完成文生视频、状态轮询和 MP4 下载实测;兼容名称 grok-imagine-video-1.5 已完成图生视频、参考图、语音参考和 1080p 实测。服务日志 确认它们最终路由到 grok-video-1.5。参考图视频按官方限制最高使用 720p。
本站 1:1 + 1080p 实测产物为 1440x1440,而不是按名称推断的 1080x1080。 客户端应读取实际媒体尺寸,不要把分辨率标签直接当成固定像素值。
文生视频
bash
curl --fail-with-body https://freedomz.cn/v1/videos/generations \
-H "Authorization: Bearer $FREEDOMZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-video-1.5",
"prompt": "一列电车在雨夜的城市街道缓慢驶过,电影感运镜",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9"
}'图生视频
bash
curl --fail-with-body https://freedomz.cn/v1/videos/generations \
-H "Authorization: Bearer $FREEDOMZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine-video-1.5",
"prompt": "让树叶轻微摆动,镜头缓慢向前推进",
"image": {"url": "https://example.com/source.png"},
"duration": 8,
"resolution": "720p"
}'image.image_url 是本站兼容字段,新代码统一使用官方的 image.url。
参考图视频
参考图用于保持人物、物体、服装或产品特征,不会像 image 一样锁定视频第一帧:
bash
curl --fail-with-body https://freedomz.cn/v1/videos/generations \
-H "Authorization: Bearer $FREEDOMZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine-video-1.5",
"prompt": "让第一张图的人物穿着第二张图的服装走上发布会舞台",
"reference_images": [
{"url": "https://example.com/person.jpg"},
{"url": "https://example.com/outfit.jpg"}
],
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9"
}'同一个请求不能同时发送 image 和 reference_images,否则上游会返回 400。 本站已实测 1、2、3 张 reference_images,均完成并可下载;官方允许的 4 至 7 张边界 本轮未重复消耗媒体额度验证。
语音参考
本站已实测预设声音 eve:任务完成后下载的 MP4 同时包含视频轨和音频轨。
json
{
"model": "grok-imagine-video-1.5",
"prompt": "画面中的演示者清晰说出产品介绍。",
"reference_images": [{"url": "https://example.com/presenter.jpg"}],
"reference_audios": [{"voice_id": "eve"}],
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9"
}当前 Files API 路由未开放,所以不要使用本站 /v1/files 文件 ID 构造语音参考;使用 当前已验证的预设 voice_id 流程。
五、轮询和下载视频
提取任务 ID
标准响应为:
json
{"request_id": "video-task-id"}为了兼容不同上游,应用也可以依次读取 request_id、id、data.request_id 和 data.id。
官方状态值
| 状态 | 含义 |
|---|---|
pending | 仍在生成 |
done | 已完成,可以读取视频 |
failed | 生成失败 |
expired | 任务或结果已过期 |
旧客户端可以兼容识别 processing 和 completed,但新代码应以 xAI 官方状态 pending、done、failed、expired 为主。
Python 轮询示例
python
import os
import time
import requests
base_url = "https://freedomz.cn/v1"
headers = {"Authorization": f"Bearer {os.environ['FREEDOMZ_API_KEY']}"}
request_id = "video-task-id"
for _ in range(120):
response = requests.get(
f"{base_url}/videos/{request_id}",
headers=headers,
timeout=30,
)
response.raise_for_status()
payload = response.json()
status = payload.get("status")
if status in {"done", "completed"}:
print(payload)
break
if status in {"failed", "expired"}:
raise RuntimeError(payload)
time.sleep(5)
else:
raise TimeoutError("video generation timed out")每 5 秒查询一次即可,不要高频轮询。视频生成通常需要数分钟,客户端应设置总超时。
下载视频
完成后使用本站受保护的内容入口下载:
bash
curl --fail --location \
https://freedomz.cn/v1/videos/video-task-id/content \
-H "Authorization: Bearer $FREEDOMZ_API_KEY" \
-o output.mp4下载时必须继续携带同一把 API Key,任务必须属于当前用户和 Key。状态响应中的上游 临时 URL 可能很快过期,不要长期保存并反复访问。
六、视频编辑与延长
视频编辑
bash
curl --fail-with-body https://freedomz.cn/v1/videos/edits \
-H "Authorization: Bearer $FREEDOMZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine-video",
"prompt": "给画面中的人物增加一顶黑色礼帽,其他内容保持不变",
"video": {"url": "https://example.com/input.mp4"}
}'官方限制:输入必须是兼容编码的 .mp4,最长 8.7 秒;编辑请求不支持自定义 duration、aspect_ratio 或 resolution。输出继承输入视频的时长和比例,分辨率 最高为 720p。
视频延长
bash
curl --fail-with-body https://freedomz.cn/v1/videos/extensions \
-H "Authorization: Bearer $FREEDOMZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine-video",
"prompt": "镜头继续向右平移,城市灯光逐渐亮起",
"duration": 6,
"video": {"url": "https://example.com/input.mp4"}
}'官方限制:输入视频为 2 至 15 秒,延长部分为 2 至 10 秒,默认 6 秒;duration 只表示新增片段时长。延长请求不支持 aspect_ratio 或 resolution,输出跟随原视频, 分辨率最高为 720p。
编辑和延长也会返回 request_id,继续使用相同的状态查询与内容下载流程。
七、Node.js 基础配置
js
import OpenAI from 'openai'
const client = new OpenAI({
apiKey: process.env.FREEDOMZ_API_KEY,
baseURL: 'https://freedomz.cn/v1',
timeout: 3600_000
})
const response = await client.responses.create({
model: 'grok-4.6',
reasoning: { effort: 'medium' },
input: '给出一个可靠的任务重试状态机。'
})
console.log(response.output_text)图片和视频扩展参数在部分 OpenAI SDK 版本中没有类型定义,可以使用 extra_body、 直接 HTTP 请求或 SDK 提供的扩展参数入口。不要因为类型报错就把参数拼进 URL。
八、错误处理与重试
| 状态 | 常见含义 | 是否自动重试 |
|---|---|---|
400 | 字段、模型、比例或媒体格式不正确 | 修改请求后再试 |
401 | Key 无效、过期或认证失败 | 不重试,不轮换 Key |
403 | 分组未授权、内容策略拒绝或能力未开启 | 不重试相同请求 |
404 | 模型、任务或内容不存在 | 先检查模型和任务归属 |
429 | 本站、分组、账号或 xAI 上游限流 | 指数退避后有限重试 |
5xx | 网关或上游临时异常 | 指数退避后有限重试 |
xAI 上游按模型同时实施请求速率和 Token 速率限制,本站还可能叠加分组、并发和账号 池限制。收到 429 时采用指数退避并加入随机抖动;不要瞬间并发重放。
建议记录:
- 北京时间和时区;
- HTTP 状态码和错误类型;
- 接口路径、模型和是否流式;
request_id或响应头中的请求标识;- 客户端重试次数和每次等待时间。
不要记录完整 Key、账号密码、原始媒体文件或包含敏感信息的完整提示词。
九、生产接入建议
- 文本普通请求设置合理的连接和读取超时;
high、xhigh推理可放宽到数十分钟。 - 图片和视频提交接口与任务轮询分开持久化,保存业务任务 ID 和
request_id。 - 对
429和部分5xx最多做少量指数退避;400、401、403不自动重放。 - 图片和视频 URL 均按临时资源处理,成功后及时下载到自己的受控存储。
- 同一业务任务设置幂等标识或去重记录,避免超时后重复生成和重复计费。
- 发布前用目标用户的真实 Key 执行
/v1/models、最小请求和错误分支测试。
十、调试清单
GET /v1/models能否看到目标模型。- Key 是否绑定 Grok 分组,图片和视频能力是否已开启。
- Base URL 是否为
https://freedomz.cn/v1,路径是否重复成/v1/v1/...。 - 先发送只包含必填字段的最小请求,再逐项增加扩展参数。
- 图片编辑优先使用 JSON;视频任务按
done、failed、expired判断终态。 - 记录请求标识并限制重试,尤其不要在
401、403后自动切换多个 Key。
官方参考资料
- xAI 文本生成
- xAI 推理等级
- xAI 结构化输出
- xAI 流式输出
- xAI 图片生成
- xAI 图片编辑
- xAI 多图编辑
- xAI 视频生成
- xAI 图生视频
- xAI 参考图视频
- xAI 视频编辑
- xAI 视频延长
- xAI 限流说明
- xAI 服务端工具总览
- xAI Web Search
- xAI X Search
- xAI Code Execution
- FreedomZ API 与 SDK 总览
- 模型与分组怎么选
当前验证边界
截至 2026 年 8 月 17 日,文本、结构化输出、SSE、Web/X 搜索、代码执行、图片生成与 编辑、视频生成与处理、预设语音参考均已完成真实请求验证。/v1/files 当前为 404, grok-imagine-image-2.0 当前为 503;模型列表中的 grok-imagine-edit、命名空间别名 和未在“本站实测状态”中列出的其他新名称只代表可见,本轮没有逐一产生付费请求。 遇到差异时,请保留最小请求、错误响应和请求 ID 后联系支持。