即時適用で、Gemini API は インラインデータ のファイルサイズ上限を 20MB から 100MB に引き上げました。
これまで、高解像度画像、複雑な PDF 契約書、中程度の長さの音声クリップを扱う開発者はしばしば 20MB の壁に突き当たっていました。そのため、データの分割、メディアのダウンサンプリング、比較的小さなやり取りでも Files API を使った別のアップロードフローの管理といった複雑な回避策を実装せざるを得ませんでした。
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()
# 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()
# 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()
IAM と OAuth: GCS のダイレクトアクセスでは、最小権限の原則に基づくサービスアカウント設定(objectViewer の読み取り権限)を行ってください。組織の鍵ローテーションや監査ログのベストプラクティスに従いましょう。
データ所在地とコンプライアンス: API が外部コンテンツを取得する際、その行為がデータ取り扱いおよび規制要件に準拠していることを確認してください(規制対象データは一時的であっても外部サービスへ送信できない場合があります)。モデルプロバイダがログ内にリクエストのメタデータを保持する可能性があるため、プライバシー分析で考慮してください。
運用上の注意点
Files API ストレージの一時性: Files API にアップロードされたファイルは一時的(歴史的には48時間)。長期保存には GCS などの永続ストアを使用し、直接参照してください。