Grok Imagine API 不是单一模型,而是覆盖图片生成、图片编辑和视频生成的一组媒体接口。选错模型或把视频任务当成同步请求,是接入时最常见的两个问题。

快速结论

文生图使用 grok-imagine-image,带参考图编辑使用 grok-imagine-edit,视频使用 grok-imagine-video。视频通常采用“提交任务 → 轮询状态 → 下载结果”的异步流程。

三个模型分别做什么

模型 ID用途典型输入计费单位
grok-imagine-image文生图提示词、尺寸、数量按张
grok-imagine-edit图片编辑提示词、参考图按张
grok-imagine-video视频生成提示词、时长、画幅按秒

模型是否可用以及实际价格可能随渠道变化。调用前可以先查看 Sublyx 模型广场,生产环境则以控制台展示为准。

图片生成请求

图片生成适合海报草图、商品概念图、社交媒体配图和视觉探索。Sublyx 使用异步提交接口,先返回任务 ID,再查询任务状态。下面是 OpenAI 兼容风格的请求:

curl https://api.sublyx.org/v1/images/generations/async \
  -H "Authorization: Bearer $SUBLYX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-imagine-image",
    "prompt": "Editorial product photo of a cobalt blue desk lamp",
    "n": 1,
    "response_format": "b64_json"
  }'

提交成功后保存响应里的 task_id,不要把它当成最终图片响应。任务完成后再从结果中的 URL 或 Base64 数据读取图片。不要直接把完整 Base64 字符串写入日志,它会快速放大日志体积,还可能暴露用户生成内容。

图片编辑请求

编辑模型需要参考图。提示词应明确区分“要改变什么”和“必须保持什么”。例如:“将台灯颜色改成哑光红色,保持构图、阴影和背景不变”比“改成红色”稳定。

curl https://api.sublyx.org/v1/images/edits/async \
  -H "Authorization: Bearer $SUBLYX_API_KEY" \
  -F "model=grok-imagine-edit" \
  -F "prompt=Change the lamp to matte red; keep composition and shadows" \
  -F "image=@lamp.png"
编辑任务的质量上限不仅取决于提示词。参考图分辨率、主体遮挡、压缩噪声和希望修改的区域大小都会影响结果。当前接口限制参考图为 PNG、JPG 或 WEBP,建议控制在 5MB 以内。

提交任务后如何轮询

图片生成和编辑共用任务查询端点:GET /v1/images/tasks/:task_id。建议首次等待约 10 秒,之后每 4 秒查询一次,并设置总超时;状态为 completed 时读取结果,failedcancelled 时停止重试。

const taskId = submit.task_id;
const deadline = Date.now() + 6 * 60 * 1000;

while (Date.now() < deadline) {
  const response = await fetch(
    `https://api.sublyx.org/v1/images/tasks/${encodeURIComponent(taskId)}`,
    { headers: { Authorization: `Bearer ${process.env.SUBLYX_API_KEY}` } }
  );
  const task = await response.json();

  if (task.status === "completed") {
    console.log(task.result || task.image_url);
    break;
  }
  if (["failed", "cancelled"].includes(task.status)) {
    throw new Error(task.error?.message || task.message || task.status);
  }
  await new Promise((resolve) => setTimeout(resolve, 4000));
}

视频生成与轮询

视频生成通常耗时更长,不适合让一次 HTTP 请求一直等待。当前站内已验证的是图片异步接口;视频端点、返回字段和轮询方式应以控制台显示的最新文档为准,发布前不要把未经验证的 URL 当作稳定公共 API。

const submit = await fetch("https://api.sublyx.org/v1/videos/generations", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.SUBLYX_API_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    model: "grok-imagine-video",
    prompt: "A slow dolly shot through a rainy neon alley",
    duration: 6,
    aspect_ratio: "16:9",
    resolution: "720p"
  })
});

const { request_id } = await submit.json();

如果你的账户已启用视频接口,轮询间隔建议从 2 至 5 秒起步,并设置总超时时间。遇到临时错误时使用指数退避,不要每 100 毫秒查询一次。任务完成后,应把结果下载到自己的对象存储,避免长期依赖临时 URL。图片任务遇到 429 时,可参考AI API 429 错误排查指南;生产环境的路由、限流和成本治理可参考AI API 聚合网关指南

成本怎么估算

图片成本等于生成张数乘以每张单价。视频成本通常等于生成秒数乘以每秒单价。还要考虑重试、失败任务是否计费、为了挑选结果一次生成多个候选等业务因素。

月成本 ≈ 日请求量 × 平均媒体单位 × 单价 × 30 × 重试系数

例如每天生成 100 段 6 秒视频,单价为每秒 0.05 美元,忽略重试时月度参考成本为 900 美元。上线前应设置用户配额、每日预算和异常增长告警。

常见问题

返回 401 或 403

检查 API Key、请求域名、模型权限和账户余额。不要在浏览器公开代码里硬编码 Key。

任务长时间 processing

确认轮询端点和任务 ID 正确,同时为单个任务设置最大等待时间。超过阈值后保留任务 ID,避免盲目重复提交并产生双倍费用。

图片编辑没有遵循参考图

降低一次修改的目标数量,明确列出需要保持的元素,并尝试更清晰、压缩更少的输入图。

开始测试 Grok Imagine

先在模型广场确认模型和价格,再阅读接入文档,最后使用 Sublyx 统一接口创建 API Key。

查看模型和价格复制接入配置创建 API Key