[開発者向け]Gemini APIのファイル入力が大幅強化—GCS対応と100MB制限で開発が加速

目次

はじめに

 Googleが2026年1月12日、Gemini APIにおけるファイル入力機能の大幅な拡張を発表しました。Google Cloud Storage(GCS)からの直接登録、外部URL対応、そしてファイルサイズ制限の20MBから100MBへの引き上げという3つの改善により、既存のストレージに保存されたデータを再アップロードすることなく、Gemini APIで直接利用できるようになりました。本稿では、この発表内容をもとに、新機能の詳細と実装方法について解説します。

参考記事

要点

  • Gemini APIが、Google Cloud Storage(GCS)オブジェクトの直接登録機能をサポートした
  • 外部URLからのファイル取得が可能になり、AWS S3やAzure Blob Storageなどの署名付きURLにも対応する
  • インラインファイルのサイズ制限が20MBから100MBに引き上げられた
  • これらの機能により、既存のクラウドストレージからデータを移動させることなく、Gemini APIで直接処理できるようになった

詳細解説

従来の課題とその解決

 Googleによれば、これまでGemini APIで大きなファイル(動画、長時間音声、大容量ドキュメント)を扱う場合、Files APIへのアップロードが必要でした。しかし、アップロードされたファイルは48時間しか保持されず、プロトタイピングには十分でも、本番環境で永続的なデータを扱うアプリケーションにとっては制約となっていました。

 この課題に対して、今回の更新では既存のクラウドストレージに保存されているデータを、そのままGemini APIで利用できる仕組みが導入されました。これにより、データの再アップロードが不要となり、開発からプロダクション展開までの時間が短縮されると考えられます。

外部URL対応:公開URLと署名付きURL

 Gemini APIは、公開されているドメインに保存されたファイルと、署名付きURLを通じたプライベートストレージの両方に対応しました。

 具体的には、ウェブ上に公開されているPDFや画像などのURLを、生成リクエストに直接渡すことができます。さらに、AWS S3、Azure Blob Storage、その他のクラウドプロバイダーからデータにアクセスするための署名付きURL(Pre-signed URL)もサポートされています。

 署名付きURLは、一時的なアクセス権限を持つURLで、通常は有効期限が設定されています。これにより、プライベートなストレージに保存されたファイルを、セキュアにGemini APIで処理できるようになります。従来は、バックエンドでコンテンツをダウンロードしてからAPIに転送する必要がありましたが、この手順が不要になり、処理の効率化が図られると思います。

GCSファイルの直接登録

 データがすでにGoogle Cloud Storage(GCS)に保存されている場合、ファイルのバイトデータを移動させることなく、Files APIに直接登録できるようになりました。

 この機能を利用するには、ストレージバケットへの読み取りアクセス権を持つIAMユーザーまたはサービスとして、OAuth認証情報で認証する必要があります。GCSは、Googleが提供するオブジェクトストレージサービスで、大規模なデータの保存と管理に広く使用されています。

 GCSファイルの登録機能により、すでにGCSエコシステムを活用している開発者は、既存のワークフローをほとんど変更することなく、Gemini APIとの統合が可能になると考えられます。

インラインファイルサイズの拡大

 インラインファイルの利用を好む開発者向けに、最大ペイロードサイズが20MBから100MB(Base64エンコード済み、データタイプにより上限が異なる)に引き上げられました。

 インラインファイルとは、APIリクエストに直接埋め込まれるファイルデータのことで、別途ストレージを用意する必要がないため、プロトタイピングやリアルタイムアプリケーション、大きな画像や短い音声クリップの処理に適しています。この制限の緩和により、中間ストレージなしで扱えるファイルの範囲が広がります。

実装方法

 Googleが提供するコード例では、PythonのGenAI SDKを使用した実装方法が示されています。

外部URLを利用する場合

from google import genai
from google.genai import types
import boto3

# Generate a signed S3 object URL.
s3 = boto3.client('s3')
signed_url = s3.generate_presigned_url(
    'get_object',
    Params={'Bucket': 'my-bucket-name', 'Key': 'document.pdf'},
    ExpiresIn=3600
)

# Use it in the Gemini API.
client = genai.Client()

response = client.models.generate_content(
    model="gemini-3-flash-preview",
    contents=[
        types.Part.from_uri(
            # Use a public HTTPS URL
            file_uri="https://example.com/secure/image.pdf",
        ),
        types.Part.from_uri(
            # Use a signed private URL
            file_uri=signed_url,
        ),
        "What are these documents about?"
    ],
)
print(response.text)

 外部URLを使用する場合、boto3ライブラリでAWS S3の署名付きURLを生成し、それをGemini APIのリクエストに含めることで、プライベートストレージ内のファイルを処理できます。公開URLの場合は、単純にHTTPSのURLを指定するだけで利用可能です。

GCSを利用する場合

import google.auth
from google import genai

# Authenticate as a service with storage permissions.
gcs_creds, _ = google.auth.default(scopes=[
  'https://www.googleapis.com/auth/cloud-platform',
  'https://www.googleapis.com/auth/devstorage.read_only'
])
client = genai.Client()

# Register files directly from GCS without re-uploading.
registered_gcs_files = client.files.register_files(
    uris=[
        "gs://my_bucket/video1.mp4",
        "gs://my_bucket/document.pdf"
    ],
    auth=gcs_creds
)
print(f"Files registered successfully: {registered_gcs_files}")

response = client.models.generate_content(
    model="gemini-3-flash-preview",
    contents=
        ["What are these documents about?"] + 
        registered_gcs_files.files
)
print(response.text)

 GCSファイルの登録では、google.authライブラリで適切なスコープ(cloud-platformとdevstorage.read_only)を持つ認証情報を取得し、register_files関数でGCSのURIを登録します。登録されたファイルは、複数のリクエストで再利用できるため、データ転送の効率が向上すると思います。

選択肢の整理

 今回の更新により、開発者は以下の3つの入力方法から、ニーズに応じて選択できるようになりました。

 インラインデータは、100MB以下のファイルを迅速に処理したい場合に適しています。外部URLは、既存のクラウドストレージ(AWS、Azureなど)に保存されたデータを、移動させずに利用したい場合に有効です。GCS登録は、Googleのエコシステムを活用している場合に、最も統合がスムーズな選択肢と考えられます。

 それぞれの方法には、データの保存場所、処理速度、認証の複雑さといった観点で異なる特性があるため、開発するアプリケーションの要件に合わせた選択が重要です。

まとめ

 Gemini APIの新しいファイル入力機能により、既存のクラウドストレージに保存されたデータを、再アップロードすることなく直接処理できるようになりました。GCS対応、外部URL対応、そして100MBへの制限緩和という3つの改善は、特に本番環境での大規模なマルチモーダルアプリケーション開発において、データ処理の効率化とスケーラビリティの向上に寄与すると思います。最新のSDKで利用可能となったこれらの機能の詳細は、Googleの公式ドキュメントで確認できます。

この記事が気に入ったら
フォローしてね!

  • URLをコピーしました!
  • URLをコピーしました!
目次