Skip to main content
POST
本页适用于官方模型 grok-imagine-videogrok-imagine-video-1.5。它们与 Grok Imagine 1.5 视频生成 页面中的 grok-imagine-1.5-video-ext 不是同一组模型,请勿混用模型名和参数。
不要把 API Key 写入浏览器包、公开环境变量、LocalStorage、URL 或前端日志。浏览器应调用业务 BFF,由服务端持有 Key 并请求 APIMart。

接入概览

所有模式都通过同一个异步入口提交:
请求模式由素材字段决定: 创建成功后保存 data[0].task_id,再轮询:
不要发送 X-APIMart-Response-Version。该请求头会切换到另一套 HTTP 202 响应结构;本页使用的是 HTTP 200 旧版异步任务格式。

模型能力

生成模式默认值:
参考图数量目前没有写入公开接口契约的固定上限。不要套用 Grok 图片模型的参考图上限;前端应保证数组非空、每项 URL 合法,并保留原始顺序。

请求头

string
必填
Bearer Token:Bearer <APIMART_API_KEY>
string
必填
固定为 application/json
string
推荐使用 application/json
string
可选,付费的视频生成和编辑请求强烈建议使用。支持 1–191 个可见 ASCII 字符,推荐 UUID。每次新的逻辑操作使用一个新 Key。网络失败重试同一次请求时,必须复用原 Key 和完全相同的请求体。结果不确定时,不要换新 Key 自动重提,否则可能重复生成并重复计费。

请求参数

公共字段

string
必填
官方视频模型名称:
  • grok-imagine-video
  • grok-imagine-video-1.5
视频编辑只支持 grok-imagine-video
string
必填
视频内容或编辑指令。去除首尾空格后不能为空,最多 8000 个 Unicode 字符。前端可使用 Array.from(prompt).length 统计字符数;超限时应禁用提交按钮。
boolean
默认值:false
是否在提交视频任务前执行内容审核。
  • true:使用 omni-moderation-latest 审核提示词和输入图片
  • false 或不传:不发起审核请求,不增加审核成本与延迟(默认)

生成字段

integer
默认值:8
输出时长,范围 1–15 秒。仅用于文生视频和参考图生成视频。
string
默认值:"480p"
输出分辨率:
  • grok-imagine-video480p720p
  • grok-imagine-video-1.5480p720p1080p
从 1.5 的 1080p 切换到 Base 模型时,前端应自动回退到 480p
string
默认值:"auto"
输出宽高比。支持:
  • auto
  • 1:1
  • 16:9
  • 9:16
  • 4:3
  • 3:4
  • 3:2
  • 2:3
前端应使用固定枚举选择器,不要提供任意文本输入。
string[]
参考图片 URL 数组;省略时为文生视频。
  • 每项必须是公网可访问的 HTTPS URL;不支持相对 URL、Data URL 或裸 Base64。
  • 没有参考图时省略整个字段,不要发送空数组。
  • 数组顺序会保留;重复 URL 仍会占用多个输入槽位,并可能重复计费。
  • 不要同时发送 imageimagesinput_reference 等同义字段。

视频编辑字段

object
源视频对象,仅 grok-imagine-video 支持。
视频编辑请求必填 modelpromptvideo,可选发送 nsfw_check。不要同时发送 durationresolutionaspect_ratioimage_urls;平台会自行识别源视频时长。

TypeScript 请求类型

建议使用判别联合类型,避免把生成字段误传到视频编辑:

请求示例

异步任务

创建成功

创建任务成功返回 HTTP 200。读取 data[0].task_id;拿到任务 ID 只表示已经提交,不表示视频已经生成完成。

查询任务

建议每 3–5 秒轮询一次,不要进行无间隔循环。页面刷新后可使用已保存的 task_id 恢复轮询。

完成响应

result.videos[0].url 是字符串数组,不是单个字符串。建议进行运行时校验:
结果地址可能过期。前端应以 expires_at 为准展示到期时间,并提醒用户及时下载或转存,不要硬编码固定有效期。

失败响应

任务失败时,查询接口仍可能返回 HTTP 200
必须根据 data.status 判断任务成败,不能仅根据查询请求的 HTTP 状态。失败任务费用为 0

价格目录

前端展示价格时,请动态读取:
data.models.video 中按 id 查找当前模型。价格展示仅用于预估,任务查询响应中的 data.cost 才是最终金额。

输出视频价格

fixed_prices.items 按分辨率读取折后每秒价格:
  • 价格键使用大写 480P/720P/1080P,请求参数使用小写 480p/720p/1080p;查价时统一大小写。
  • default 只是兼容项,不应作为用户可选分辨率。
  • 展示折后价时直接使用 after_discount,不要再次应用折扣。

输入素材价格

参考图片按张计费,读取 input_material_prices.image
Base 模型的视频编辑按源视频秒数计费,读取 input_material_prices.video
视频输入价是标量结构。不要强制要求其他模型可能使用的 itemsbilling_modemax_billable_seconds 字段。grok-imagine-video-1.5 不支持视频编辑,因此没有视频输入价格。

预估公式

生成模式:
视频编辑模式:
用户专属价格和服务端整单取整可能使预估与结算不同,最终金额始终以任务查询的 data.cost 为准。

前端表单联动

模型切换

  • 切换到 grok-imagine-video:只显示 480p720p
  • 切换到 grok-imagine-video-1.5:允许选择 1080p,但隐藏视频编辑模式。
  • 从 1.5 的 1080p 切换到 Base:自动回退到 480p
  • 正在视频编辑时:模型固定为 grok-imagine-video

模式切换

以下任一条件成立时,应禁用运行按钮:
  • 提示词为空或超过 8000 字符;
  • duration 不是 1–15 的整数;
  • Base 模型选择了 1080p
  • 参考图模式没有有效的 HTTPS 图片 URL;
  • 视频编辑没有有效的 HTTPS 视频 URL;
  • 1.5 模型处于视频编辑模式;
  • 素材正在上传;
  • 相同逻辑请求正在提交。

常见错误

前端接入检查

  • API Key 仅保存在后端或 BFF。
  • 使用官方模型名,不与 grok-imagine-1.5-video-ext 混用。
  • 提示词长度不超过 8000 个 Unicode 字符。
  • duration1–15 的整数,默认 8
  • Base 只允许 480p/720p,1.5 额外允许 1080p
  • 没有参考图时省略 image_urls,不发送空数组或同义图片字段。
  • 视频编辑只发送 modelpromptvideo 和可选的 nsfw_check,且只使用 Base 模型。
  • 创建成功读取 data[0].task_id,根据 data.status 判断终态。
  • 完成后从 result.videos[].url[] 读取视频,并按 expires_at 提示下载。
  • 价格来自价格目录,最终金额以任务查询的 data.cost 为准。