Gemini APIのFile APIとは|使い方・保存期間・料金

Gemini APIのFile APIとは|使い方・保存期間・料金
📅 公開日: 2026年9月29日🔄 最終更新: 2026年10月1日

Gemini APIには、画像・音声・動画・文書などのメディアファイルをアップロードして、あとからモデルへの入力として参照できる「Files API」という仕組みがあります。公式ページによると、Files APIを使うとプロジェクトごとに最大20GB、1ファイルあたり最大2GBのファイルを保存でき、保存期間は48時間、利用そのものに料金はかからないと明記されています(ai.google.dev「Files API」)。テキストプロンプトに直接埋め込むと重くなりがちな大きめのPDFや動画を扱うときに使う機能で、リクエスト全体が100MBを超える場合や、PDF単体で50MBを超える場合は使用が前提になります。この記事では、Files APIを使うべき場面、アップロードから利用・削除までの流れ、保存条件と料金、他のGemini API機能との組み合わせ方を、公式ページの記載に沿って整理します。SNS運用やコンテンツ制作でAIツールを組み合わせて使っている方が、開発者向けのGemini APIで「大きめの資料をどう渡せばよいか」を把握する際の下調べとしても使える内容です。

目次

Gemini APIのFile API(ファイルAPI)とは|複数の種類のファイルを同時に扱う仕組み

【完全無料】AI×SNSで成果を出す100大特典を受け取る

AIの使い方を、SNS運用の実務につなげたい方へ。LINEで特典の案内を受け取れます。

【完全無料】AI×SNSで成果を出す100大特典を受け取る

Files APIとは、Gemini APIにメディアファイルをアップロードし、テキスト・画像・音声などを同時に入力として使えるようにする仕組みです。

公式ページには「Gemini can handle various types of input data, including text, images, and audio, at the same time」と記載されており、Files APIを使うことで、音声ファイル・画像・動画・文書といった複数の種類のファイルを同じ手順でアップロードし、モデルへの入力として扱えるようになります(ai.google.dev「Files API」)。基本的な操作方法はファイルの種類によって変わらず、同じアップロード手順を音声・画像・動画・文書のいずれにも使える点が特徴です。

Gemini APIの基本的な呼び出し方や無料枠の考え方をまだ確認していない場合は、先にGoogle AIの使い方ガイドで全体像を押さえておくと、Files APIがどの工程で使われる機能かが分かりやすくなります。

Files APIを使うべき場面|リクエストが100MBを超える時とPDFは50MB

Files APIは、リクエスト全体が100MBを超える場合、またはPDF単体で50MBを超える場合に使用が前提となる機能です。

公式ページは「Always use the Files API when the total request size (including the files, text prompt, system instructions, etc.) is larger than 100 MB. For PDF files, the limit is 50 MB」と説明しています(ai.google.dev「Files API」)。つまり、テキストプロンプトの中に直接ファイルの内容を埋め込む方法(インライン送信)には上限があり、それを超える場合はFiles APIでアップロードしてからURIを渡す必要があります。

下の表は、公式ページの記載に基づいた3つの目安をまとめたものです。

状況 Files APIの必要性 公式ページの記載
リクエスト全体(ファイル・テキストプロンプト・システム指示など)が100MBを超える 使用が前提 total request size が100 MBを超える場合は常にFiles APIを使う
PDFファイル単体で50MBを超える 使用が前提 PDFファイルの上限は50 MB
音声・画像・動画・文書などをまとめて同じ入力に使いたい 基本操作が共通で扱いやすい 音声・画像・動画・文書で基本操作が同じ

大きめの動画ファイルや長いPDF資料をそのまま貼り付けようとして送信に失敗した経験がある場合、この上限に達していたことが原因である可能性があります。似た文脈で、Pythonコードを実行しながらファイルを読み書きするGemini APIの機能を確認したい場合は、Code Executionのファイル入出力(I/O)の解説もあわせて参照してください。

アップロードから利用までの流れ|files.uploadで受け取ったURIを渡す

Files APIの基本的な流れは、files.uploadでファイルをアップロードし、返されたURIをモデルへの入力に渡すという手順です。

公式ページのコード例では、ファイルをアップロードするとファイルのURIとMIMEタイプが返され、それをテキストの指示と一緒にモデルへの入力として渡す構成が示されています。アップロードが完了すると、そのファイルはFiles API上に保存された状態になり、以後は同じURIを指定するだけで、あらためてファイルの中身を送り直す必要がありません。

仮の例として、30ページ程度の契約書PDFをアップロードし、「要点を3つにまとめてください」という指示だけを送るケースを考えます。この場合、PDFの全文をプロンプトに貼り付ける必要はなく、アップロード時に受け取ったURIとMIMEタイプを指示文と一緒に渡すだけで、モデルはファイルの内容を読み込んで回答します。同じファイルについて別の質問を続けたいときも、48時間以内であれば同じURIを使い回せます。

一度にまとめて大量のファイルを処理したい場合は、アップロード済みのファイルのURIを指定して非同期のリクエストを送るGemini Batch APIの使い方と組み合わせる構成も検討できます。

公式ページのREST経由のサンプルでは、アップロードを「resumable(再開可能)」なアップロード方式で行う2段階の手順が示されています。最初にファイルサイズやMIMEタイプ、任意で付けられるdisplay_name(表示名)をヘッダーとリクエスト本文に含めてアップロード用のURLを受け取り、そのURLに対して実際のファイルのバイト列を送る、という流れです。途中でアップロードが途切れても再開できるように設計されている点が、resumableという名前の由来になっています。

保存できる容量の上限|プロジェクト全体20GB・1ファイル2GB

Files APIでは、プロジェクトごとに最大20GB、1ファイルあたり最大2GBまでファイルを保存できます。

公式ページには「The Files API lets you store up to 20 GB of files per project, with a per-file maximum size of 2 GB」と明記されています(ai.google.dev「Files API」)。日本語版のページでも同じ数値(プロジェクトごとに最大20GB、ファイルごとの最大サイズ2GB)が記載されており、英語版・日本語版で相違はありません。プロジェクト単位の上限であるため、複数のファイルを並行してアップロードしている場合は、合計サイズが20GBに収まっているかを意識する必要があります。

保存期間は48時間|自動削除の仕組みと手動削除

アップロードしたファイルは48時間で自動的に削除され、files.deleteで手動削除することもできます。

公式ページは「Files are automatically deleted after 48 hours. You can also manually delete an uploaded file」と説明しています(ai.google.dev「Files API」)。つまり、削除を意識しなくても48時間後には自動的に消える一方で、機密性の高い資料などをすぐに消したい場合はfiles.deleteで手動削除できる、という2段構えの仕組みになっています。継続的に同じファイルを使い続けたい場合は、48時間が経過する前に再アップロードするか、後述するコンテキストキャッシュのような別の仕組みと組み合わせて検討する必要があります。

下の表は、保存容量と保存期間、料金に関する公式ページの記載を4項目にまとめたものです。

項目 公式ページの記載
プロジェクト全体の保存容量 最大20GB
1ファイルあたりの最大サイズ 最大2GB
保存期間 48時間で自動削除(手動削除も可能)
保存にかかる料金 Gemini APIが利用できる全リージョンで無料

Files APIの利用料金|保存は無料、File searchとは別の仕組み

Files APIによるファイルの保存自体は無料で、モデルにファイルを読み込ませて処理する分だけ通常のトークン料金が発生します。

公式ページには「The Files API is available at no cost in all regions where the Gemini API is available」と記載されています(ai.google.dev「Files API」)。ここでいう無料は「ファイルを保存すること」自体の料金であり、アップロードしたファイルの内容をモデルに読み込ませて処理させる際には、通常のモデル利用と同じトークン単位の料金がかかります。適用条件やモデル別の単価はGemini API料金の読み方2026で確認できます。

なお、ai.google.dev「Gemini API 料金」のページには、Files APIとは別に「File search」という検索・埋め込み用のツールが並んで掲載されています。同ページの記載によると、File searchの埋め込み処理は2026年12月31日まで100万トークンあたり0.075ドル(2027年1月1日から0.15ドル)、保管料金は1時間あたり100万トークンごとに0.50ドル(2027年1月1日から1.00ドル)と、期間ごとに異なる単価が設定されている別立ての機能です。この記事で扱っているファイルの保存・参照そのものを行うFiles APIの無料枠とは扱いが異なるため、混同しないよう注意してください。

また、ここで解説しているのはあくまで開発者向けのGemini API上の話であり、ブラウザやアプリから使う消費者向けのGoogle AIプラン(Plus・Pro・Ultraなど)がアプリ内で提供しているアップロード容量とは別の仕組みです。両者の違いはGoogle AIプランの違い|Plus/Pro/Ultraの選び方で解説しています。

アップロード済みファイルのメタデータ確認|files.getとfiles.listの使い分け

アップロードしたファイルのメタデータはfiles.getで個別に、files.listで一覧として確認できます。

公式ページには「You can verify that the API successfully stored the uploaded file and get its metadata by calling files.get」と記載されています(ai.google.dev「Files API」)。files.getはファイル名を指定してそのファイルのメタデータを取得する呼び出しで、アップロードが正しく完了したかどうかを確認する用途に使います。複数のファイルをまとめて確認したい場合は、一覧表示用の呼び出しでページサイズを指定しながら取得する構成になっています。

コマンドラインから同じFiles APIの操作を試したい場合は、Gemini CLIの使い方で、ブラウザやコードを書かずにファイルの状態を確認する方法も紹介しています。

Files APIでモデルを呼び出す方法|URIとMIMEタイプを渡す

アップロード後は、ファイルのURIとMIMEタイプをテキストの指示と一緒にモデルへの入力として渡します。

公式のコード例では、ファイルをアップロードした後、”type”: “audio”(または画像・動画などの種類)と “uri”、”mime_type” をまとめて1つの入力として渡す構成が示されています。テキストの指示文とファイルの参照情報を同じ入力の中に並べて送ることで、モデルはファイルの内容を踏まえた回答を返します。

アップロードしたファイルから抽出した情報を、あらかじめ決めた項目名や型に沿って受け取りたい場合は、Gemini APIの構造化出力とはと組み合わせる構成が使えます。たとえば請求書PDFをアップロードし、金額や日付といった項目をあらかじめ指定したJSONの形で受け取るような使い方です。逆に、ファイルの内容を踏まえて外部の関数やシステムを呼び出したい場合は、Gemini APIのFunction Calling入門で仕組みを確認してください。

アップロードしたファイルは自分でダウンロードできない|生成物との違い

ユーザーがアップロードしたファイル自体はダウンロードできず、モデルが生成したファイルだけがfiles.downloadで取得できます。

公式ページには「you can’t download user-uploaded files. You can download files generated by models, such as videos, using the files.download method」と明記されています(ai.google.dev「Files API」)。つまりFiles APIは、アップロードしたファイルをクラウド上のストレージのように後から取り出す用途には向いておらず、あくまで「モデルへの入力として一時的に参照するための保管場所」という位置づけです。手元の元ファイルは、自分のPCやドライブなど別の場所に保管しておく必要があります。バックアップ用途や、後から元ファイルをそのまま取り出したい用途で使う場合は、Files APIとは別に、自分の手元やクラウドストレージ側にも元ファイルを残しておくことが前提になります。

Files APIでのマルチモーダルなプロンプト設計のコツ|画像は先に、指示は具体的に

Files APIでアップロードした画像や動画を使うときは、指示を具体的にし、単一の画像はテキストより先に置くと結果が安定しやすくなります。

公式ページの「File prompting strategies」には、マルチモーダルな入力を使う際のコツがまとめられています。特に画像1枚で指示する場合は画像を先に置く(Put your image first)という項目では、「While Gemini can handle image and text inputs in any order, for prompts containing a single image, it might perform better if that image (or video) is placed before the text prompt」と説明されています(ai.google.dev「Files API」)。画像とテキストが交互に絡み合う必要がある構成では、この順序にこだわらず自然な順番で問題ないとも補足されています。

下の表は、公式ページが挙げている5つのコツをまとめたものです。

コツ 公式ページの説明
指示を具体的にする 誤解の余地が少ない、明確で簡潔な指示を書く
具体例を添える 実際に近い少数の例を示して、やりたいことを伝える
手順を分割する 複雑な作業を小さな目標に分け、順番に進めるよう促す
出力形式を指定する Markdown・JSON・HTMLなど、欲しい出力形式を明示する
単一画像は先に置く 画像1枚だけを送る場合、画像をテキストより前に置く

出力が思ったより一般的な内容になってしまう場合は、先に画像や動画についての説明を求めてから本来の指示を出す、という順序の工夫も公式ページで紹介されています。うまく結果が得られないときは、温度設定を下げて出力を短くするよう指示する方法も有効だとされています。

NotebookLMやLive APIとの違い|同じ「ファイルを渡す」でも仕組みが異なる

NotebookLMやLive APIは、Files APIとは別の仕組みでファイルや音声・映像を扱うため、混同しないように区別する必要があります。

「Gemini にファイルをアップロードする」という操作は、実は複数の別サービスにまたがって存在します。この記事で解説しているのは、開発者がGemini APIを直接呼び出す際に使うFiles APIですが、資料をアップロードして要約や質問に使うNotebookLMは、独自のソース管理を持つ別サービスであり、この記事のFiles APIとは仕組みが異なります。NotebookLM側の資料管理についてはNotebookLMの使い方で解説しています。

また、音声や映像をリアルタイムでやり取りするLive APIも、Files APIとは別の仕組みです。Live APIは事前にファイルをアップロードして保存するのではなく、通話のように音声・映像のデータを直接やり取りする設計になっており、この点はFiles APIの「一度アップロードして48時間参照する」という使い方とは前提が異なります。詳しくはGemini Live APIとはを参照してください。

他のGemini API機能との組み合わせ|Code Execution・Batch API・構造化出力・コンテキストキャッシュ

Files APIは単独でも使えますが、Code ExecutionやBatch API、コンテキストキャッシュなど他の機能と組み合わせることで活用の幅が広がります。

大きめの資料を何度も参照しながら質問を繰り返したい場合、48時間の保存期間だけでは足りないこともあります。そうした場面では、アップロードしたファイルの内容を踏まえたやり取りを効率化するGemini APIのコンテキストキャッシュとはの仕組みも合わせて確認しておくと、同じ内容を何度も送り直すコストを抑えやすくなります。

このように、Files APIは「ファイルを一時的に保管して参照する」という基本機能に特化しており、要約・抽出・実行・キャッシュといった具体的な処理は、それぞれ専用の機能と組み合わせて実現する、という設計になっています。どの機能を組み合わせるかは、扱うファイルの大きさや、同じファイルを何回参照したいかによって選ぶのが分かりやすい基準です。たとえば、一度だけファイルの内容を確認したいなら通常のアップロードで十分ですが、同じ資料を何十回も参照しながら質問を重ねる用途では、コンテキストキャッシュと組み合わせたほうがトークンの送信量を抑えやすくなります。逆に、アップロードしたファイルの内容をきっかけに別のシステムを動かしたい場合は、Function Callingとの組み合わせを検討する、という切り分けです。

よくある質問(FAQ)

Q1. Files APIとFile searchは同じ機能ですか。
いいえ、別の機能です。Files APIはファイルをアップロードして一時的に保存・参照するための仕組みで、保存自体は無料です。一方のFile searchは埋め込み処理と保管に個別の料金が設定された検索用のツールで、ai.google.dev「Gemini API 料金」のページ上でもFiles APIとは別の項目として掲載されています。詳しい単価はGemini API料金の読み方2026と料金ページ本文を確認してください。
Q2. アップロードしたファイルは何時間で消えますか。
公式ページの記載どおり、48時間で自動的に削除されます。それより早く削除したい場合は、files.deleteを使って手動で削除することもできます。
Q3. 1つのプロジェクトで保存できる容量に上限はありますか。
あります。公式ページには、プロジェクトごとに最大20GB、1ファイルあたり最大2GBという上限が明記されています。
Q4. PDFファイルはそのままプロンプトに貼り付けられますか。
貼り付け自体は可能ですが、PDF単体で50MBを超える場合、または他のファイルやテキストと合わせたリクエスト全体が100MBを超える場合は、Files APIの利用が前提になります。
Q5. アップロードしたファイルは自分でダウンロードし直せますか。
できません。公式ページには、ユーザーがアップロードしたファイル自体はダウンロードできないと明記されています。モデルが生成した動画などのファイルであれば、files.downloadで取得できます。
Q6. NotebookLMにアップロードした資料も、このFiles APIで管理されますか。
されません。NotebookLMは独自のソース管理を持つ別サービスであり、この記事で解説しているGemini APIのFiles APIとは異なる仕組みです。
Q7. Files APIの利用に追加費用はかかりますか。
ファイルの保存自体は無料と公式ページに明記されています。ただし、アップロードしたファイルの内容をモデルに読み込ませて処理する分については、通常のモデル利用と同じトークン単位の料金が発生します。
Q8. アップロード時にファイルへ名前を付けることはできますか。
できます。公式ページのRESTサンプルでは、アップロード開始時のリクエストにdisplay_name(表示名)を含める例が示されています。ファイル自体の識別に使われるURIとは別に、人が見て分かりやすい名前を付けておくと、files.listで一覧を確認するときに見分けやすくなります。

まとめ|Files APIは「大きいファイルを一時的に渡す」ための機能

Gemini APIのFiles APIは、リクエスト全体が100MBを超える場合やPDFが50MBを超える場合に使用が前提となる、ファイルの一時的な保管・参照機能です。プロジェクトごとに最大20GB、1ファイルあたり最大2GBまで保存でき、保存期間は48時間、保存そのものの料金はかかりません。files.uploadでアップロードしたファイルはURIとMIMEタイプを介してモデルへの入力に使い、files.get・files.listで状態を確認し、48時間を待たずに消したい場合はfiles.deleteで手動削除できます。NotebookLMやLive APIとは別の仕組みである点、File searchとは料金の扱いが異なる点を区別しておくと、目的に合った機能を選びやすくなります。

このサイトは株式会社S.Lineが運営しています。記事内の店舗予約・LINE登録・講座の案内には、当社または当社が集客を担当するサービスの広告(PR)が含まれます。
本記事は公式情報・専門メディアを参考に執筆しています。最新の正確な情報は引用元の公式ページをご確認ください。

この記事を書いた人

株式会社S.Line 代表取締役。偏差値39から起業し、AIとSNSの活用で「普通の人」が成果を出す方法を発信。

目次