使用媒体文件进行提示


在 ai.google.dev 上查看 在 Google Colab 中运行 在 GitHub 上查看源代码

Gemini API 支持使用文本、图片、音频和视频数据进行提示(也称为多模态提示),这意味着您可以在提示中包含这些类型的媒体文件。对于小型文件,您可以在提供提示时 将 Gemini 模型直接指向本地文件先使用 File API 上传较大的文件���然后再将这些文件添加到提示中。

使用 File API,每个项目最多可以存储 20GB 的文件,每个文件的大小不超过 2GB。文件会存储 48 小时。在此期间,您可以使用 API 密钥访问以生成文件,但无法通过 API 下载文件。凡是已推出 Gemini API 的地区,您都可以免费使用 Files API。

File API 会处理可用于通过 model.generateContentmodel.streamGenerateContent 生成内容的输入。如需了解有效文件格式(MIME 类型)和支持的模型,请参阅支持的文件格式

本指南介绍了如何使用 File API 上传媒体文件,并将其添加到对 Gemini API 的 GenerateContent 调用中。如需了解详情,请参阅代码示例

支持的文件格式

Gemini 模型支持以多种文件格式输入提示。本部分介绍了使用常规媒体格式进行提示的注意事项,特别是图片、音频、视频和纯文本文件。您只能将媒体文件用于提示特定模型版本,如下表所示。

模型 Images 音频 视频 纯文本
Gemini 1.5 Pro(版本 008 及更高版本) ✔(最多 3600 个图片文件)

图片格式

您可以使用图片数据在 Gemini 1.5 模型中给出提示。使用图片进行提示时,它们遵循以下限制和要求:

  • 图片必须采用以下图片数据 MIME 类型之一:
    • PNG - image/png
    • JPEG - image/jpeg
    • WEBP - image/webp
    • HEIC - image/heic
    • HEIF - image/heif
  • 对于 Gemini 1.5 模型,最多可上传 3600 张图片。
  • 对图片中的像素数没有具体限制;不过,系统会将较大的图片缩小以适应 3072 x 3072 的最大分辨率,同时保留其原始宽高比。

音频格式

在 Gemini 1.5 模型中,你可以使用音频数据来给出提示。使用音频进行提示时,需要遵循以下限制和要求:

  • 以下常见音频格式 MIME 类型支持音频数据:
    • WAV - audio/wav
    • MP3 - 音频/mp3
    • AIFF - audio/aiff
    • AAC - audio/aac
    • OGG Vorbis - 音频/ogg
    • FLAC - audio/flac
  • 单个提示中支持的音频数据长度上限为 9.5 小时。
  • 音频文件会被重新采样降至 16 Kbps 的数据分辨率,并且多个音频频道会合并为一个通道。
  • 单个提示中音频文件的数量没有特定限制;但是,单个提示中所有音频文件的总长度不能超过 9.5 小时。

视频格式

你可以使用视频数据在 Gemini 1.5 模型中给出提示。

  • 以下常见的视频格式 MIME 类型支持视频数据:

    • video/mp4
    • video/mpeg
    • 视频/移动
    • 视频/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
  • 应用/x-typescript
  • 文本/csv
  • 文本/markdown
  • 文本/x-python
  • application/x-python-code
  • application/json
  • text/xml
  • 应用/rtf
  • 文本/rtf

对于 MIME 类型不在列表中的纯文本文件,您可以尝试手动指定上述 MIME 类型之一。