如何降低 AI 视频 API 成本:七种实用方法
AI 视频按秒计费,且费率随分辨率大幅上升,所以你的工作方式和你选的模型一样重要。以下七个习惯可以在不降低成品质量的前提下降低账单。
钱花在哪里
几乎所有视频模型都按每秒输出计费,费率随分辨率大幅攀升。在 Seedance 2.5 上,1080p 每秒 $0.55,是 480p 的 $0.11 的五倍。下面大部分节省都来自同一个想法:只对你已经确定想要的视频支付高费率。
1. 用最低分辨率出草稿,再渲染满意的那一条
用低分辨率检查提示词、构图和动作。草稿可行后,再用完整分辨率发送同一条提示词。成片是一次新的生成,所以不会与草稿逐帧一致,但在 480p 下可行的提示词,在 1080p 下几乎总是可行。
| 模型 | 草稿 | 8 秒草稿 | 成片 | 8 秒成片 |
|---|---|---|---|---|
| Seedance 2.5 | 480p | $0.88 | 1080p | $4.40 |
| Seedance 2.0 | 480p | $0.64 | 1080p | $3.20 |
| Wan 3.0 | 480p | $0.40 | 1080p | $1.36 |
| Gemini Omni 1.1 Flash | 360p | $0.32 | 1080p | $0.80 |
三个 Seedance 2.5 草稿加一个成片,费用为 $2.64 加 $4.40,而四个成片则为 $17.60。
2. 了解哪些地方更高的设置不会多花钱
有些模型对两种设置收取相同的费用。这时,请始终选择更大的那个:
- Veo 3.1:不带声音时,720p 和 1080p 都是每秒 $0.20。
- Gemini Omni 1.1 Flash:720p 和 1080p 都是每秒 $0.10。
- GPT Image 2:1K、2K 和 4K 都是每张 $0.03。
模型页面列出了所有价格项,所以你可以在选择尺寸之前发现这些情况。
3. 选择同一个模型中更便宜的档位
大多数系列都有价格只是零头的 fast 或 lite 版本。它们是草稿、社交媒体短视频以及在手机上观看的内容的正确选择。
| 系列 | 完整档 | 较低档 |
|---|---|---|
| Veo 3.1 | 1080p 的 Veo 3.1:$0.20 | 1080p 的 Veo 3.1 Lite:$0.06 |
| Seedance 2.0 | 720p 的 Seedance 2.0:$0.15 | 720p 的 Seedance 2.0 Fast:$0.11 |
想逐个模型查看最低价格,请参阅最便宜的 AI 视频 API 指南。
4. 要自己加声音时,关掉声音
有些模型对生成的声音另外收费。如果音乐或旁白要在剪辑时再加,请把 audio 设为 false:
| 模型 | 设置 | 静音 | 带声音 |
|---|---|---|---|
| Kling 3.0 | 720p | $0.09 | $0.13 |
| Veo 3.1 | 1080p | $0.20 | $0.40 |
| Veo 3.1 Fast | 720p | $0.08 | $0.10 |
5. 先用便宜的图片挑选首帧
图生视频让你可以控制第一帧,而一张图片的价格远低于一秒视频。先用 GPT Image 2 这样的图像模型生成几张首帧,每张 $0.03,挑出最好的,再让它动起来。文生视频与图生视频指南说明了这样做何时划算。
6. 只请求你需要的时长
按秒计费意味着 10 秒的视频价格是 5 秒的两倍。如果你要在剪辑时把它剪到 4 秒,那么在模型允许的情况下,请求 4 秒或 5 秒。
7. 让 API 守住你的开支
- 每个请求上的
max_cost_usd设定了该任务最多可以花多少钱。标价高于它的线路会被跳过,如果一条都不剩,请求会以422 max_cost_exceeded被拒绝,所以duration或resolution中的一个拼写错误不会产生一笔巨额账单。 - 失败的任务不收费。提交时价格会被预留,任务失败时就会释放,所有模型都是如此。
- 一个
Idempotency-Key请求头意味着,在网络错误后重新发送的请求,返回的是你已经启动的那个任务,而不是为第二个任务付费。
先出草稿再出成片,用代码实现
这个脚本先以 480p 为一个创意生成三个版本的草稿,再以 1080p 渲染选中的提示词。每个请求在价格上方带有一个 max_cost_usd,以及它自己的 Idempotency-Key。
import os
import time
import uuid
import requests
API = "https://api.revana.si/v1"
KEY = os.environ["REVANA_API_KEY"]
def run(model, inp, max_cost_usd):
key = str(uuid.uuid4()) # resend with this key after a network error: no duplicate job
headers = {"Authorization": f"Bearer {KEY}", "Idempotency-Key": key}
body = {"model": model, "input": inp, "max_cost_usd": max_cost_usd}
job = requests.post(f"{API}/generations", headers=headers, json=body).json()
while job["status"] in ("queued", "running"):
time.sleep(5)
job = requests.get(f"{API}/generations/{job['id']}", headers=headers).json()
return job
prompts = [
"A red kite climbs over a windy beach, the camera tracking it from the sand.",
"A red kite climbs over a windy beach, seen from above as it rises toward the camera.",
"A child runs along a windy beach pulling a red kite into the sky, slow motion.",
]
# 1. A cheap 480p draft of each idea
drafts = [run("seedance-2.5", {"prompt": p, "resolution": "480p", "duration": 8}, 1.1)
for p in prompts]
for p, d in zip(prompts, drafts):
print(d["status"], d.get("cost_usd"), d["output"]["urls"][0] if d["output"] else d["error"])
# 2. Render only the idea you liked, at 1080p
final = run("seedance-2.5", {"prompt": prompts[1], "resolution": "1080p", "duration": 8}, 5.3)
print(final["status"], final.get("cost_usd"))所有请求字段见文档,$10 起的额度包见价格页面,你一分钟内就能获取 API 密钥。
常见问题
如何让 AI 视频生成更便宜?
用最低分辨率出草稿,只对你要保留的视频用完整尺寸渲染;草稿使用 fast 或 lite 档;如果你要自己加声音,就关闭生成的声音;并且只请求你需要的时长。
失败的 AI 视频生成需要付费吗?
在 Revana 上不需要。提交时价格会被预留,任务失败时就会释放,所有模型都是如此。
如何限制单次生成的最高费用?
在请求中发送 max_cost_usd。标价高于它的线路会被跳过,如果一条都不剩,请求会在任何扣费之前以 422 max_cost_exceeded 被拒绝。
低分辨率草稿看起来和成片一样吗?
不会逐帧一致:成片是一次新的生成。但草稿能说明提示词、构图和动作是否可行,这正是你付费想要弄清楚的。
请求超时时,如何避免重复付费?
发送 Idempotency-Key 请求头。再次发送相同的 key 和请求体,返回的是你已经启动的那个生成任务,而不是新的一个。