codecamp

Grok Imagine 图像与视频计价

用文本那套「每百万 token 多少钱」去估图像和视频,算出来的数字会低得离谱。因为它们根本不在 token 体系里:图像按张,视频按秒。一张图 0.04 美元听起来不多,但一次生成 10 张、一天跑几百次,量级和聊天完全不是一回事。

这一节把媒体计价单独拆出来,接到第 5 章的成本体系上。

一、问题不是「贵不贵」,而是「按什么单位算」

官方模型页把媒体价目按单位列得很清楚:

  • 图像生成按张:grok-imagine-image-2.0 与 grok-imagine-image 单价不同。
  • 视频生成按秒:不同型号、不同分辨率单价不同。
  • 语音按分钟、转写按小时、TTS 按百万字符。

这意味着成本模型必须按能力域分开累加,不能用「请求数 × 文本单价」一把算完。第 5 章的 Workload 只覆盖文本;媒体要另开一栏。

二、最小可运行示例:媒体成本估算器

下面的脚本不联网、不需要真实密钥。它把「张」和「秒」两类单位分开,按型号取价,算一次生成任务的成本。

"""媒体成本估算:图像按张、视频按秒。"""

## 2026-11-04 官方 models 页示例价(USD);实际以官方页与控制台为准
PRICES = {
    "image-2.0": ("张", 0.04),
    "image-base": ("张", 0.02),
    "video-1.5": ("秒", 0.080),
    "video-1.5-lite": ("秒", 0.020),
    "video-base": ("秒", 0.050),
}

def media_cost(model: str, units: int) -> float:
    if model not in PRICES:
        raise ValueError(f"未知媒体型号:{model}")
    _, unit_price = PRICES[model]
    return round(units * unit_price, 4)

def offline_check() -> None:
    cases = [
        ("10 张 image-2.0", "image-2.0", 10),
        ("15 秒 video-1.5", "video-1.5", 15),
        ("15 秒 video-1.5-lite", "video-1.5-lite", 15),
    ]
    for label, model, units in cases:
        print(f"{label}:${media_cost(model, units):.4f}")

if __name__ == "__main__":
    offline_check()

真正估算时,把 PRICES 换成你抓取当日的官方价;units 对图像是张数、对视频是秒数。不要把这两类相加成「一次请求的成本」——它们的量级差太多,混在一起会掩盖真正的开销来源。

三、图像与视频的计费差异

能力 计价单位 代表型号 注意事项
图像生成 每张 grok-imagine-image-2.0 n 可选 1–10,张数直接乘
视频生成 每秒 grok-imagine-video-1.5 / -lite 时长 1–15 秒,分辨率影响单价
图像理解 随文本 token 支持视觉输入的语言模型 不是按张计费
语音 / 转写 / TTS 分钟 / 小时 / 字符 Voice 系列 见 9.3

三件要强调的事:

  • 图像「生成」与「理解」计费方式完全不同。理解是输入图片随文本 token 一起算;生成是按张。把两者混为一谈,估算会差一个数量级。
  • 视频是异步的。官方说明:提交后用返回的 request_id 轮询,再下载;SDK 会代你轮询。所以「请求成功」不等于「视频已生成」,成本要等任务完成才确定。
  • 型号不同,每秒单价不同。官方 Video 页称每秒价按分辨率列出,而 models 页当前按型号给出单值(1.5 / 1.5-lite / 基础型号各不同价);具体分档以官方页当前显示为准。选型时先问「要不要原生 1080p」,再谈价格。

四、预期输出与异常分支

运行估算器,预期输出:

10 张 image-2.0:$0.4000
15 秒 video-1.5:$1.2000
15 秒 video-1.5-lite:$0.3000

换成真实账单时,若出现异常,按下面顺序定位:

现象 优先怀疑 第一步动作
图像成本远超估算 忘了乘张数 核对 n 与实际生成张数
视频成本对不上 按「次」而非「秒」算 用时长 × 每秒价重算
同一任务两次差异大 分辨率或型号不同 记录型号与分辨率
请求成功但没出片 异步任务未完成 用 request_id 查状态

最后一行尤其重要:视频是异步的,提交成功只代表任务入队。把「已提交」当「已完成」,会同时错估成本与交付时间。

五、判据卡

判断项 该这么做 不该这么做
图像成本 张数 × 每张价 按 token 估
视频成本 秒数 × 每秒价 按请求次数估
图像理解 算进文本 token 当成按张计费
视频任务 轮询到完成再结算 提交即认为完成
型号选择 先定分辨率与能力 只看单价

这张卡的重点是单位先对齐。五条里有三条在说:先确定按什么计量,再谈价格高低。

六、来源与核验

  • 官方模型页:https://docs.x.ai/developers/models(核验日期 2026-11-04)。图像与视频的按张 / 按秒价目、各型号差异以该页为准;本节单价为示例值,实际以官方页与控制台当前显示为准。
  • 官方 Image Generation:https://docs.x.ai/developers/model-capabilities/images/generation(核验日期 2026-11-04)。POST /v1/images/generations、model、n(1–10)、aspect_ratio 与返回 url 的写法来自该页。
  • 官方 Video Overview:https://docs.x.ai/developers/model-capabilities/video/overview(核验日期 2026-11-04)。异步提交与 request_id 轮询、1.5 与 1.5-lite 的能力差异、时长 1–15 秒与分辨率范围来自该页。

七、动手试

  1. 给你的成本模型加一栏媒体:文本、图像、视频、语音各一行,算出你项目一个月的合计。
  2. 比较「10 张 2.0 图」与「15 秒 1.5 视频」的成本,说明为什么不能用「一次生成」作为统一口径。
  3. 设计一个视频任务的记账流程:提交时记什么、轮询时记什么、失败时怎么冲销。写出三个时间点各写哪条日志。
Grok 图像理解接入
Grok Voice 3.0 与转写模型
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }