Gemini API 支持将媒体文件与提示输入分开上传,这样您就可以在多个请求和多个提示中重复使用媒体。如需了解详情,请参阅使用媒体提示指南。
方法:media.upload
创建 File
。
端点
- 上传 URI,用于媒体上传请求:
- 元数据 URI,适用于仅含元数据的请求:
请求正文
请求正文中包含结构如下的数据:
<ph type="x-smartling-placeholder">file
object (File
)
可选。要创建的文件的元数据。
示例请求
肖像
Python
Node.js
Go
Shell
音频
Python
Node.js
Go
Shell
文本
Python
Node.js
Go
Shell
视频
Python
Node.js
Go
Shell
Python
方法:files.get
获取给定 File
的元数据。
端点
<ph type="x-smartling-placeholder"></ph> 领取 https://generativelanguage.googleapis.com/v1beta/{name=files/*}路径参数
name
string
必需。要获取的 File
的名称。示例:files/abc-123
,格式为 files/{file}
。
请求正文
请求正文必须为空。
示例请求
Python
Node.js
Go
Shell
响应正文
如果成功,则响应正文包含一个 File
实例。
方法:files.list
列出请求项目拥有的 File
的元数据。
端点
<ph type="x-smartling-placeholder"></ph> 领取 https://generativelanguage.googleapis.com/v1beta/files查询参数
pageSize
integer
可选。每页返回的 File
的数量上限。如果未指定,则默认为 10。pageSize
的最大值为 100。
pageToken
string
可选。上一次 files.list
调用的页面令牌。
请求正文
请求正文必须为空。
示例请求
Python
Node.js
Go
Shell
方法:files.delete
删除 File
。
端点
删除 https://generativelanguage.googleapis.com/v1beta/{name=files/*}路径参数
name
string
必需。要删除的 File
的名称。示例:files/abc-123
,格式为 files/{file}
。
请求正文
请求正文必须为空。
示例请求
Python
Node.js
Go
Shell
响应正文
如果成功,则响应正文为空。
REST 资源:文件
资源:文件
上传到 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
创建时的时间戳。
时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z"
和 "2014-10-02T15:01:23.045123456Z"
。
updateTime
string (Timestamp
format)
仅限输出。上次更新 File
时的时间戳。
时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z"
和 "2014-10-02T15:01:23.045123456Z"
。
expirationTime
string (Timestamp
format)
仅限输出。删除 File
时的时间戳。仅当 File
预定过期时设置。
时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z"
和 "2014-10-02T15:01:23.045123456Z"
。
sha256Hash
string (bytes format)
仅限输出。上传的字节的 SHA-256 哈希值。
使用 base64 编码的字符串。
uri
string
仅限输出。File
的 URI。
state
enum (State
)
仅限输出。文件的处理状态。
error
object (Status
)
仅限输出。文件处理失败时显示的错误状态。
metadata
。文件的元数据。metadata
只能是下列其中一项:
videoMetadata
object (VideoMetadata
)
仅限输出。视频的元数据。
JSON 表示法 |
---|
{ "name": string, "displayName": string, "mimeType": string, "sizeBytes": string, "createTime": string, "updateTime": string, "expirationTime": string, "sha256Hash": string, "uri": string, "state": enum ( |
VideoMetadata
视频 File
的元数据。
videoDuration
string (Duration
format)
视频的时长。
该时长以秒为单位,最多包含九个小数位,以“s
”结尾。示例:"3.5s"
。
JSON 表示法 |
---|
{ "videoDuration": string } |
州
文件生命周期的状态。
枚举 | |
---|---|
STATE_UNSPECIFIED |
默认值。如果省略状态,则使用此值。 |
PROCESSING |
文件正在处理中,尚无法用于推理。 |
ACTIVE |
文件已处理完毕,可用于推理。 |
FAILED |
文件处理失败。 |
状态
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: ..., ... } ] } |