Veo APIの使い方!Gemini APIとVertex AIで動画を生成するPythonコード例まで解説

Veo APIの使い方!Gemini APIとVertex AIで動画を生成するPythonコード例まで解説のアイキャッチ画像 動画生成AI

Veo を API から動かそうとした瞬間、多くの人が最初の入口でつまずきます。同じ Veo なのに、呼び出し口は個人向けの Gemini API と、本番運用向けの Vertex AI の2つに割れていて、「自分はどっちで始めればいいのか」が判断できないまま手が止まってしまうからです。

この記事を読み終える頃には、その分岐に迷わず、Python から Veo の API を叩いて手元に動画を1本保存できる状態になります。読者タイプに合わせて入口を選び、認証を通し、google-genai で生成して保存するところまでを、コピペできるコードと一緒に最短距離でたどっていきます。

内容をまとめると…

  • 入口は Gemini API と Vertex AI の2つ、選ぶ基準は個人開発か本番運用か

  • コードは google-genai に統一でき、違うのは最初のクライアント生成だけ

  • 生成は非同期なので完成を待ってから取り出す、生成物は2日で消えるので即保存

  • 画像から動画も同じ呼び出しに画像を1つ足すだけ

  • 料金は秒単価 × 秒数、用途と予算でモデルを選ぶ

きれいな画像を作れるようになっただけで、収益化できずに止まってませんか?

romptn ai では、実際に画像生成AIで稼いでいるプロを講師に招いた完全無料のAIクリエイターセミナーを開催しています。

2時間のオンラインセミナーで、実際に稼いでいる人が使う最新画像生成AIツールや上級者にステップアップするための必須スキルなどの知識面はもちろんのこと、ゼロから収益化を実現するための具体的なロードマップ体験談ベースで詳しく学ぶことができます。

また、豪華な無料参加特典も用意していますので、ぜひご興味を持った方はお気軽に下記のボタンから詳細をチェックしてみてください!

\ 現役の画像生成AIのプロから学べる! /

無料セミナーの詳細をみる
監修者_SD以外
監修者プロフィール
森下浩志
日本最大級のAI情報プラットフォーム「romptn ai」編集長。著書に「0からはじめるStable Diffusion」「0からはじめるStable Diffusion モデル・拡張機能集編」など、AmazonベストセラーのAI関連書籍を多数執筆。AIにおける情報の非対称性を解消するための社内研修や出張講義も行う。

この記事で動画を1本生成するまで

Veo は Google の動画生成モデルで、Web の管理画面からだけでなく API からも呼び出せます。この記事は、Veo がどんなモデルかはひと通り知っていて、これから自分のプログラムやスクリプトに動画生成を組み込みたい開発者に向けた実装ガイドです。

目指すゴールはシンプルで、API を叩いて手元に動画ファイル(mp4)を1本保存できるところまでを一気に進めます。進み方は次の通りです。

  • 自分に合う入口(Gemini API か Vertex AI か)を選ぶ
  • 認証とライブラリのインストールを済ませる
  • Python の google-genai で動画を生成し、ファイルとして保存する
  • 画像から動画を作る方法や、縦横比・尺などの指定を押さえる
  • モデルと料金、つまずきやすい落とし穴を確認する

Veo そのものの概要や料金プランの詳細、他モデルとの比較は別の記事で扱っているため、ここでは実装に集中します。

Gemini APIとVertex AIどちらを選ぶ

Veo を API から使う入口は2つあります。Google AI Studio が提供する Gemini API と、Google Cloud の Vertex AI です。どちらも同じ Veo モデルを動かせますが、始めやすさと運用のしやすさが違います。まずは自分がどちらに当てはまるかで選びましょう。

観点Gemini APIVertex AI
向いている人個人開発・試作・まず動かしたい業務システム・本番運用・チーム開発
認証API キー1本Google Cloud のプロジェクトと認証(ADC)
始めるまでの手数少ないやや多い(プロジェクト作成・権限設定)
課金Google AI Studio のアカウント単位Google Cloud の請求先に集約
データ統制シンプルリージョン指定や権限管理など企業向けの統制が可能
生成物の保存ダウンロードして保存Cloud Storage へ直接書き出しも可能

ざっくり言えば、まず手早く動かしたいなら Gemini API、本番運用や社内の統制が必要なら Vertex AI です。

うれしいことに、どちらを選んでもコードはほぼ共通にできます。Python の google-genai ライブラリを使えば、違うのは最初の接続(クライアント)の作り方だけで、動画を生成する呼び出し自体は同じです。この後のコードもこの方針で統一します。

事前準備と認証

まず両方の入口で共通して、Python から Veo を呼ぶためのライブラリを入れます。

pip install google-genai

ここからは入口ごとに認証を設定します。

Gemini API の場合 は、API キーを1つ用意して環境変数に入れるだけです。キーは Google AI Studio で発行できます。

export GEMINI_API_KEY="取得したAPIキー"

環境変数に GEMINI_API_KEY を入れておくと、この後のコードでクライアントが自動的に読み込みます。

Vertex AI の場合 は、Google Cloud のプロジェクトを使い、ローカルの認証情報(ADC=アプリケーションのデフォルト認証情報)を通します。次のコマンドでブラウザ経由でログインして認証します。

gcloud auth application-default login

加えて、使うプロジェクト ID とリージョン(例: us-central1)を控えておきます。これらはコードでクライアントを作るときに渡します。アカウントに Veo を使う権限(Vertex AI のロール)が付いているかも確認しておきましょう。

認証は最初の関門です。google-genai が入っているか、GEMINI_API_KEY が設定されているか、Vertex AI なら gcloud の認証が通っているか――この3点をここで確実に済ませておくと、この後のコードがそのまま動きます。

Gemini APIで動画を生成する

Gemini APIで動画を生成するの手順をまとめた図解
Gemini APIで動画を生成するの手順

それでは Gemini API で実際に動画を生成します。流れは「クライアントを作る → 生成をリクエストする → 完成を待つ → ファイルに保存する」の4ステップです。

import time
from google import genai

# GEMINI_API_KEY を環境変数から自動で読み込む
client = genai.Client()

prompt = "夕暮れの海辺を歩く犬。カメラはゆっくり横移動する"

# 生成をリクエストする
operation = client.models.generate_videos(
    model="veo-3.1-generate-preview",
    prompt=prompt,
)

# 完成するまで待つ(非同期の長時間処理)
while not operation.done:
    print("生成中...")
    time.sleep(10)
    operation = client.operations.get(operation)

# 生成された動画をダウンロードして保存する
generated_video = operation.response.generated_videos[0]
client.files.download(file=generated_video.video)
generated_video.video.save("output.mp4")

ここで一番つまずきやすいのが、動画生成がその場では終わらない点です。generate_videos を呼んだ直後のレスポンスには、まだ動画は入っていません。返ってくるのは「処理の受付票」のようなもの(operation)で、サーバ側では生成が続いています。そのため operation.doneTrue になるまで、数十秒〜数分おきに operations.get で状態を確認しながら待ちます。これが非同期の長時間処理(long-running operation)です。

完成したら files.download で動画の実体を取り寄せ、saveoutput.mp4 として書き出します。これで API から動画を1本生成できました。model に渡している veo-3.1-generate-preview が執筆時点での最新世代で、ほかにも選べるモデルがあります(後半の料金の章でまとめます)。

Vertex AIで動画を生成する

Vertex AI でもコードはほとんど同じです。違うのは最初のクライアントの作り方だけで、API キーの代わりにプロジェクト ID とリージョンを渡します。

import time
from google import genai

# Vertex AI に接続する(ここだけが Gemini API 版と違う)
client = genai.Client(
    vertexai=True,
    project="あなたのプロジェクトID",
    location="us-central1",
)

operation = client.models.generate_videos(
    model="veo-3.1-generate-preview",
    prompt="夕暮れの海辺を歩く犬。カメラはゆっくり横移動する",
)

while not operation.done:
    time.sleep(10)
    operation = client.operations.get(operation)

generated_video = operation.response.generated_videos[0]
client.files.download(file=generated_video.video)
generated_video.video.save("output.mp4")

genai.Client(vertexai=True, project=..., location=...) に変えるだけで、あとの generate_videos・完成待ち・保存の部分は Gemini API 版とそっくりそのまま使えます。これが google-genai でコードを統一できる利点です。

内部的には、Vertex AI は predictLongRunning という REST エンドポイントに非同期でリクエストを送り、返ってきた処理 ID を使って完成を確認しています。ライブラリを使えばこの仕組みを意識せずに書けますが、REST を直接叩いて本番のワークフローに組み込みたい場合の入口として覚えておくとよいでしょう。

画像から動画を生成する

テキストからではなく、手元の画像を動かしたい(image-to-video)場合も、これまでのコードがほぼそのまま使えます。入力する画像を読み込み、generate_videosimage として渡すだけです。

from google.genai import types

# 手元の画像ファイルを読み込む
image = types.Image.from_file(location="input.png")

operation = client.models.generate_videos(
    model="veo-3.1-generate-preview",
    prompt="波が打ち寄せる様子をゆっくり動かす",
    image=image,
)

完成を待ってダウンロードする部分は、テキストから生成するときと同じです。Gemini API でも Vertex AI でも、追加するのは画像の読み込みと image の指定だけという点も変わりません。

なお、画像を起点にする場合は生成される尺に制約が出ることがあります。執筆時点では、被写体となる画像を渡すと veo-3.1-generate-preview は8秒の動画を返す挙動になっています。狙った長さにならないときは、この仕様を思い出してください。

主なパラメータの指定方法

generate_videos には、仕上がりを調整するためのパラメータをいくつか渡せます。主なものは次の通りです。

パラメータ役割指定できる値(執筆時点)
aspect_ratio縦横比16:9(横長・既定) / 9:16(縦長)
resolution解像度720p(既定) / 1080p / 4k
duration_seconds尺(秒)4 / 6 / 8
person_generation人物生成の許可allow_all(テキストから生成する場合のみ)

たとえばスマホ向けに縦長で長めの動画を作るなら、config にまとめて指定します。

from google.genai import types

operation = client.models.generate_videos(
    model="veo-3.1-generate-preview",
    prompt="ネオン街を歩く猫",
    config=types.GenerateVideosConfig(
        aspect_ratio="9:16",
        resolution="1080p",
        duration_seconds=8,
    ),
)

解像度や尺を上げるほど、次の章で扱う料金(秒単価 × 秒数)も上がります。用途に対して過剰なスペックになっていないかを生成前に見直すと、コストを抑えられます。

モデルと料金の比較表

ここまで veo-3.1-generate-preview を使ってきましたが、Veo には用途と予算に応じて選べる複数のモデルがあります。代表的なモデル ID と、API の料金(1秒あたり・音声込み)は次の通りです。料金や提供状況は変わりやすいので、最新の正確な数値は必ず公式の料金ページで確認してください。

モデル ID位置づけ秒単価の目安(執筆時点)
veo-3.1-generate-preview標準・最新720p/1080p で $0.40、4k で $0.60
veo-3.1-fast-generate-preview速度重視720p $0.10 / 1080p $0.12 / 4k $0.30
veo-3.1-lite-generate-preview低コスト720p $0.05 / 1080p $0.08
veo-3.0-generate-0011世代前の標準$0.40
veo-3.0-fast-generate-0011世代前の速度重視720p $0.10 / 1080p $0.12 / 4k $0.30
veo-2.0-generate-001安定版$0.35

選び方の目安としては、品質を最優先するなら標準、コストを抑えて数を試したいなら Lite、その中間が Fast、という関係です。Lite の秒単価は標準のおよそ数分の一に収まるので、試作段階でたくさん回すなら Lite が現実的です。

料金は秒単価 × 動画の秒数で見積もれます。たとえば8秒の動画なら、秒単価を8倍した額が1本あたりのおおよそのコストです。解像度を上げると秒単価も上がるので、必要な画質と尺のバランスで選びましょう。

つまずきやすいポイント

最後に、公式ドキュメント通りに書いても引っかかりやすい落とし穴を3つ挙げておきます。

1. 生成した動画は数日で消える
生成された動画はサーバ上に2日間だけ保持され、その後は削除されます。「後でまとめてダウンロードしよう」と放置すると、取り出せなくなることがあります。生成が終わったら、その場で `files.download` して手元やストレージに保存するのを習慣にしてください。

2. リクエスト直後のレスポンスに動画は入っていない
動画生成は非同期の長時間処理です。呼び出した直後に動画を取り出そうとすると「動画がない」と混乱します。必ず operation.doneTrue になるまで待ってから取り出してください。

3. 認証の入口を取り違える
Gemini API は GEMINI_API_KEY、Vertex AI は gcloud の認証(ADC)とプロジェクト指定、と認証方法が別物です。片方の手順でもう片方を動かそうとすると最初から動きません。エラーが出たら、自分が選んだ入口に対応した認証になっているかをまず確認しましょう。

よくある質問

Q
Gemini API と Vertex AI でコードは書き直す必要がありますか?
A

ほとんど書き直す必要はありません。google-genai を使う場合、違うのは接続(クライアント)の作り方だけです。Gemini API は genai.Client()、Vertex AI は genai.Client(vertexai=True, project=..., location=...) と書き分け、動画を生成する generate_videos 以降の処理は共通で使えます。

Q
生成リクエストのレスポンスに動画が含まれないのはなぜですか?
A

動画生成が非同期の長時間処理だからです。generate_videos を呼んだ直後に返るのは処理の受付情報で、動画本体はまだ生成中です。operation.doneTrue になるまで operations.get で待ってから、動画を取り出してください。

Q
生成した動画はいつまでサーバからダウンロードできますか?
A

執筆時点では、生成された動画はサーバ上に2日間保持され、その後削除されます。生成が完了したら早めに files.download でダウンロードし、手元やクラウドストレージに保存しておくのが安全です。

Q
image-to-video にするにはコードのどこを変えればよいですか?
A

generate_videos の呼び出しに image を1つ追加するだけです。テキストから生成するコードに image=... を足せば、画像を起点にした動画生成になります。完成を待って保存する流れは同じです。

Q
どのモデル ID を最初に使えばよいですか?
A

まずは標準・最新の veo-3.1-generate-preview から試すのがおすすめです。コストを抑えて回数を試したい場合は低コストの Lite 系、速度を重視するなら Fast 系に切り替えるとよいでしょう。具体的なモデル ID と料金は前の章の表を参照してください。

まとめ

Veo の API は、Python の google-genai を使えば想像よりずっと手早く組み込めます。要点を振り返ります。

  • 入口は2つ。手早く始めるなら Gemini API、本番運用や社内統制が必要なら Vertex AI
  • コードは共通化でき、違うのはクライアントの作り方だけ
  • 生成は非同期なので完成を待ってから取り出す。生成物は2日で消えるので早めに保存する
  • モデルと料金は用途と予算で選ぶ。秒単価 × 秒数でコストを見積もる

まずは pip install google-genai と認証を済ませ、veo-3.1-generate-preview でテキストから動画を1本生成してみてください。動けば、画像からの生成やパラメータ調整もすぐに応用できます。

Veo そのものの概要や料金プラン、他モデルとの比較を改めて確認したい場合は、関連記事も参考にしてください。

実際に稼いでいる人の画像生成AIのスキルと収益化方法を知っていますか?

romptn ai が開催する完全無料のAIクリエイターセミナーでは、現場で活躍するプロから下記のような内容を学べます。

  • ゼロから画像生成AIで収益化を達成するための具体的なロードマップ
  • 実績のある講師が実践する初心者を脱出するための必須スキルと最新ツール
  • Nano Banana や Grokなどスマホからでもできる本格的な画像生成AI活用方法
  • 広告画像や映像など実際の制作過程をイメージするための講師によるライブデモ

2時間のオンラインセミナーで、ただ画像生成AIや動画生成AIの上級スキルや最新ツールを知るだけでなく、実際に収益化を達成する一歩を踏み出すための必須知識を学ぶことができます。

沖
講師 沖@画像生成
画像生成クリエイター Xフォロワー 5.5万人 romptn ai 監修者
  • 大手企業6社と契約実績(TOYOTA, mercari, 伊藤園 等)
  • AI映画制作3本、WORLD AI FILM FESTIVAL 2026 in KYOTO にて2冠達成
  • Best AI Anime 受賞
  • Japan Best AI Film(グランプリ)受賞(応募431作品中)
  • 経歴:元WEBデザイナー・マーケター → 2023年に生成AIと出会い転身 → プロのAIクリエイターへ
受付中 完全無料 先着限定 オンライン

本物のプロとハンズオン形式で学ぶ2026年版画像生成AI最前線セミナー

セミナー内容詳細をみる 今すぐ予約する方もこちら
画像生成AIのプロから無料で学べる! クリエイターセミナーの詳細をみる