Loading...
Loading...
更快、更实惠的 Veo 3.1 版本,涵盖文本生成视频、图像生成视频、参考图生成视频以及首尾帧过渡。
No output yet
Run the model to see generated results.
import requests
result = requests.post(
'https://api.e2x.ai/v1/jobs/submit',
headers={
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
},
json={
'model': 'google/veo-3.1-fast/text-to-video',
'input': {}
}
)import time
job_id = result.json()['jobId']
while True:
response = requests.get(
f'https://api.e2x.ai/v1/jobs/{'{job_id}'}',
headers={'Authorization': f'Bearer {'{API_KEY}'}'}
)
data = response.json()['data']
if data['status'] == 'completed':
print('Done!', data['outputs'][0]['url'])
break
elif data['status'] == 'failed':
raise Exception(f"Job failed: {'{'}data['error']['message']{'}'}")
time.sleep(2)按时长和分辨率估算每次生成的成本。您只需为实际运行的部分付费。
Veo 3.1 Fast 是 Google 为速度调优过的 Veo 3.1:同样的分辨率、同样的 4/6/8 秒时长、同样始终开启的原生音频,只是出片更快、价格更低。我们将其开放为 google/veo-3.1-fast/text-to-video,并按输出秒数计费 —— 每秒 $0.01,开启音轨时 ×1.5。一段 8 秒、720p、带声音的片子是 $0.12。无需上传任何东西。一条 prompt 就是全部输入。
手上有一张静态图片,想让它动起来?那您要的是 Veo 3.1 Fast image-to-video —— 同一个模型,一张起始帧。需要同一张脸和同一件外套在一批镜头中都保持不变?那是 Veo 3.1 Fast reference-to-video。
这个模型的每一家正经提供商都按秒计费,我们也一样。所以唯一诚实的对比方式是固定一套配置——下面这套是 720p、音频开启,核查日期为 2026 年 8 月 26 日:
| API 提供商 | 计费方式 | 费率(720p,音频开启) | 8 秒片段 | 与我们相比 |
|---|---|---|---|---|
| E2X(当前) | 按秒 | $0.01/秒 ×1.5 音频 | $0.12 | — |
| Google Gemini API | 按秒 | $0.10/秒 | $0.80 | 我们价格的 6.7 倍 |
| fal.ai | 按秒 | $0.15/秒 | $1.20 | 我们价格的 10 倍 |
| Replicate | 按秒 | $0.15/秒 | $1.20 | 我们价格的 10 倍 |
| E2X 标价(未打折) | 按秒 | $0.10/秒 ×1.5 | $1.20 | 我们未打折的费率 |
请把最后一行对着 fal.ai 和 Replicate 读。我们一段 8 秒片子的标价是 $1.20 —— 与他们收的分毫不差。 而您今天付的是那个数字的十分之一,并且对同样一次 request,仍比 Google 自家 API 低 6.7 倍。
预算时请留意一个细节:在 fal.ai 和 Replicate 上,720p → 1080p 是免费的,而 Google 会为此按秒多收钱。分辨率在我们这边同样是一个倍率,所以在把流水线定在 1080p 之前,请从本模型的 llms.txt 中取出实时数字。
价格与产品条款可能随时间变化;在做出采购决定前,请核对各家提供商的当前价格。Google 的 Batch 或 Flex 价格在调度、可用容量和处理条件上均有所不同,因此与标准的按需 API request 并不直接等价,已从本对比中排除。这是一次限定范围的对比,并非声称 E2X 在任何配置下都是全球最便宜的选择。
大多数 text-to-video 模型交给您一个无声的 MP4,把声音留给您自己解决。Veo 3.1 Fast 不是。Google 的 API 原生生成音频,而且在那里您关不掉它——同步的对白、拟音和房间底噪,与画面一同产出并锁定在帧上。Google 自己文档里的示例 prompt 就包含台词。
这改变了一次调用的价值。写下「一个鱼贩把箱子重重放下,喊道 刚到的,五分钟前」,您就会在正确的帧上得到那一声闷响和那一嗓子——而不是一段还得您事后配乐的哑剧。对社交剪辑和动态分镜来说,整整一道后期工序凭空消失了。
您还能挑什么:
has_sound,默认为 true,驱动那个 ×1.5 倍率。单段片子的上限是八秒。要成序列,就得多次调用。
在控制台造一把 key,把它留在服务端,然后提交 job。只有 prompt 是必填项。
curl -X POST https://api.e2x.ai/v1/jobs/submit \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/veo-3.1-fast/text-to-video",
"input": {
"prompt": "夜里,手持镜头沿着被雨水打湿的大阪小巷推进。一位拉面摊主掀起暖帘,蒸汽涌出,他向骑车经过的人喊道:\"今晚最后一碗!\" 霓虹倒影在水洼里颤动。",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": "8",
"has_sound": "true"
}
}'
我们会返回一个 job ID。您可以对它做 polling,也可以不做:
const headers = {
Authorization: `Bearer ${process.env.E2X_API_KEY}`,
"Content-Type": "application/json",
};
const submitted = await fetch("https://api.e2x.ai/v1/jobs/submit", {
method: "POST",
headers,
body: JSON.stringify({
model: "google/veo-3.1-fast/text-to-video",
input: {
prompt:
"缓慢推近一位正在航海日志上书写的灯塔看守人。风把玻璃震得作响。她低声说:\"第三个夜晚,仍然没有信号。\" 灯光每四秒扫过她的脸一次。",
aspect_ratio: "9:16",
resolution: "720p",
duration: "6",
has_sound: "true",
seed: 41205,
},
}),
}).then((r) => r.json());
const jobId = submitted.data.jobId;
while (true) {
const job = await fetch(`https://api.e2x.ai/v1/jobs/${jobId}`, { headers })
.then((r) => r.json());
if (job.data.status === "completed") {
console.log(job.data.outputs[0].url);
break;
}
if (job.data.status === "failed") {
throw new Error(job.data.error?.message || "Generation failed");
}
await new Promise((r) => setTimeout(r, 5000));
}
状态依次为 pending → processing → completed,或者落到 failed / cancelled。改发一个 webhookUrl,我们就会呼叫您。请按每个 job 大约四分钟来预算;Google 公布的下限是 11 秒、高峰期上限是 6 分钟,所以请按上限来设计。
一个 schema 陷阱:duration 和 resolution 都是字符串。是 "8",不是 8。
同样的权重,同样的按秒价格,三扇不同的前门。您手上已有的输入决定了走哪一扇:
| Endpoint | 8 秒片段,720p + 音频 | 什么时候选它 |
|---|---|---|
| Veo 3.1 Fast text-to-video | $0.12 | 您只有文字,别的都没有——而且您想要 4 秒或 6 秒 |
| Veo 3.1 Fast image-to-video | $0.12 | 已经有一张静图,它应当成为第一帧 |
| Veo 3.1 Fast reference-to-video | $0.12 | 某个人物、产品或场所必须在多个镜头间保持一致 |
价格分不出胜负,所以请跟着需求单走。如果客户已经签核了一张主视觉,把它作为起始帧发过去,胜过用文字把它重新描述一遍。如果六段片子必须看起来像同一场战役,就加载最多三张参考图——只是要知道,reference-to-video 强制 8 秒,没有例外。这个 endpoint 保留了更短的时长选项,这让它成为用粗略动态填满分镜板最便宜的方式。我们运行的其余模型在 text-to-video 分类和完整的模型目录里。
把 prompt 当成一份附带混音说明的镜头表。有四件事比形容词更能拉动效果:
点名摄影机运动。 「固定机位广角」「缓慢推轨」「手持跟拍」——模型会尊重这些。含糊的取景只会给您漂移的、拿不定主意的运动。
把对白写在引号里。 短句,每段片子一两句。八秒并不长。转述式的意图(「他说了些鼓励的话」)会产出含混的填充词。
点名环境音。 雨打铁皮、冰箱的嗡鸣、远处的车流。您不点名,模型就自己编一层底噪,而它未必对得上您的剪辑。
说清楚光在做什么。 阴天正午、钠灯路灯、一盏实景灯。光线决定了一段 Fast 档的片子读起来是刻意为之,还是一次渲染。
英语获得完整支持;Google 没有在这里评测过其他语言。您想让人物说哪种语言就用哪种语言写对白,但请预期在英语之外方差更大。
48 小时内下载。 Google 会把文件保留两天——他们的原话是:「您必须在生成后 2 天内下载您的视频」。请在读取 outputs[0].url 的同一个 job 里,把每一份输出都复制到您自己的存储桶。CDN 链接不是归档。
每一帧都带 SynthID。 Google 的不可感知 watermark 会加到所有 Veo 输出上,并可在他们的验证平台上核验。没有人能把它关掉,我们也不能。
关于人物的地区规则。 在欧盟、英国、瑞士以及中东北非地区,personGeneration 被限制为 allow_adult。
我们按秒计费:每秒输出 $0.01,启用音频时乘以 1.5。一段 8 秒、720p、带声音的片子是 $0.12,6 秒的是 $0.09,4 秒的是 $0.06。720p 以上的分辨率有各自的倍率。
在我们核查的那套配置和那个日期上——8 秒、720p、音频开启、2026 年 8 月 26 日——是的:我们 $0.12,那边 $1.20。我们自己未打折的标价就是同样的 $1.20。这个差距是一次折扣,而不是另一种产品。
我们的 schema 暴露了 has_sound,默认值为 true。Google 自家的 Gemini API 根本不提供关闭开关,所以最好把音频视作这个模型本身的一部分——在我们的 image-to-video endpoint 上同样如此。这也是那个 ×1.5 价格倍率的由来。
单次调用八秒。在这个 endpoint 上您可以要 4 秒或 6 秒,但 1080p 和 4k 需要完整的 8 秒。更长的序列意味着您自己把多个 job 拼接起来,或者用 reference-to-video 把一套观感稳住。
只有 16:9 和 9:16,24fps,可选 720p、1080p 或 4k。我们默认 16:9 和 720p。没有方形或 4:5 选项,需要的话请在后期裁切。
带 —— 每一份 Veo 输出都带有 SynthID watermark,这是 Google 的不可感知来源标记,可以通过他们的平台核验。没有任何提供商暴露禁用它的参数。
我们按每个 job 大约四分钟来预算。Google 公布的最短是 11 秒,高峰期最长为 6 分钟,所以批量作业请用 webhook,而不是紧凑的 polling 循环。