◉ANTIGRAVITY LABEN
記事一覧/連携・プラグイン
⬡ 連携・プラグイン/2026-04-24上級

Antigravity × Gemini File API で長時間メディアを AI に読ませる実装ガイド — 動画・音声・PDFの要約とハイライト抽出パイプライン

Gemini File API を活用し、1時間を超える動画・音声・PDFを Antigravity のエージェントから扱う本格運用ガイド。アップロード設計、タイムスタンプ付きハイライト抽出、保持期間・コストの扱いまで実装レベルで解説します。

Antigravity386Gemini File API動画AI音声AIPDF要約マルチモーダルPython19

✦ プレミアム記事

「3時間の会議録音をまるごと要約したい」「2時間の講義動画からスライド切り替わりのタイムスタンプだけ抜き出したい」——Antigravity でエージェントを書いていると、こういう要件に必ず突き当たります。

ところが、いざ実装に入ると最初の壁は「そもそもこの長さのメディアを、どうやって Gemini に渡すのか」です。base64 で丸ごと embed することはできず、かといってストリームで流すわけにもいきません。答えは Gemini File API なのですが、公式ドキュメントには各エンドポイントの仕様は書いてあっても、「実戦でどう組むか」までは踏み込まれていません。

私は過去半年で、自分の制作ログや公演記録、ASMR 配信の元音源などを AI に読ませるためのパイプラインを、Antigravity 上で何度も作り直してきました。その過程で、File API を単なるアップローダとして使うと高確率で破綻することも、タイムスタンプ付き出力を安定させるには出力スキーマ設計が9割だということも、身をもって学びました。ここではその実装知をまるごと共有します。

この記事で作るもの

完成形はシンプルです。ローカルの動画・音声・PDF を 1 本の Python スクリプトに渡すと、次の JSON が返ってくる構造です。

  • 全体要約(400〜600 文字)
  • 章立て(タイムスタンプ + 章タイトル + 章要約)
  • ハイライト(「このシーンは必見」をタイムスタンプ付きで 5〜10 件)
  • 出典トークンの使用量とコスト(USD / JPY)

これを Antigravity のエージェントから呼び出せるようにしておけば、「長い動画を見る」という作業そのものがエージェントのタスクに変わります。私の場合、週末に録った制作メモ動画を自動で議事録化する用途で使っていますが、ひとつのパイプラインで用途は無限に広がります。

Gemini File API の位置づけ — なぜ必要なのか

Gemini を API から使うとき、プロンプトに画像や音声を混ぜる方法は大きく分けて 3 つあります。

  • インライン埋め込み: base64 で encode してリクエスト本体に含める方法。数十 MB 以下の画像や短い音声ならこれで十分です
  • File API 経由: 一度 Google 側にファイルをアップロードし、返ってきた URI をプロンプトに渡す方法。数百 MB〜GB クラスのメディアや、同一ファイルを何度も推論に使い回したいときに有効です
  • YouTube URL 直接参照: 公開 YouTube 動画なら URL を直接渡せる専用パスもありますが、これは自前コンテンツには使えません

長時間メディアを扱うときに実質選択肢になるのは File API 経由だけです。インライン埋め込みは 20 MB 程度のソフト上限があり、1 時間以上の音声を載せようとするとほぼ確実にリクエストが弾かれます。File API は最大 2 GB(2026 年 4 月時点)まで受け付け、48 時間保持され、同じファイルを何度もプロンプトで参照できます。

私の感覚では、手元の MP4 が 150 MB を超えたら迷わず File API、という運用が最も安定します。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦「3時間の会議録音を AI に丸ごと読ませたいが、トークン上限とアップロード方式で詰まっていた」読者が、動くパイプラインを今日構築できます
✦タイムスタンプ付きハイライト抽出・章立て自動生成・失敗時の安全なリトライまで、本番で必要な設計パターンをコード付きで一通り習得できます
✦会議録音の議事録化・教材動画の検索インデックス化・長時間講演のダイジェスト生成といった実ビジネス用途にそのまま応用できる知識を持ち帰れます
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

⬡ 連携・プラグイン2026-09-20
10月5日に止まる antigravity-preview-05-2026、差し替えで済む構成と済まない構成
antigravity-preview-05-2026 の停止日が10月5日に決まりました。公式が示すのは日付と後継名だけです。output_text だけを読む構成なら差し替えで終わり、steps を読む構成なら改修が要ります。その分かれ目を切り替え前に確かめる手順です。
⬡ 連携・プラグイン2026-09-18
MCP が欠けたまま始まったセッションを、どこで止めるか
MCP サーバーの初期化に失敗したまま始まったセッションで、エージェントは黙って別の手段に落ちます。ツールが本当に見えているかを手元で確かめる小さなスクリプトと、欠けていたときに取る三つの分岐をあらかじめ決めておく話です。
⬡ 連携・プラグイン2026-08-03
サーバーごとに秒数を書く前に測ったこと — MCP の接続と呼び出しは 486 倍違っていました
2.4.3 で MCP サーバーごとにタイムアウトの秒数を指定できるようになりました。何秒が妥当かを決めるために stdio サーバーを自作して境界別に実測し、単一の値では覆えない理由と、いま設定に書いている値の決め方をまとめます。