使用媒体文件进行提示


在 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 类型之一。