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 的支持让 Gemini API 能与托管于 AWS 或 Azure 的数据湖良好协作。这对采用多云策略的企业是重大利好,可不必将整个存储基础设施迁移至 Google Cloud 即可利用 Gemini 的推理能力。
- 适用于多模态 AI 应用(如视频、语音与文档理解)。
这些更新显著简化了数据摄取流程,使开发者无需额外的上传步骤即可将云端或网络中的现有数据直接提供给 Gemini。
谁受益最大?
- 构建面向文档功能的产品团队(摘要、手册问答、合同审阅)。
- 分析已存储在云端的图像、音频或视频资产的媒体/娱乐应用。
- 希望模型引用 GCS 中权威副本而非重复拷贝的企业。
- 想用更大、真实数据集进行原型开发、而不想搭建复杂存储管线的研究人员与工程师。
简而言之:从原型到生产变得更简单、更便宜。
现在可以向 Gemini API 上传多大文件?
表面看是容量提升到原来的 5 倍,但真正的价值在于其带来的灵活性。
通过不同方法,现在能向 Gemini API 上传多大文件?
- 请求内联(base64 或 Part.from_bytes):最大 100 MB(某些 PDF 特定流程为 50 MB)。当你希望简单的单请求流程且文件 ≤100 MB 时使用。
- 由 Gemini 获取的外部 HTTP / 签名 URL:最大 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 处理超大数据集(TB 级)的能力仍可通过 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 摄取数据。该支持覆盖两种场景:
(1) 外部 URL 支持(公开 / 签名 URL):
你现在可以在生成请求中直接传入指向文件(如 PDF、图像或视频)的标准 HTTPS URL。
公开 URL: 适用于分析已在开放网络上托管的内容,如新闻文章 PDF 或公开托管的图片。
签名 URL: 这是通往企业级场景的桥梁。如果你的数据位于私有的 AWS S3 存储桶或 Azure Blob Storage,可生成预签名 URL(一条临时授予读取权限的链接)。当你将此 URL 传给 Gemini 时,API 会在处理期间安全地抓取内容。这意味着你可以使用 Gemini 分析存放在 AWS 的敏感文档,而无需将其永久迁移至 Google 的服务器。
它遵循 Google Cloud 的 IAM 角色,这意味着你可以用标准的“Storage Object Viewer”权限来控制访问。
优势:无需中间文件,提升安全性与性能,适用于跨云环境的数据读取。
(2) 直接连接 Google Cloud Storage(GCS):
对于已经在 Google 生态内的数据,集成更为紧密。你现在可以对 GCS 文件执行对象注册(Object Registration)。
无需上传,你只需“注册”文件的 gs:// URI。
由于客户端与 API 之间并无实际数据传输,这一过程几乎是瞬时的。
如何使用这些新功能?— 使用示例(Python SDK)
下面是三个实用的 Python 同步示例,涵盖常见模式:(A)内联字节(来自本地文件)、(B)外部 HTTPS 或签名 URL、(C)引用 GCS URI(已注册对象)。这些片段使用官方 Google Gen AI Python SDK(google-genai),请根据你的环境调整模型名称、认证与环境变量。你也可以使用 CometAPI 的 API Key 访问 Gemini API,这是一家提供更低调用价格、帮助开发者降本的 AI API 聚合平台。
前置条件:
pip install --upgrade google-genai并设置凭据/环境变量(Developer API 使用API_KEY,Vertex AI 使用GOOGLE_GENAI_USE_VERTEXAI、GOOGLE_CLOUD_PROJECT、GOOGLE_CLOUD_LOCATION)。
Example A: Inline bytes (local file → send up to 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()
**Notes:**此处使用 Part.from_bytes(...) 内嵌文件字节。内联负载现已允许到约 100 MB。若超出该限制,请使用 GCS 或 Files API 方案。
Example B: External HTTPS / signed URL (Gemini fetches the payload)
# 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()
**Notes:**Gemini 会在请求时抓取 external_url。对私有云存储(AWS/Azure)使用签名 URL。外部抓取在尺寸/格式上有实际限制(见文档)。
Example C: Reference a GCS object (gs://) directly
# 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()
**Notes:**GCS 访问需要正确的 IAM 与服务账号配置(对象查看者权限、正确认证)。当你注册或引用 GCS 对象时,确保运行时环境(Vertex/ADC/服务账号)具备必要权限。
限制与安全注意事项
尺寸与内容类型约束
外部抓取大小: 外部 URL 抓取受文档所述限制(实践中每次抓取 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 Key。CometAPI 提供远低于官方价格的方案,助你快速集成。
Ready to Go?→ 免费试用 Gemini 3 Pro !
