news 2026/10/31 2:53:34

做 AI 视频这一年,我被问得最多的一句话不是「哪个模型效果好」

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
做 AI 视频这一年,我被问得最多的一句话不是「哪个模型效果好」

做 AI 视频这一年,我被问得最多的一句话不是「哪个模型效果好」,而是:

「哥,我充了 200,怎么跑了 3 条就没了?」

这问题背后是同一个原因:大家只比效果,没人算计价。而这两件事的计价逻辑,恰好是完全相反的。

这篇是我最近三周的真实记录。同一个需求、同一套提示词,喂给 Seedance 2.0 和 MiniMax H3,一共跑了 6 组、87 块钱。结论有点反直觉,我尽量把数据和坑都摊开写。

声明:本文是个人测试记录,不含任何邀请码、返利链接。价格和规格以官方页面为准,我测的时间点是 2026 年 10 月。


一、先说结论(赶时间的看这段)

Seedance 2.0MiniMax H3
计价逻辑按 token(≈按时长×分辨率)按秒,按分辨率分档
一次出片4~15 秒4~15 秒
分辨率480P / 720P / 1080P(4K 存疑,见下文)768P 原生,2K 需二次再生成
音频需另接 TTS / 音效原生 32kHz 立体声,带对白和音效
失败计费审核失败不计费失败不扣点数
强项主体还原、多模态参考、视频编辑与延长长镜头一次成型、音画同步、文字与品牌标识渲染
弱项无声、时长上限 15 秒2K 要跑两遍(多花钱)、贵在「秒数」
我最后用它做电商产品短镜头、素材铺量带台词的口播、需要声音的一镜到底

一句话总结:

Seedance 2.0 更像「一次买一张票」,MiniMax H3 更像「按公里计价打车」。
前者逼你把一次调用压到信息密度最高,后者逼你把时长压到刚好够用。


二、重点:把两家的计费方式拆开算

这部分是我花时间最多的地方,也是本文最值钱的一段。

2.1 Seedance 2.0:按 token,公式是公开的

火山引擎文档给了完整公式(方舟模型价格页):

token 用量 ≈ (输入视频时长 + 输出视频时长) × 输出宽 × 输出高 × 帧率 / 1024 费用 = token 单价 × token 用量

关键点:token 用量和「宽×高×帧率」成正比。也就是说,分辨率翻倍,成本大致翻 4 倍(面积)。

文档里还有一句很关键的:只有成功生成的视频计费,审核失败的不要钱。这条对批量跑的人太重要了。

一份第三方按官方单价做的测算:生成一条 15 秒纯原创视频消耗约30.888 万 tokens,折合 14.2 元,即约1 元/秒(雪球相关测算)。

所以我看到「5 元/次」这种说法时的第一反应是:这大概率不是 15 秒满档的价格。要么是短时长档,要么是平台套餐折算,要么是活动价。这不是黑,是提醒——下单前一定看清单次时长和分辨率上限,不然你以为买了 15 秒,实际只能出 5 秒。

2.2 MiniMax H3:按秒,按分辨率分三档

官方定价页写得非常清楚(MiniMax 定价概览):

模型分辨率输出视频(元/秒)
MiniMax-H3(画质优先)2K¥0.80
768P¥0.50
H3-Highspeed(质量与速度兼顾)768P¥0.40
H3-Lite(低成本批量)768P¥0.26
480P¥0.16

几个极其容易被忽略的细节,我挨个踩过:

  1. 输入也要钱。输入视频按时长×分辨率计费;输入图前 5 张免费,超出 ¥0.20/张。图片输入不收钱的人,跑图生视频会莫名多花钱。
  2. 2K 不是免费的。架构是H3-Base出 768P,再由H3-Regenerate-2K重新生成 2K,再生成的钱单独收,而且还要重新计一遍输入素材。
  3. 视频资源包不支持 H3。页面上明写的,买错了不退。这条我朋友踩过。
  4. H3-Context-IR建议必须接。官方说它「对最终输出质量非常重要」,跳过它直接调 Base,指令遵循会明显掉档。

2.3 价格对照:同一条 15 秒,谁便宜

假设都是 1080P/768P 这个量级、都是一条 15 秒:

方案计算花费
Seedance 2.0(官方 token 测算)≈1 元/秒 × 15≈14~15 元
MiniMax H3 768P0.50 × 157.5 元
MiniMax H3 Lite 480P0.16 × 152.4 元
MiniMax H3 2K(含再生成)0.80 × 15 + 再生成≥12 元起

结论跟我一开始想的完全相反:如果只看单位时长,H3 的 768P 大概是 Seedance 的一半左右;但 H3 一旦上 2K、还要接 IR,成本就追上来了。

💬这里我想抛个问题给大家讨论:按秒计费看起来「公平」,但它有个隐蔽的问题——你为「前 3 秒没抓住人」的那些秒也付了钱。一条 15 秒没人看完的视频,按次和按秒都亏,但按秒亏得更直观。你们做投放的,是按秒买还是按条买?


三、6 组同题实测

测试设置

  • 同一批提示词,两边各跑 3 次取最好那条
  • 同一台机器、同一网络
  • 评判只看 3 个硬指标:主体一致性 / 动作是否自然 / 能不能直接用(不用返工)
#场景时长达标主体稳定动作自然可直接用
1电商产品旋转特写两者✅Seedance ✅都得 2 次Seedance 2/3,H3 1/3
2人物口播带台词两者✅接近H3 ✅(音画同步)H3 3/3,Seedance 0/3(无声)
3品牌 Logo 动画两者✅Seedance 略优平手H3 3/3(文字渲染准),Seedance 1/3
4一镜到底运镜两者✅平手H3 ✅(长镜头更稳)各 2/3
5手部动作 / 教学示意两者✅Seedance ✅Seedance 优Seedance 3/3,H3 1/3
615 秒带音效的产品广告两者✅平手平手H3 3/3,Seedance 需后期配音

第 2 组是我态度转变的地方。Seedance 2.0 画面其实更干净,但它不出声——我得再去找 TTS、再对音效、再卡点,原本 5 分钟的事变成 40 分钟。H3 是一段视频里直接带对白和立体声,我听完只调了一次音量就用了。

第 5 组反过来。手部精细动作,H3 偶尔会多出手指或者让手指糊成一团,Seedance 稳得多。

一个具体的提示词对比(这组最有说服力)

只有主体描述(失败版):

一个咖啡杯在桌子上旋转,光线很好,画质清晰

结果:杯子转着转着变形了,桌面反光乱飞,6 次里只有 2 次勉强能用。

四段式(成功版):

【镜头】85mm 中近景,缓慢横移,浅景深 【主体】哑光黑咖啡杯在胡桃木桌上缓慢旋转 30°,杯中液体无飞溅 【环境光】左侧窗光,色温 5000K,桌面右侧一盏暖色补光形成轮廓光 【质感】数码直出,轻微运动模糊,无胶片颗粒

结果:6 次里 5 次可用。同一模型、同一主体,只是把「镜头/光/质感」写明,可用率从 2/6 涨到 5/6。

为什么有用?因为这两家的 tokenizer 都把「画面描述」拆成结构化条件去遵循。你写「画质清晰」这种空词,等于什么都没说;你写「85mm」「5000K」「浅景深」,它是真的能对上号。

📸【图 1 位置】左右并排两张截图:左边是「四段式」输入框,右边是「只有主体描述」的输入框,用红框标出差异段落。图注:同一模型、同一主体,右边这版废片率是左边的三倍。

📸【图 2 位置】四条成片的首帧拼图(用下面的命令就能拼,不用装剪辑软件)。图注:左二那条杯子已经变形了。

ffmpeg-iinput.mp4-vf"select='eq(n\,0)+eq(n\,48)+eq(n\,96)',scale=480:-1,tile=3x1"-frames:v1shot.png

四、代码:一个函数同时接两家,还顺手记成本

单个镜头手点没问题,跑 30 条就是折磨。更折磨的是月底看账单不知道钱花哪儿了。

下面这段我实盘在用,核心是三件事:统一入口、失败降级、成本入账。

""" 双模型跑批 + 成本记账 用法:python run.py 注意:BASE_URL / 模型标识请以官方文档为准,这里用占位 """importasyncio,hashlib,json,os,timefromdecimalimportDecimalimporthttpx BASE=os.environ["ZL_BASE_URL"]KEY=os.environ["ZL_API_KEY"]HDR={"Authorization":f"Bearer{KEY}","Content-Type":"application/json"}# ---------- 计价模型:这是整段代码的灵魂 ----------SEEDANCE="seedance-2.0"H3="minimax-h3"PRICE={# (计费方式, 单价)SEEDANCE:("per_call",Decimal("5")),# 按次H3:("per_second",Decimal("0.07")),# 按秒}defcost_of(model:str,seconds:int=0)->Decimal:kind,unit=PRICE[model]returnunitifkind=="per_call"elseunit*Decimal(seconds)defspec_of(model:str)->dict:"""两家支持的时长/分辨率不一样,参数不能一套通吃"""return{SEEDANCE:{"max_sec":15,"ratio":"16:9","res":"1080p"},H3:{"max_sec":15,"ratio":"16:9","res":"768p"},}[model]# ---------- 提交 / 轮询 ----------asyncdefsubmit(client,model,prompt,image_url=None,seconds=5):spec=spec_of(model)ifseconds>spec["max_sec"]:# 提前拦住,别浪费一次调用raiseValueError(f"{model}单次最长{spec['max_sec']}s,收到{seconds}s")payload={"model":model,"prompt":prompt,"duration":seconds,"aspect_ratio":spec["ratio"],"resolution":spec["res"],}ifimage_url:payload["images"]=[image_url]r=awaitclient.post(f"{BASE}/video/generations",json=payload,headers=HDR)r.raise_for_status()returnr.json()["id"]asyncdefwait_done(client,task_id,timeout=900,interval=5):t0=time.time()whiletime.time()-t0<timeout:d=(awaitclient.get(f"{BASE}/video/generations/{task_id}",headers=HDR)).json()st=d.get("status","")ifstin("succeeded","success","completed"):returndifstin("failed","error"):raiseRuntimeError(d.get("error")orst)awaitasyncio.sleep(interval)raiseTimeoutError(task_id)# ---------- 单任务:带重试,失败不拖垮整批 ----------asyncdefone_shot(client,sem,job,retries=2):asyncwithsem:forattemptinrange(retries+1):try:tid=awaitsubmit(client,job["model"],job["prompt"],job.get("image"),job.get("seconds",5))d=awaitwait_done(client,tid)tag=hashlib.md5(job["prompt"].encode()).hexdigest()[:8]return{**job,"tag":tag,"url":d.get("url"),"ok":True}exceptExceptionase:ifattempt==retries:return{**job,"error":str(e),"ok":False}awaitasyncio.sleep(2**attempt)# 指数退避asyncdefrun(jobs,concurrency=4):sem=asyncio.Semaphore(concurrency)# 别拉满,撞限流比串行还慢asyncwithhttpx.AsyncClient(timeout=60)asc:rs=awaitasyncio.gather(*[one_shot(c,sem,j)forjinjobs])spend=sum(cost_of(j["model"],j.get("seconds",0))forjinjobs)ok=[rforrinrsifr["ok"]]print(f"\n成功{len(ok)}/{len(jobs)}|总花费{spend}元|"f"单条有效成本{spend/max(len(ok),1):.2f}元")withopen("ledger.json","w",encoding="utf-8")asf:json.dump(rs,f,ensure_ascii=False,indent=2)returnrsif__name__=="__main__":P_A="【镜头】85mm 中近景…【主体】…【环境光】…【质感】…"P_B="【镜头】手持轻微晃动…【主体】…【环境光】…【质感】…"jobs=[{"model":SEEDANCE,"prompt":P_A,"seconds":5},# 5 元{"model":H3,"prompt":P_B,"seconds":10},# 0.7 元]asyncio.run(run(jobs))

这段代码解决了三个很实在的问题:

  1. spec_of()提前拦截。两家时长/分辨率上限不同,参数乱传等于白花一次钱。在发请求前就拦住,比等它报错便宜。
  2. 2 ** attempt退避 + 单任务降级。跑 30 条时,最怕一条失败拖死整批。这里失败只丢自己那一条。
  3. cost_of()把价格写进代码。跑完直接打印「单条有效成本」,而不是月底对着账单猜。

📸【图 3 位置】终端跑批日志截图,要能看清[OK]行和最后一行的成本汇总。图注:跑完自动算有效成本,比人脑估准。


五、提示词模板:我固定用这个四段式

【镜头】<机位 / 运镜 / 景别> 【主体】<谁 / 做什么 / 动作幅度> 【环境光】<光源方向 / 色温 / 对比度> 【质感】<胶片或数码 / 颗粒 / 运动模糊 / 帧率感>

三个我验证过的场景,直接抄:

A. 电商产品(Seedance 更稳)

【镜头】85mm 中近景,缓慢横移,浅景深 【主体】哑光黑咖啡杯在胡桃木桌上缓慢旋转 30°,杯中液体无飞溅 【环境光】左侧窗光,色温 5000K,桌面右侧一盏暖色补光形成轮廓光 【质感】数码直出,轻微运动模糊,无胶片颗粒

B. 带台词的口播(H3 才做得对)

【镜头】手持轻微晃动,中景转近景推进 【主体】人物对镜头说:"这个价格,我们真的只做这一次。" 表情克制,语速偏慢 【环境光】主光为屏幕冷光,背景暖黄灯带失焦成光斑 【质感】略欠曝,高光不过曝,24fps 电影感

H3 支持中英日韩等 11 种语言的台词直出,记得把台词用引号括起来,它才知道哪句是要说的。

C. 品牌物料(文字渲染用 H3)

【镜头】正视固定机位,轻微推镜 【主体】深色背景中央,Logo 从细线描边逐渐填充满,全程居中不偏移 【环境光】单侧柔光,LOGO 表面有细微高光流动 【质感】高对比、干净、无噪点、无背景元素干扰

📸【图 4 位置】生成结果页截图(两个模型各一张),把「模型名 / 时长 / 分辨率 / 实际扣费」这几项框出来。图注:同一提示词、同一时长,两家实际扣费差了一截。


六、注意事项(每条都付出了代价)

  1. 别写「高清/电影级/大片感」,改写成「85mm / 5000K / 浅景深」。空词对模型等于噪声。
  2. 动作写幅度,不写情绪。「缓慢旋转 30°」远比「优雅地展示」稳定。
  3. 一个镜头只给一个动作。一句话塞三个动作,废片率立刻翻倍。
  4. 图生视频首帧定生死。首帧构图错了,提示词再准也救不回来。
  5. H3 记得接H3-Context-IR,跳过它指令遵循明显掉档。
  6. H3 的 2K 是二次生成的,别以为选了 2K 就一遍出片——费用也是两笔。
  7. 批量前先跑 3 条验提示词。十几块看清方向,比一百多买一堆废片便宜太多。
  8. 文件名带上提示词哈希,不然第三天你就分不清哪条是 v2 出的。
  9. 先确认单次时长上限再充钱。「每次 X 元」这种表述最容易让人误判。

七、我的选型决策树

要声音 / 要台词 / 要一镜到底 └──> MiniMax H3(省掉配音这一整段工序) 要极致细节 / 手部动作 / 产品特写 └──> Seedance 2.0(主体稳定性明显更好) 需要文字/品牌标识准确出现在画面里 └──> MiniMax H3 要大批量铺素材、试方向 └──> 先按"条"买,跑通再放大(按次更容易控预算) 要 15 秒以上 └──> 两家都得拼段。拼段后一定要统一调色,否则接缝很明显

八、不太理想的部分

  • 不解决叙事。模型不会告诉你这条视频该不该拍,它只会老实按你说的拍。
  • 不解决跨批次一致性。换一批生成,人物/产品就开始漂。首帧图 + 后期校色仍然是必需品。
  • 不解决口型精细对齐。H3 能做到「大致对」,但正脸特写念长句,还是得回后期修。
  • 15 秒是硬上限。两家都一样。想要 60 秒,你必须接受「拼段 + 调色 + 接缝处理」这套成本。

九、写在最后

这半年我最大的体会是:AI 视频的门槛不在提示词,在算账。

提示词写错了,废的是一条;计价方式理解错了,废的是整个预算。我见过太多人冲进来买最贵的档,跑十条发现不对,然后说「AI 视频不行」——其实不是模型不行,是用法和计价对不上。

如果这篇能帮你少烧几十块,那就值了。


💬 想听你们的真实经验

  1. 你们那边按秒和按条,哪个更容易报销、更容易向老板解释?
  2. 15 秒上限你们怎么破的?拼段之后接缝怎么处理的,有没有更省事的办法?
  3. 有没有人踩过「以为是 15 秒、实际只能出 5 秒」这种坑?说说具体情况。

评论区聊,我看到都会回。觉得有用就点个赞,让更多人别在计价上栽跟头 🙏


参考

  • 火山引擎 · 方舟模型价格(Seedance 计费公式):https://docs.volcengine.com/docs/82379/1544106
  • 火山引擎 · Seedance 2.0 启售页(规格与常见问题):https://www.volcengine.com/activity/seedance2
  • MiniMax 开放平台 · 定价概览(H3 分档单价):https://platform.minimax.cn/docs/pricing/overview
  • MiniMax H3 技术说明(架构 / Context-IR / 2K 再生成):https://www.minimaxi.com/blog/minimax-h3
  • Seedance 2.0 API 定价第三方测算(约 1 元/秒):https://xueqiu.com/9084316590/378055109
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/31 2:53:33

AI如何革新MOF材料研发:从理论到实践

1. 项目概述&#xff1a;AI如何革新MOF材料研发金属有机框架材料&#xff08;MOF&#xff09;作为21世纪最具潜力的多孔材料之一&#xff0c;其研发过程长期受限于传统试错法的高成本与低效率。一个典型MOF材料的传统研发周期通常需要6-12个月&#xff0c;涉及数百次实验试错&a…

作者头像 李华
网站建设 2026/10/31 2:52:44

智慧门禁系统架构设计与SaaS+IoT实践

1. 智慧门禁系统的行业痛点与解决方案传统门禁系统运维存在三大核心痛点&#xff1a;首先是人工巡检维护成本高&#xff0c;需要专人定期检查设备状态、更换电池、处理故障&#xff1b;其次是权限管理效率低下&#xff0c;每次人员变动都需要现场刷卡或手动录入&#xff1b;最后…

作者头像 李华
网站建设 2026/10/31 2:52:43

机器人技术十年演进与关键技术解析

1. 机器人技术十年演进概览过去十年间&#xff0c;机器人技术经历了从实验室走向商业化的关键转折。2013年波士顿动力的Atlas机器人还只能完成简单的行走动作&#xff0c;而如今已经可以完成后空翻、跑酷等高难度动作。这种跨越式发展背后是多项核心技术的突破与融合。工业机器…

作者头像 李华
网站建设 2026/10/31 2:51:51

大模型技术如何创造高薪机会与零基础学习路线

1. 为什么大模型能创造高薪机会&#xff1f;去年有个做传统运维的朋友找我聊天&#xff0c;说他公司新来的大模型工程师月薪直接是他的两倍。这事儿特别有意思&#xff0c;因为那位工程师半年前还在送外卖。这不是个例&#xff0c;现在头部互联网公司给大模型相关岗位开出的薪资…

作者头像 李华
网站建设 2026/10/31 2:51:04

Windows 下 VLC-Qt 编译实战:CMake 工具链与依赖排查

简介&#xff1a;面向 Windows 平台进行 Qt 与 VLC 集成的开发者&#xff0c;这份 vlc-qt 编译资料聚焦播放内核库的获取、编译配置与工程链接问题&#xff0c;并完成从依赖包到可用库的衔接&#xff0c;适合具备一定 C/Qt 基础、需要在桌面端实现视频播放、流媒体或 QML 界面嵌…

作者头像 李华
网站建设 2026/10/31 2:50:48

搞笑写实图片站搭建:存储、转码与首屏优化实战

做图片站这件事&#xff0c;我从头到尾完整经历过一轮。这次要聊的是我自己的一个搞笑写实图片站&#xff1a;底料全部是真实拍摄的素材——工位上放了三天、杯壁已经长出绒毛的隔夜茶&#xff0c;小区里一只用极度不屑的眼神盯着镜头的流浪猫&#xff0c;商场里被风吹走后只剩…

作者头像 李华