在 ai.google.dev 上查看 | 在 Google Colab 中运行 | 查看 GitHub 上的源代码 |
Gemini API 支持使用文本、图片、音频和视频数据进行提示(也称为多模态提示),这意味着您可以在提示中包含这些类型的媒体文件。对于小型文件,您可以在提供提示时直接将 Gemini 模型指向本地文件。在将较大的文件添加到提示中之前,请先使用 File API 上传较大的文件。
File API 允许每个项目存储最多 20 GB 的文件,每个文件的大小不超过 2 GB。文件会存储 48 小时,在这段时间内可以使用您的 API 密钥访问以生成,但无法通过 API 下载。Files API 在提供 Genmini API 的所有区域都是免费的。
File API 会处理可用于通过 model.generateContent
或 model.streamGenerateContent
生成内容的输入。如需了解有效文件格式(MIME 类型)和支持的模型,请参阅支持的文件格式。
本指南介绍了如何使用 File API 上传媒体文件,以及如何将它们添加到对 Gemini API 的 GenerateContent
调用中。如需了解详情,请参阅代码示例。
支持的文件格式
Gemini 模型支持使用多种文件格式进行提示。本部分介绍了使用常规媒体格式(尤其是图片、音频、视频和纯文本文件)进行提示时的注意事项。您只能将媒体文件用于针对特定模型版本进行提示,如下表所示。
模型 | Images | 音频 | 视频 | 纯文本 |
---|---|---|---|---|
Gemini 1.5 Pro(008 及更高版本) | ✔(最多 3600 个图片文件) | ✔ | ✔ | ✔ |
Gemini Pro Vision | ✔(最多 16 个图片文件) | ✔ |
图片格式
您可以通过 gemini-pro-vision
和 gemini-1.5-pro
模型使用图片数据进行提示。使用图片进行提示时,需要遵循以下限制和要求:
- 图片必须采用以下任一图片数据 MIME 类型:
- PNG - image/png
- JPEG - image/jpeg
- WEBP - image/webp
- HEIC - image/heic
- HEIF - image/heif
gemini-pro-vision
最多 16 张单独的图片,gemini-1.5-pro
最多 3600 张图片- 图片中的像素数没有特定限制;不过,较大的图片会缩小以适应最大分辨率 3072 x 3072,同时保持其原始宽高比。
音频格式
您可以通过 gemini-1.5-pro
模型使用音频数据进行提示。使用音频进行提示时,需要遵循以下限制和要求:
- 音频数据支持以下常见音频格式 MIME 类型:
- WAV - 音频/wav
- MP3 - 音频/mp3
- AIFF - 音频/aiff
- AAC - 音频/aac
- OGG Vorbis - 音频/ogg
- FLAC - audio/flac
- 单个提示中支持的音频数据长度上限为 9.5 小时。
- 系统会将音频文件重新采样到 16 Kbps 的数据分辨率,并将多个声道的音频合并为一个声道。
- 单个提示中的音频文件数量没有特定限制;但是,单个提示中所有音频文件的总长度不能超过 9.5 小时。
视频格式
您可以通过 gemini-1.5-pro
模型使用视频数据进行提示。
以下常见视频格式 MIME 类型支持视频数据:
- video/mp4
- video/mpeg
- 视频/MOV
- 视频/avi
- video/x-flv
- 视频/mpg
- 视频/webm
- 视频/WMV
- 视频/3GPP
File API 服务以 1 帧/秒 (FPS) 的速度将视频采样到图像中,并且可能会发生变化以提供最佳推理质量。无论分辨率和画质如何,每张图片都需要占用 258 个词元。
纯文本格式
File API 支持上传具有以下 MIME 类型的纯文本文件:
- text/plain
- text/html
- text/css
- text/javascript
- application/x-javascript
- 文字/x-typescript
- application/x-typescript
- 文本/csv
- 文本/Markdown
- text/x-python
- application/x-python-code
- application/json
- text/xml
- 应用/rtf
- 文本/RTF
对于 MIME 类型不在列表中的纯文本文件,您可以尝试手动指定上述 MIME 类型之一。