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/image-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)按时长和分辨率估算每次生成的成本。您只需为实际运行的部分付费。
给这个 endpoint 一张静图,它就会成为一个会动、且已配好声音的镜头的第一帧。我们把 Google 的 Veo 3.1 Fast 运行为 google/veo-3.1-fast/image-to-video,并按输出秒数计费:每秒 $0.01,开启音轨时 ×1.5。因此一段 8 秒、720p、带声音的片子是 $0.12 —— 一张图加一条 prompt,不必折腾参考图。
手上没有起始图像?那 Veo 3.1 Fast text-to-video 才是您要的 endpoint —— 同一个模型、同样的价格、只需 prompt,而且它允许您降到 4 秒或 6 秒。如果您手上是好几张图像,而重点是让同一个角色在多个镜头间保持一致,那请去 Veo 3.1 Fast reference-to-video。
没有人按视频条数来卖这个模型。Google、fal.ai、Replicate 和我们都是一秒一秒地计量输出,所以公平的对比必须固定一套配置。以下是我们在 2026 年 8 月 26 日 最后一次核查时,8 秒、720p、音频开启的情况:
| 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 | 我们未打折的费率 |
请在最后一行上多停一会儿。我们未打折的标价是 8 秒片子 $1.20 —— 与 fal.ai 和 Replicate 收的完全是同一个数字。 您现在付的 $0.12 是它的十分之一,并且仍比 Google 自家 API 低 6.7 倍。
分辨率对账单的影响,取决于您在哪里买。在 fal.ai 或 Replicate 上,从 720p 升到 1080p 不额外花钱;Google 则按更高的每秒费率收费。我们同样把分辨率当作一个倍率,所以在规划一次 1080p 跑批之前,请从本模型的 llms.txt 中读取当前数字。
价格与产品条款可能随时间变化;在做出采购决定前,请核对各家提供商的当前价格。Google 的 Batch 或 Flex 价格在调度、可用容量和处理条件上均有所不同,因此与标准的按需 API request 并不直接等价,已从本对比中排除。这是一次限定范围的对比,并非声称 E2X 在任何配置下都是全球最便宜的选择。
您的图像锚定第一帧。之后的一切都是生成出来的——请把这个心智模型握住,因为它同时解释了它的强项和它的失效模式。
强项:构图、配色、服装和布景已经定了。您不必赌一段文字能不能复现出客户早已批准的那张产品图。喂进静图,描述运动,得到一段起点与静图分毫不差的片子。
失效模式:片子离那一帧走得越远,它就即兴得越多。要它在八秒内绕主体转 180°,那么主体的另一侧就是编出来的。要它缓慢推近再加一个转头,它守得住。
音频是顺带一起来的。Google 原生生成它,而且他们的 API 没有禁用开关——对白同步、脚步声踩在落脚点上、底下垫着房间底噪。进去的是一张静态照片,出来的是带原声带的东西。
Google 对源图像的约束,直说:
image_url,而不是在您提交时。最后这一条造成的失败比其余加起来还多:短时效的签名链接在排队途中就过期了。
这里有两个必填字段:prompt 和 image_url。
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/image-to-video",
"input": {
"prompt": "咖啡师把杯子往前推,蒸汽袅袅升起。缓慢推近咖啡油脂。咖啡机的嘶嘶声,背景是低低的咖啡馆交谈声。",
"image_url": "https://example.com/counter-shot.jpg",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": "8",
"has_sound": "true"
}
}'
您会拿回一个 job ID。可以对它做 polling,也可以给我们一个 webhook:
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/image-to-video",
input: {
prompt:
"她把墨镜往下拉,目光瞥向画面左侧之外。裙摆被风掀起。固定机位,底下是海鸥和浪声。",
image_url: "https://example.com/lookbook-03.jpg",
aspect_ratio: "9:16",
resolution: "720p",
duration: "8",
has_sound: "true",
seed: 88117,
},
}),
}).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 || "Animation failed");
}
await new Promise((r) => setTimeout(r, 5000));
}
job 的流转是 pending → processing → completed,或者停在 failed / cancelled。不想做 polling 的话,请发一个 webhookUrl。我们按大约四分钟来规划;Google 公布的区间是最快 11 秒、高峰期 6 分钟。
留意类型:duration、resolution 和 has_sound 都是字符串。是 "true",不是 true。
三扇门通向同样的权重,价格也是同样的按秒计费。选哪一扇由您的输入决定:
| Endpoint | 8 秒片段,720p + 音频 | 什么时候选它 |
|---|---|---|
| Veo 3.1 Fast image-to-video | $0.12 | 一张已获批准的静图应当成为第一帧 |
| Veo 3.1 Fast text-to-video | $0.12 | 什么都还不存在——而且您想要 4 秒或 6 秒的选项 |
| Veo 3.1 Fast reference-to-video | $0.12 | 最多三张图像必须定义一个反复出现的人脸、产品或场所 |
诚实的分界:当那张静图就是开场帧时,用这个 endpoint。当您的图像只是引导时——同一个演员出现在五个场景里——用 reference-to-video,并接受它把您锁死在 8 秒上。只是在探索阶段?那就什么都别上传:4 秒的 text-to-video 是 $0.06,能飞快地烧完一整块分镜板。其余内容可在 image-to-video 分类或整个模型目录中浏览。
常见的错误是把您刚上传的那张图再描述一遍。模型看得见它。花在「一位穿红大衣的女人站在栈桥上」上的每一个词,都是没花在「接下来发生什么」上的词——而且这等于邀请它去重新演绎一帧您本已锁定的画面。
请改为写下变化。有三个习惯撑起了大部分质量:
只给一个主要运动。 一个转头、一次推镜、一扇门打开。把四个动作塞进八秒,结果一个都读不出来。
说清楚摄影机在哪、动不动。 「固定机位」「缓慢推轨」「手持向右漂移」。在这一点上沉默,得到的就是漫无目的的漂浮。
把声音也大声说出来。 点名环境音,并把任何台词放进引号里。无论您是否规划,音频都会被生成,所以请规划它。
英文 prompt 获得完整支持。Google 没有针对这个模型评测过其他语言,所以即便台词是另一种语言,也请把指令保持为英文。
两天。这就是您的下载窗口。 Google 会把生成的视频保留两天——他们的原话是:「您必须在生成后 2 天内下载您的视频」。请在读取 outputs[0].url 的同一条代码路径里,把它拉进您自己的存储。返回的链接是临时的。
每一帧上都有 SynthID。 Google 会给所有 Veo 输出打上其不可感知的来源标记,可通过他们的平台核验。没有任何提供商能禁用它,我们也不能。
受监管地区的人物。 在欧盟、英国、瑞士以及中东北非地区,personGeneration 的上限是 allow_adult。
让 aspect ratio 与您的源图匹配。 一张 16:9 的静图却请求 9:16,就是逼着模型去编造画面边缘。
我们按生成视频每秒 $0.01 收费,开启音频时乘以 1.5。这让一段 8 秒、720p、带声音的片子成为 $0.12。更高的分辨率会套用各自的倍率,所以在为一批 1080p 或 4k 做预算之前,请查看实时模型页面。
小于 8 MB,至少 720p,并且是 16:9 或 9:16 之一。我们会从您提供的 image_url 去取它,所以这个链接在 job 运行时必须仍然可解析——会过期的签名 URL 是这里最常见的失败原因。
在这个 endpoint 上不行——它只接受恰好一个 image_url。如果需要多张图像来引导一次生成,请用 reference-to-video,它接受一个最多三项的数组。
包含,而且这正是选用这个模型的主要理由之一。Google 原生产出同步的对白、音效和环境音,在他们自己的 API 里没有关闭开关。我们的 schema 暴露了 has_sound,默认为 true,并带着那个 ×1.5 倍率。
最长 8 秒。这个 endpoint 接受 4、6 或 8,但 1080p 和 4k 输出需要完整的 8 秒。Veo 3.1 Fast 家族中没有任何一个能在单次调用里超过 8 秒。
每一段 Veo 视频都带有 SynthID,这是 Google 的不可感知 AI 来源 watermark,可以在他们的验证平台上核验。没有人提供关掉它的办法。
请按每个 job 大约四分钟来规划。Google 的官方数字把下限定在 11 秒、高峰期上限定在 6 分钟,所以一旦您跑上真正的量,webhook 就胜过 polling 循环。