Loading...
Loading...
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/omni-flash/reference-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)按时长和分辨率估算每次生成的成本。您只需为实际运行的部分付费。
Omni Flash 是 Google 的 gemini-omni-flash-preview —— 一个 Gemini 家族的视频模型,而不是 Veo —— DeepMind 自己给它的推介只有一句话:「把 Gemini Omni 想成 Nano Banana,只不过是给视频用的。」我们把它的 reference-to-video capability 运行为 google/omni-flash/reference-to-video,并对每一秒成片的 720p 视频收费 $0.10。因此默认的 8 秒片段是 $0.80,含音频。
请注意计价单位。这里没有人按一口价卖一段片子,所以您拿来对比的任何数字,都必须乘上您打算渲染的长度。
有脚本,但没有可以带进镜头的图像?那 Veo 3.1 Fast text-to-video 才是您要的 endpoint —— 它只从 prompt 起步,而且在我们平台上便宜得多。下面我们会诚实地回到这一点。
我们相对于其他可以调用这个模型的地方所处的位置,核查日期为 2026 年 8 月 26 日:
| API 提供商 | 每秒(720p) | 8 秒片段 | 与 E2X 相比 |
|---|---|---|---|
| E2X | $0.10 | $0.80 | — |
| fal.ai | $0.13 | $1.04 | 我们低 23% |
| Atlas Cloud | $0.135 | $1.08 | 我们低 26% |
| Runware | $0.10 | $0.80 | 持平 |
| Google Gemini API | $0.10 | $0.80 | 持平 |
价格与产品条款可能随时间变化;在做出采购决定前,请核对各家提供商的当前价格。Google 的 Batch 或 Flex 价格在调度、可用容量和处理条件上均有所不同,因此与标准的按需 API request 并不直接等价,已从本对比中排除。这是一次限定范围的对比,并非声称 E2X 在任何配置下都是全球最便宜的选择。
我们不会给这件事上妆:在这个模型上,我们与 Google 的费率持平,而不是压低它,真正的节省只存在于对比 fal.ai 和 Atlas 时。参考图像几乎不占分量——Google 把一张图像计为 2,040 token,所以三张大约值一美分。真正会动您账单的字段是 duration。
这个 endpoint 的意义在于连续性。把一个主体交给模型——一个人、一件产品、一处布景、一种造型——描述一个它从未被拍摄过的场景,而这个主体能挺过这趟旅程。
您可以附上多张参考图,而不是一张。 Google 公布的示例最多用到六张;没有任何官方最大值被记录下来,而第三方给出的数字互相矛盾,所以我们不会印一个出来。请按几张的量级来设计,然后测出您自己的上限。
音频是与画面一同生成的,不是外挂上去的。 它与动作同步,而且您用同一条 prompt 来指挥它——要雨打铁皮屋顶加一层低沉的房间底噪,回来的就是这个。事后没有单独的音轨可供剪辑。
十秒是天花板。 我们的 duration 枚举暴露 4、6、8 和 10;Google 的模型跑 3 到 10 秒,而 10 是硬上限。没有扩展 endpoint,没有插帧。再长就是您自己剪辑台上的拼接活儿——而剪辑点之间的连续性也就成了您的问题。
720p、24 fps,清单到此为止。 我们的 resolution 字段带着 1080p 和 4k 取值,Google 也把更高分辨率列为即将推出,但今天这个模型返回的是 720p。请把它留在默认值上。任何在这里宣传 1080p 的提供商页面,都跑在了 Google 自家文档的前面。
标准片段请预期约 45 秒的处理时间——这是 eachlabs 实测的 p50,不是官方数字,所以请拿它来规划,而不是拿它去承诺。
有两个字段是必填的:image_urls 和 prompt。从控制台生成一把 key,把它留在您自己掌控的服务器上,然后提交 job。
curl -X POST https://api.e2x.ai/v1/jobs/submit \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/omni-flash/reference-to-video",
"input": {
"prompt": "图 1 里的运动鞋立在湿漉漉的沥青路面上,身后一辆公交车正驶离。缓慢推近。环境车流声和小雨,没有音乐。",
"image_urls": [
"https://example.com/sneaker-front.jpg",
"https://example.com/sneaker-side.jpg"
],
"duration": "8",
"aspect_ratio": "16:9",
"resolution": "720p"
}
}'
响应里带着一个 job ID。视频要花上几分钟,所以请慢一点做 polling —— 或者干脆跳过 polling,在 submit 的 body 里传一个 webhookUrl:
const headers = {
Authorization: `Bearer ${process.env.E2X_API_KEY}`,
"Content-Type": "application/json",
};
const { data } = await fetch("https://api.e2x.ai/v1/jobs/submit", {
method: "POST",
headers,
body: JSON.stringify({
model: "google/omni-flash/reference-to-video",
input: {
prompt:
"参考图里的女人穿过一处夜市,霓虹招牌的光映在她的夹克上。手持镜头。人群的低语和远处的油炸声。",
image_urls: ["https://example.com/talent.jpg"],
duration: "10",
aspect_ratio: "9:16",
},
}),
}).then((r) => r.json());
const poll = async (id, attempt = 0) => {
const job = await fetch(`https://api.e2x.ai/v1/jobs/${id}`, { headers })
.then((r) => r.json());
if (job.data.status === "completed") return job.data.outputs[0].url;
if (job.data.status === "failed") throw new Error(job.data.error?.message);
if (attempt > 90) throw new Error("Timed out waiting for the render");
await new Promise((r) => setTimeout(r, 5000));
return poll(id, attempt + 1);
};
const videoUrl = await poll(data.jobId);
状态流转为 pending → processing → completed,或者落到 failed 或 cancelled。如果您更愿意用程序去读,实时的 schema 和价格就在机器可读规格里。
真正要紧的那个对比,而且它并不给本页面长脸:
| 模型 | 我们的价格(8 秒,720p,含音频) | 什么时候选它 |
|---|---|---|
| Omni Flash reference-to-video | $0.80 | 多张参考图必须保持一致,或者您需要一段 10 秒的片子 |
| Veo 3.1 Fast reference-to-video | $0.12 | 最多三张参考图、8 秒,而且您想要更便宜的账单 |
| Veo 3.1 Fast image-to-video | $0.12 | 一张您想让它动起来的静帧 |
| Veo 3.1 Fast text-to-video | $0.12 | 完全没有素材 |
在我们平台上,Veo 3.1 Fast 的价格只是 Omni Flash 的零头,而且它能到 1080p 和 4K,这是 Omni Flash 目前做不到的。按 Google 自家的标价,两者在 720p 下同为每秒 $0.10 —— 拉开差距的是我们的折扣。所以请从 Veo Fast 起步。当它三张参考图的上限成为您的拦路虎时、当您需要多出的那两秒时,或者当您想要「视频版 Nano Banana」这个说法背后的视频编辑行为时,再回到这里。更多选项在 reference-to-video 分类里,而整个模型目录就在一页之内。
Public Preview 意味着毛刺是被写进文档的,而不是被藏起来的。动工之前请先读这些:
写镜头,不要写故事。一个主体、一次摄影机运动、一种光线条件——然后说清楚它听起来是什么样,因为音频是从同一条 prompt 里出来的,而沉默是您必须大声做出的选择。
多于一张图进来时,请给附件贴标签:「图 1 是瓶子,图 2 是标签特写。」除此之外没有任何东西能告诉模型哪张参考图是主角。摄影机语言请保持朴素——「缓慢推近」「固定机位」「手持跟拍」胜过一整段摄影学论述。
每一段片子都带有 SynthID watermark —— 观众看不见,但可以用程序检测出来 —— 而且默认附带 C2PA 内容凭证。运行这个模型的任何提供商都无法把它们关掉,我们也一样。如果某份客户合同禁止带标签的 AI 素材,请在集成之前把这件事解决掉。
请在完成回调里就把输出重新托管到您自己的存储上。结果 URL 不是永久地址,而一段取不回来的视频,是一段您要付两次钱的视频。
它是 Google 的 gemini-omni-flash-preview,一个来自 Gemini 家族而非 Veo 家族的视频生成与编辑模型。DeepMind 把它描述为「Nano Banana,只不过是给视频用的」——重点落在一致地承载参考图以及编辑既有素材上,而 Veo 瞄准的是从零开始的电影感生成。它目前处于 Public Preview。
$0.80。我们按每秒 720p 输出 $0.10 收费,所以长度决定账单——4 秒片段是 $0.40,10 秒的上限是 $1.00。这是我们在 2026 年 8 月 26 日核查时的费率。
不止一张,而且 Google 记录在案的示例最多用到六张——但并没有公布官方最大值。Google 之外的信息源给出的上限各不相同且互相矛盾,所以我们不会重复一个我们无法核实的数字。在围绕某个具体数量做设计之前,请先用您自己的 payload 测一测。
今天还不能。它输出 24 fps 的 720p,而 Google 把更高分辨率列为即将推出。如果您现在就需要 1080p 或 4K,Veo 3.1 Fast 两者都能到。
大多数活儿用 Veo 3.1 Fast。在我们平台上,一段 8 秒带音频的片子它是 $0.12,而这里是 $0.80,而且它能到 4K。当您需要超过三张参考图像、需要 10 秒时长,或者需要它的视频编辑行为时,再选 Omni Flash。
有,原生生成,并与画面上的动作同步。您用同一条 prompt 来指挥它——点名环境音、音效,或者要一段音乐。音频事后无法通过 API 编辑,所以一处改动就意味着一次重渲。
带。每一份输出都带有观众看不见、但检测工具读得出的 SynthID watermark,外加默认开启的 C2PA 内容凭证。没有任何提供商暴露禁用其中任何一项的参数。
只有在欧洲经济区、瑞士和英国之外才可以——Google 在这些地区限制了对上传视频的编辑。Reference-to-video 生成本身不受影响。另请注意,视频参考虽被 schema 接受,却不会被正确处理,所以请发送图像。