2026年1月12日、Google は Gemini API の開発者向けアップデートを公開し、モデルへのファイル取り込み方法とファイルサイズ上限が変更されました。要点は次のとおりです:Gemini は外部リンクやクラウドストレージから直接ファイルを取得できるようになり(常にアップロードする必要はありません)、インラインファイルのサイズ上限が大幅に引き上げられました。これらの更新は、既にクラウドバケットにメディアやドキュメントを保存している実アプリの摩擦を取り除き、短期のプロトタイピングや本番ワークフローをより高速かつ低コストにします。
CometAPI は、Gemini 3 Pro や gemini 3 flash といった Gemini API を提供しており、魅力的な価格です。
主要なアップデート — Gemini API の新機能は?
- 外部ファイルリンクを直接読み込み
— Gemini は次からファイルを取得できます:- 公開 HTTPS URL と 署名付きURL(S3 の事前署名付きURL、Azure SAS など)。
- Google Cloud Storage (GCS) のオブジェクト登録(GCS オブジェクトを一度登録して再利用)。
- インラインファイルサイズの増加 — インライン(リクエスト内)ペイロードの上限が 20 MB → 100 MB に拡張(注:PDF など一部のファイルタイプは、ドキュメントに記載のとおり実効上限がわずかに異なる場合があります)。
- 非常に大きなファイル向けの Files API とバッチのガイダンスは変更なし — 再利用を想定するファイルやインライン/外部リンクの上限を超えるファイルには、引き続き Files API を使用します(ファイルあたり最大 2 GB、プロジェクトは 20 GB までの Files API ストレージを保持可能。アップロードされたファイルはデフォルトで48時間保存)。GCS の登録も大きなファイル(ファイルあたり 2 GB)をサポートし、再利用のために登録できます。
- モデル互換性に関する注意事項 — 一部の旧世代モデルファミリや特殊な派生モデルでは、サポートが異なる場合があります(ドキュメントには、特定の Gemini 2.0 ファミリモデルにおける一部の file-URI ワークフローなどの例外が記載されています)。大きなアセットを送信する前に、必ずモデル固有のドキュメントを確認してください。
Gemini API のファイル取り扱い機能の変更が重要な理由
このアップデート以前は、Gemini API(Google の AI モデル)に PDF レポート、動画、音声ファイル、画像などのファイルを解析させたい場合、まずファイルを Gemini の一時ストレージへアップロードする必要がありました。
そして:
- アップロードしたファイルは48時間後に削除される
- ファイルは大きすぎてはいけない(最大 20MB)
- すでにクラウド(GCS、S3、Azure など)にホストされているファイルでも、再アップロードが必要 — 非常に不便
これは開発者の負担を倍増させ、帯域コストを増加させ、レイテンシを生み、長時間録音、複数ページのマニュアル、高解像度画像といった実運用のユースケースを非現実的にすることもありました。より大きなインラインペイロードと、既存ストレージを直接参照できる能力(公開/署名付きURL、または登録済みの GCS オブジェクトにより)を組み合わせることで、「データ」から「有用なモデル出力」までの距離が劇的に短縮されます。
- ゼロコピーの効率性: Gemini が既存のストレージバケット(GCS)や外部 URL(AWS S3、Azure)から直接読み取れるようになったことで、「ETL の税金」を排除できます。バックエンドサーバーに一度ダウンロードしてから再度 Google にアップロードする必要はありません。モデルがデータのある場所へ行きます。
- ステートレスなアーキテクチャ: インライン上限が 100MB に引き上げられたため、より強力な「ステートレス」リクエストが可能です。ファイル ID のライフサイクル管理や、やり取りごとに古いアップロードのクリーンアップを気にする必要がありません。
- マルチクラウドアグノスティック: 署名付きURLのサポートにより、AWS や Azure にホストされたデータレイクともスムーズに連携できます。マルチクラウド戦略を持つ企業にとって、データをすべて Google Cloud に移行せずとも Gemini の推論能力を活用できるのは大きなメリットです。
- 動画、音声、文書理解といったマルチモーダル AI アプリケーションに適しています。
これらのアップデートはデータ取り込みプロセスを大幅に簡素化し、クラウドやネットワーク上の既存データへ直接アクセスして Gemini に渡せるようにし、追加のアップロード手順を不要にします。
もっと恩恵を受けるのは誰?
- ドキュメント中心の機能(要約、マニュアルに対する Q&A、契約レビュー)を構築するプロダクトチーム
- 既にクラウドに保存された画像・音声・動画アセットを解析する メディア/エンターテインメント アプリ
- GCS に大規模なデータレイクを持ち、複製ではなく正本のコピーを参照させたい 企業
- 複雑なストレージパイプラインを構築せずに、より大きく実世界のデータセットで素早く試作したい 研究者とエンジニア
要するに、プロトタイプから本番までがより簡単で安価になります。
現在 Gemini API にアップロードできるファイルサイズは?
見出しの数字は即時容量の5倍増ですが、真価は柔軟性にあります。
さまざまな方法で、今 Gemini API にどれくらいの大きさのファイルをアップロードできる?
- リクエスト内のインライン(base64 または Part.from_bytes): 最大 100 MB(PDF 特有のワークフローでは 50 MB の場合あり)。シンプルな単一リクエストで、ファイルが ≤100 MB のときに使用。
- 外部 HTTP / 署名付きURL を Gemini がフェッチ: 最大 100 MB(処理中に Gemini が URL を取得)。外部クラウドからの再アップロードを避けるために使用。
- Files API(アップロード): ファイルあたり最大 2 GB、プロジェクトの Files ストレージは 最大 20 GB、ファイルは48時間保存。100 MB のインライン/外部リンク上限を超えるファイルや再利用する大型ファイルに使用。
- GCS オブジェクト登録: オブジェクトあたり最大 2 GB をサポートし、Google Cloud に既にホストされた大きなファイル向け。登録により再利用が可能。ワンタイム登録で期限付きアクセスを付与できます。
(どれを選ぶかは、ファイルサイズ、再利用頻度、既にクラウドストレージに存在するかどうかに依存します。)

新しい 100MB 標準
即時適用で、Gemini API は インラインデータ のファイルサイズ上限を 20MB から 100MB に引き上げました。
これまで、高解像度画像、複雑な PDF 契約書、中程度の長さの音声クリップを扱う開発者はしばしば 20MB の壁に突き当たっていました。そのため、データの分割、メディアのダウンサンプリング、比較的小さなやり取りでも Files API を使った別のアップロードフローの管理といった複雑な回避策を実装せざるを得ませんでした。
新しい 100MB 上限 により、API リクエスト内で(base64 エンコードして)大幅に大きなペイロードを直接送信できます。これは次のようなケースで重要な改善です。
- リアルタイムアプリケーション: 50MB のユーザーアップロード動画を、非同期アップロードジョブの完了を待たずに即時の感情分析にかける。
- 迅速なプロトタイピング: 複雑なデータセットや長編の書籍 PDF をコンテキストウィンドウへ投入し、すぐにプロンプト戦略をテストする。
- 複雑なマルチモーダリティ: 制限的な上限を気にせず、4K 画像と高忠実度音声の組み合わせを単一ターンで送信する。
なお、インライン上限は 100MB ですが、Gemini API は Files API と新しい 外部リンク サポート経由で巨大なデータセット(テラバイト級)を処理可能であり、重いワークロードの上限を事実上取り除きます。
推奨の意思決定フロー
- ファイルが ≤ 100 MB で、単一リクエストの簡便さを優先:インライン(Part.from_bytes または base64 供給)を使用。簡易デモやサーバーレス関数に適しています。
- ファイルが ≤ 100 MB で、公開もしくは事前署名付き URL で既にホスト:file_uri(HTTPS または署名付きURL)を渡す。アップロード不要。
- ファイルが > 100 MB(≤ 2 GB) または再利用予定:Files API アップロードまたは GCS オブジェクト登録 が推奨 — 繰り返しのアップロードを減らし、再生成時のレイテンシを改善。
新しい外部ファイルリンクのサポートはどう機能する?
最も重要なアーキテクチャ上の変更は、Gemini API が自らデータを「フェッチ」できるようになったことです。この機能は外部ファイルリンクの直接読み込みを可能にし、組み込みのデータソースをサポートします。
API は URL から直接データを取り込み可能になりました。このサポートは次の2つのシナリオをカバーします。
(1) 外部 URL サポート(公開 / 署名付きURL):
生成リクエスト内で、ファイル(PDF、画像、音声、動画など)を指す標準的な HTTPS URL を直接渡せます。
公開 URL: ウェブ上に既にあるコンテンツ(ニュース記事の PDF や公開ホストの画像など)を解析するのに最適。
署名付きURL: これはエンタープライズ向けの架け橋です。データがプライベートな AWS S3 バケットや Azure Blob Storage にある場合、Pre-Signed URL(読み取りアクセスを付与する一時的なリンク)を生成できます。この URL を Gemini に渡すと、API は処理中に安全にコンテンツを取得します。つまり、AWS に保存された機密文書を Google のサーバーへ恒久的に移すことなく、Gemini で解析できます。
Google Cloud IAM ロールに従い、標準の「Storage Object Viewer」権限によるアクセス制御が可能です。
利点: 中間ファイルが不要になり、セキュリティとパフォーマンスが向上。クラウド環境間のデータ取得に適しています。
(2) Google Cloud Storage (GCS) へのダイレクト接続:
Google エコシステム内のデータに対しては、統合がさらに密接です。GCS ファイルに対して オブジェクト登録 を実行できます。
アップロードの代わりに、ファイルの gs:// URI を「登録」するだけです。
このプロセスはクライアントと API 間で実際のデータ転送が発生しないため、ほぼ瞬時に完了します。
新機能の使い方 — 使用例(Python SDK)
以下は、一般的なパターンを示す同期の Python 実例3つ:(A)インラインバイト(ローカルファイル)、(B)外部 HTTPS または署名付きURL、(C)GCS URI(登録済みオブジェクトの参照)。これらのスニペットは公式の Google Gen AI Python SDK(google-genai)を使用します。モデル名、認証、環境変数はご利用環境に合わせて調整してください。開発者 API へのアクセスには、CometAPI の API キーを使用でき、より安価な API 呼び出し価格を提供して開発者を支援します。
前提条件:
pip install --upgrade google-genaiを実行し、認証情報 / 環境変数を設定(Developer API はAPI_KEY、Vertex AI はGOOGLE_GENAI_USE_VERTEXAI、GOOGLE_CLOUD_PROJECT、GOOGLE_CLOUD_LOCATION)。
例 A: インラインバイト(ローカルファイル → 最大 100 MB を送信)
# Example A: send a local file's bytes inline (suitable up to 100 MB)from google import genaifrom google.genai import types# Create client (Developer API)client = genai.Client(api_key="YOUR_GEMINI_API_KEY")MODEL = "gemini-2.5-flash" # choose model; production models may differfile_path = "large_document.pdf" # local file <= ~100 MBmime_type = "application/pdf"# Read bytes and create an inline Partwith open(file_path, "rb") as f: data = f.read()part = types.Part.from_bytes(data=data, mime_type=mime_type)# Send the file inline with a textual promptresponse = client.models.generate_content( model=MODEL, contents=[ "Please summarize the attached document in one paragraph.", part, ],)print(response.text)client.close()
注: これは Part.from_bytes(...) を使用してファイルバイトを埋め込みます。インラインペイロードは現在 ~100 MB まで許可されます。これを超える場合は、GCS または Files API のアプローチを使用してください。
例 B: 外部 HTTPS / 署名付きURL(Gemini がペイロードを取得)
# Example B: reference a public HTTPS URL or a signed URL (Gemini fetches it)from google import genaifrom google.genai import typesclient = genai.Client(api_key="YOUR_API_KEY")MODEL = "gemini-2.5-flash"# Public or signed URL to a PDF/image/audio/etc.external_url = "https://example.com/reports/quarterly_report.pdf"# or a pre-signed S3/Azure URL:# external_url = "https://s3.amazonaws.com/yourbucket/obj?X-Amz-..."part = types.Part.from_uri(file_uri=external_url, mime_type="application/pdf")response = client.models.generate_content( model=MODEL, contents=[ "Give me the three key takeaways from this report.", part, ],)print(response.text)client.close()
注: Gemini はリクエスト時に external_url を取得します。プライベートなクラウドストレージ(AWS/Azure)には署名付きURLを使用してください。外部フェッチには実用的なサイズ/形式の上限があります(ドキュメント参照)。
例 C: GCS オブジェクト(gs://)を直接参照
# Example C: reference a GCS file (ensure service account has storage access)from google import genaifrom google.genai import types# For Vertex AI usage, standard practice is to use ADC (Application Default Credentials)client = genai.Client(vertexai=True, project="your-project-id", location="us-central1")MODEL = "gemini-3-pro" # example model idgcs_uri = "gs://my-bucket/path/to/manual.pdf"part = types.Part.from_uri(file_uri=gcs_uri, mime_type="application/pdf")response = client.models.generate_content( model=MODEL, contents=[ "Extract the section titles from the attached manual and list them.", part, ],)print(response.text)client.close()
注: GCS へのアクセスには正しい IAM とサービスアカウント設定が必要です(Object Viewer 権限、適切な認証)。GCS オブジェクトを登録・参照する場合、実行環境(Vertex / ADC / サービスアカウント)に必要な権限があることを確認してください。
制限事項とセキュリティ上の考慮点
サイズとコンテンツタイプの制約
外部フェッチのサイズ: 外部 URL の取得は、ドキュメントに記載された上限(実運用では 1 ペイロードあたり 100 MB)とサポートされる MIME/コンテンツタイプの対象となります。非常に大きなアセット(数 GB〜)を渡す必要がある場合は、Files API または別の処理パイプラインを使用してください。
Files API vs インライン vs 外部 URL: 使い分け
- インライン(from_bytes) — アプリケーションが既にバイトを持っていてサイズが ≤100 MB の単発ファイルに最も簡単。実験や小規模サービスに適しています。
- 外部 URL / 署名付きURL — ファイルが別の場所(S3、Azure、公開ウェブ)にある場合に最適。バイト移動を避け、帯域を削減。プライベートアセットには署名付きURLを使用。
- GCS / 登録済みオブジェクト — データが既に Google Cloud にあり、安定した参照や IAM 制御を伴う本番パターンを望む場合に最適。
- Files API — 複数リクエストで再利用したい永続的または非常に大きなファイル向け。ファイル単位・プロジェクト単位のクォータと保持/一時性ポリシーに留意。
セキュリティとプライバシー
- 署名付きURL: 事前署名付きURLは、有効期限を短くし、権限を限定して生成してください。長寿命の秘密情報をリクエストに埋め込まないでください。
- IAM と OAuth: GCS のダイレクトアクセスでは、最小権限の原則に基づくサービスアカウント設定(objectViewer の読み取り権限)を行ってください。組織の鍵ローテーションや監査ログのベストプラクティスに従いましょう。
- データ所在地とコンプライアンス: API が外部コンテンツを取得する際、その行為がデータ取り扱いおよび規制要件に準拠していることを確認してください(規制対象データは一時的であっても外部サービスへ送信できない場合があります)。モデルプロバイダがログ内にリクエストのメタデータを保持する可能性があるため、プライバシー分析で考慮してください。
運用上の注意点
- Files API ストレージの一時性: Files API にアップロードされたファイルは一時的(歴史的には48時間)。長期保存には GCS などの永続ストアを使用し、直接参照してください。
- 繰り返しのフェッチ: URL 参照で頻繁に使用されるファイルは、リクエストごとに取得オーバーヘッドが発生する場合があります。ヘビーな再利用にはキャッシュや GCS への登録を検討してください。
アプリのアーキテクチャがどう変わるか — 実践例
ユースケース — ドキュメント重視のナレッジアシスタント
GCS に保存された製品マニュアルを読む社内ナレッジアシスタントを運用するなら、これらの GCS オブジェクトを一度登録(または gs:// URI で参照)し、動的にクエリします。同じ PDF の再アップロードを避けられ、バックエンドを簡素化できます。非常に大きなマニュアル(>100 MB)には Files API/GCS 登録を使用します。
ユースケース — コンシューマ向けモバイルアプリの写真送信
単発のキャプション生成に画像を送信するモバイルアプリでは、サイズの小さい画像(<100 MB)にインラインバイトを使用します。UX を簡潔に保ち、二重のアップロード手順を避けられます。ユーザーが同じ画像を頻繁に再利用・共有する場合は、GCS に保存して gs:// や署名付きURLを渡す方が適切です。
ユースケース — 音声書き起こしパイプライン
短いボイスノート(<100 MB / コーデックによっては ~1 分未満)は、インラインまたは署名付きURLで渡せます。長時間録音には Files API でアップロードし、その後の生成呼び出しでファイルを参照すると、再利用が効率的です。動画/音声のワークフローには、メディアドキュメントの追加ベストプラクティスがあることが多いです。
結論
Google の Gemini API アップデートにより、「既存」データを生成 AI ワークフローへ取り込むことが大幅に容易になりました。公開/署名付きURLからの直接フェッチや GCS 登録が、一般的な運用上の摩擦点を取り除き、インラインペイロードの上限が 20 MB → 100 MB に跳ね上がったことで、単純な単一リクエストの柔軟性が高まりました。長期運用・超大容量・再利用が前提のファイルには、Files API(ファイルあたり 2 GB、デフォルトで48時間保存)が適しています。
まずは、CometAPI 経由で Gemini API を試してみましょう。Gemini 3 Pro や gemini 3 flash の機能を Playground で確認し、詳しい手順は API ガイド を参照してください。アクセス前に、CometAPI にログインして API キーを取得しておく必要があります。CometAPI は公式価格よりも大幅に安い料金を提供し、統合を支援します。
準備はできましたか?→ Gemini 3 Pro の無料トライアル !
