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 に静止画を 1 枚渡せば、それが音の付いた動くショットの最初のフレームになります。当社では Google の Veo 3.1 Fast を google/veo-3.1-fast/image-to-video として運用しており、出力の秒単位 で課金しています。1 秒あたり $0.01、音声トラックがオンなら ×1.5。音声付き 8 秒の 720p クリップは $0.12 です。画像 1 枚と prompt ひとつ、参照画像のやりくりは不要です。
作業の元になる開始画像がない場合は、Veo 3.1 Fast text-to-video が使うべき endpoint です。同じモデル、同じ価格、prompt だけで動き、4 秒や 6 秒に落とすこともできます。逆に、複数の画像があり、目的が複数ショットにわたって 1 人のキャラクターを一貫させることであれば、Veo 3.1 Fast reference-to-video へ進んでください。
このモデルを動画 1 本単位で売っているところはありません。Google も、fal.ai も、Replicate も、当社も、出力を 1 秒ずつ計測しています。したがって公正な比較には、構成を固定する必要があります。以下は 8 秒、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 | 当社の割引前料率 |
最下行をじっくり見てください。当社の割引前の定価は 8 秒クリップで $1.20 — fal.ai と Replicate が課金しているのとまったく同じ数字です。 現在お支払いいただく $0.12 はその 10 分の 1 で、それでも Google 自身の API より 6.7 倍安い水準です。
解像度が請求に及ぼす影響は、どこで買うかによって異なります。720p から 1080p へ上げても fal.ai や Replicate では追加費用はかかりませんが、Google は秒あたりの料率を上げます。当社も解像度を乗数として扱っているため、1080p での実行を計画する前に、このモデルの llms.txt から最新の数字をお読みください。
価格および製品条件は変更される場合があります。購入を判断する前に、各プロバイダーの最新価格をご確認ください。Google の Batch または Flex 価格は、スケジューリング・空き状況・処理条件が異なるため、標準的なオンデマンド API request と直接同等ではなく、この比較には含めていません。これは特定の条件に絞った比較であり、E2X があらゆる構成において世界最安であると主張するものではありません。
あなたの画像が 1 フレーム目を固定します。それ以降はすべて生成されたものです。このイメージを持ち続けてください。強みも失敗のしかたも、それで説明がつきます。
強みは、構図、パレット、衣装、セットがすでに確定していることです。クライアントが承認済みの商品カットを、文章で再現できるかどうかに賭ける必要がありません。静止画を渡し、動きを描写すれば、その静止画のとおりに始まるクリップが得られます。
失敗のしかたは、クリップがそのフレームから離れれば離れるほど、モデルが即興を始めることです。8 秒で 180° のオービットを頼めば、被写体の反対側は創作です。ゆっくりとしたプッシュインと首の動きを頼めば、しっかり保ちます。
音声はそれに付いてきます。Google がネイティブに生成し、同社の API にはそれを無効化するスイッチがありません。同期した台詞、足音に合った足音、その下に敷かれた部屋の空気感。入るのは 1 枚の静止写真、出てくるのはサウンドトラック付きの何かです。
ソース画像に対する Google の制約を、そのまま記します。
image_url を取得するのは job の実行時であって、送信時ではありません。最後の項目は、他のすべてを合わせたより多くの失敗を引き起こします。短命な署名付きリンクは、キューの途中で期限切れになります。
ここでの必須フィールドは 2 つです。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 を送信してください。当社では約 4 分を見込んでいます。Google が公表している範囲は、最短で 11 秒、ピーク時で 6 分です。
型にご注意ください。duration、resolution、has_sound は 文字列 です。true ではなく "true" です。
同一の重みへの扉が 3 つ、秒単価も同一です。どれを選ぶかは、あなたの入力が決めます。
| Endpoint | 8 秒クリップ、720p + 音声 | こんなときに |
|---|---|---|
| Veo 3.1 Fast image-to-video | $0.12 | 承認済みの静止画 1 枚を 1 フレーム目にしたい |
| Veo 3.1 Fast text-to-video | $0.12 | まだ何もない。しかも 4 秒や 6 秒の選択肢が欲しい |
| Veo 3.1 Fast reference-to-video | $0.12 | 最大 3 枚の画像で、繰り返し登場する顔・商品・場所を定義したい |
正直な線引きはこうです。静止画がそのまま冒頭のフレーム である ときは、この endpoint を使ってください。画像が代わりにガイダンスであるとき — 5 つのシーンにわたる同じ役者など — は reference-to-video を使い、8 秒に固定されることを受け入れてください。まだ探っている段階でしょうか。何もアップロードしないでください。text-to-video の 4 秒なら $0.06 で、ストーリーボードを一気に埋められます。その他は image-to-video カテゴリやモデルカタログ全体からご覧いただけます。
よくある間違いは、たった今アップロードした画像を描写し直すことです。モデルにはそれが見えています。「桟橋に立つ赤いコートの女性」に費やすすべての言葉は、次に何が起きるかに使われなかった言葉であり、しかもすでに確定していたフレームの再解釈を招きます。
代わりに変化を書いてください。品質の大半を担う習慣が 3 つあります。
主となる動きをひとつだけ与える。 首を回す、カメラが寄る、扉が開く。8 秒に 4 つの動作を詰め込めば、どれも読み取れません。
カメラがどこにあり、動くかどうかを述べる。 「固定」「ゆっくりとしたダリーイン」「手持ちで右へ流れる」。この点について沈黙すると、目的のない浮遊が返ってきます。
声に出して音を付ける。 環境音と、台詞があれば引用符で名指ししてください。計画してもしなくても音声は生成されるのですから、計画してください。
英語の prompt は完全にサポートされています。このモデルについて Google は他の言語を評価していないため、話す台詞が別の言語であっても、指示は英語で書いてください。
2 日間。それがダウンロードできる期間です。 Google が生成された動画を保持するのは 2 日間です。同社の表現では、生成から 2 日以内に動画をダウンロードする必要があります。outputs[0].url を読むのと同じコードパスの中で、それをご自身のストレージへ取り込んでください。返されるリンクは一時的なものです。
SynthID はすべてのフレームに入ります。 Google はすべての Veo 出力に知覚できない来歴マーカーで watermark を入れており、同社のプラットフォームで検証できます。当社を含め、どのプロバイダーもこれを無効化できません。
規制地域における人物。 EU、英国、スイス、MENA 全域で、personGeneration は allow_adult が上限になります。
aspect ratio をソースに合わせてください。 16:9 の静止画に 9:16 を指定すると、モデルは端を創作せざるを得なくなります。
生成された動画 1 秒あたり $0.01 を課金し、音声がオンのときは 1.5 倍になります。したがって音声付き 8 秒の 720p クリップは $0.12 です。より高い解像度にはそれぞれの乗数が適用されるため、1080p や 4k の batch を予算化する前に最新のモデルページをご確認ください。
8 MB 未満、720p 以上、そして 16:9 か 9:16 のいずれかです。お渡しいただいた image_url から当社が取得するため、job の実行時点でもリンクが解決できる必要があります。期限切れになる署名付き URL が、ここで最も多い失敗要因です。
この endpoint ではできません。受け取るのは image_url ちょうど 1 つです。複数の画像で生成を導く必要がある場合は、最大 3 つの配列を受け付ける reference-to-video をお使いください。
はい。それがこのモデルに手を伸ばす主な理由のひとつです。Google は同期した台詞、効果音、環境音をネイティブに生成し、同社自身の API にはオフのスイッチがありません。当社の schema は has_sound を公開しており、デフォルトは true、これが ×1.5 の乗数を伴います。
最大 8 秒です。この endpoint は 4、6、8 を受け付けますが、1080p と 4k の出力にはフルの 8 秒が必要です。Veo 3.1 Fast ファミリーのどれも、1 回の呼び出しで 8 秒を超えることはありません。
すべての Veo 動画に、Google の知覚できない AI 来歴 watermark である SynthID が入り、同社の検証プラットフォームで確認できます。これを切る手段を提供しているところはありません。
1 job あたり約 4 分を見込んでください。Google の公式な数字では下限が 11 秒、ピーク時の上限が 6 分なので、まとまった量を回すようになったら polling ループより webhook が優ります。