Gemini API 支持单独上传媒体文件,无需在提示输入中包含媒体文件,这样一来,您的媒体文件就可以在多个请求和多个提示中重复使用。如需了解详情,请参阅使用媒体内容生成提示指南。
REST 资源:文件
资源:File
上传到 API 的文件。
name
string
不可变。标识符。File 资源名称。ID(不含“files/”前缀的名称)最多可包含 40 个字符,这些字符可以是小写字母数字字符或短划线 (-)。ID 不能以短划线开头或结尾。如果创建时名称为空,系统会生成一个唯一名称。示例:files/123-456
displayName
string
可选。File 的人类可读显示名称。显示名称的长度不得超过 512 个字符(包括空格)。示例:“欢迎图片”
mimeType
string
仅限输出。文件的 MIME 类型。
sizeBytes
string (int64 format)
仅限输出。文件的大小(以字节为单位)。
createTime
string (Timestamp format)
仅限输出。创建 File 时的时间戳。
采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不进行“Z”归一化处理的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。
updateTime
string (Timestamp format)
仅限输出。上次更新 File 时的时间戳。
采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不进行“Z”归一化处理的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。
expirationTime
string (Timestamp format)
仅限输出。相应 File 将被删除的时间戳。仅当 File 计划过期时才设置。
采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不进行“Z”归一化处理的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。
sha256Hash
string (bytes format)
仅限输出。上传字节的 SHA-256 哈希值。
使用 base64 编码的字符串。
uri
string
仅限输出。File 的 URI。
downloadUri
string
仅限输出。File 的下载 URI。
state
enum (State)
仅限输出。文件的处理状态。
source
enum (Source)
文件的来源。
error
object (Status)
仅限输出。文件处理失败时的错误状态。
metadata
Union type
metadata 只能是下列其中一项:videoMetadata
object (VideoFileMetadata)
仅限输出。视频的元数据。
| JSON 表示法 |
|---|
{ "name": string, "displayName": string, "mimeType": string, "sizeBytes": string, "createTime": string, "updateTime": string, "expirationTime": string, "sha256Hash": string, "uri": string, "downloadUri": string, "state": enum ( |
VideoFileMetadata
视频 File 的元数据。
videoDuration
string (Duration format)
视频时长。
该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"。
| JSON 表示法 |
|---|
{ "videoDuration": string } |
州
文件生命周期的状态。
| 枚举 | |
|---|---|
STATE_UNSPECIFIED |
默认值。如果省略状态,则使用此值。 |
PROCESSING |
文件正在处理中,尚无法用于推理。 |
ACTIVE |
文件已处理完毕,可用于推理。 |
FAILED |
文件处理失败。 |
来源
| 枚举 | |
|---|---|
SOURCE_UNSPECIFIED |
如果未指定来源,则使用此值。 |
UPLOADED |
表示文件由用户上传。 |
GENERATED |
表示相应文件由 Google 生成。 |
REGISTERED |
表示相应文件是已注册的文件,即 Google Cloud Storage 文件。 |
方法:files.get
获取指定 File 的元数据。
端点
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
路径参数
name
string
必需。要获取的 File 的名称。示例:files/abc-123 格式为 files/{file}。
请求正文
请求正文必须为空。
示例请求
Python
Node.js
Go
Shell
响应正文
如果成功,则响应正文包含一个 File 实例。
方法:files.list
列出请求项目拥有的 File 的元数据。
端点
gethttps: / /generativelanguage.googleapis.com /v1beta /files
查询参数
pageSize
integer
可选。每页要返回的 File 的数量上限。如果未指定,则默认为 10。最大值 pageSize 为 100。
pageToken
string
可选。来自之前 files.list 调用的页面令牌。
请求正文
请求正文必须为空。
示例请求
Python
Node.js
Go
Shell
方法:files.delete
删除 File。
端点
deletehttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
路径参数
name
string
必需。要删除的 File 的名称。示例:files/abc-123 格式为 files/{file}。
请求正文
请求正文必须为空。
示例请求
Python
Node.js
Go
Shell
响应正文
如果成功,则响应正文为空的 JSON 对象。
方法:files.register
向 FileService 注册 Google Cloud Storage 文件。用户需要提供 Google Cloud Storage URI,并会收到与每个 URI 对应的 File 资源作为回报。请注意,这些文件不会被复制,只会通过 File API 进行注册。如果一个文件注册失败,整个请求都会失败。
端点
posthttps: / /generativelanguage.googleapis.com /v1beta /files:register
请求正文
请求正文中包含结构如下的数据:
uris[]
string
必需。要注册的 Google Cloud Storage URI。示例:gs://bucket/object。
方法:media.upload
创建 File。
端点
- 上传 URI,用于媒体上传请求:
https: / /generativelanguage.googleapis.com /upload /v1beta /files
- 元数据 URI,用于仅涉及元数据的请求:
https: / /generativelanguage.googleapis.com /v1beta /files
请求正文
请求正文中包含结构如下的数据:
file
object (File)
可选。要创建的文件的元数据。
示例请求
图片
Python
Node.js
Go
Shell
音频
Python
Node.js
Go
Shell
文字
Python
Node.js
Go
Shell
视频
Python
Node.js
Go
Shell
Python
Go
Status
Status 类型定义了适用于不同编程环境(包括 REST API 和 RPC API)的逻辑错误模型。此类型供 gRPC 使用。每条 Status 消息包含三部分数据:错误代码、错误消息和错误详细信息。
如需详细了解该错误模型及其使用方法,请参阅 API 设计指南。
code
integer
状态代码,应为 google.rpc.Code 的枚举值。
message
string
面向开发者的错误消息(应采用英语)。任何向用户显示的错误消息都应进行本地化并通过 google.rpc.Status.details 字段发送,或者由客户端进行本地化。
details[]
object
包含错误详细信息的消息列表。有一组通用的消息类型可供 API 使用。
可以包含任意类型字段的对象。附加字段 "@type" 包含用于标示相应类型的 URI。示例:{ "id": 1234, "@type": "types.example.com/standard/id" }。
| JSON 表示法 |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |