Gemini API 支援從提示輸入內容中分別上傳媒體檔案,這樣就能在多個要求和多個提示中重複使用媒體。詳情請參閱使用媒體提示指南。
方法:media.upload
建立 File
。
端點
- 上傳 URI,適用於媒體上傳要求:
- 中繼資料 URI,適用於僅中繼資料的要求:
要求主體
要求主體的資料會採用以下結構:
file
object (File
)
選用設定。要建立的檔案中繼資料。
要求範例
圖片
Python
Node.js
Go
貝殼
音訊
Python
Node.js
Go
貝殼
文字
Python
Node.js
Go
貝殼
影片
Python
Node.js
Go
貝殼
Python
方法:files.get
取得指定 File
的中繼資料。
端點
get https://generativelanguage.googleapis.com/v1beta/{name=files/*}路徑參數
name
string
必要欄位。要取得的 File
名稱。範例:files/abc-123
的格式為 files/{file}
。
要求主體
要求主體必須為空白。
要求範例
Python
Node.js
Go
貝殼
回應主體
如果成功,回應主體會包含 File
的執行例項。
方法:files.list
列出要求專案擁有的 File
中繼資料。
端點
get https://generativelanguage.googleapis.com/v1beta/files查詢參數
pageSize
integer
選用設定。每頁可傳回的 File
數量上限。如未指定,則預設為 10。pageSize
的上限為 100。
pageToken
string
選用設定。來自前一個 files.list
呼叫的頁面權杖。
要求主體
要求主體必須為空白。
要求範例
Python
Node.js
Go
貝殼
方法:files.delete
刪除 File
。
端點
刪除 https://generativelanguage.googleapis.com/v1beta/{name=files/*}路徑參數
name
string
必要欄位。要刪除的 File
名稱。範例:files/abc-123
的格式為 files/{file}
。
要求主體
要求主體必須為空白。
要求範例
Python
Node.js
Go
貝殼
回應主體
如果成功,回應主體會是空白的。
REST 資源:files
資源:檔案
上傳至 API 的檔案。
name
string
不可變動。ID。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 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如 "2014-10-02T15:01:23Z"
和 "2014-10-02T15:01:23.045123456Z"
。
updateTime
string (Timestamp
format)
僅供輸出。上次更新 File
的時間戳記。
RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z"
和 "2014-10-02T15:01:23.045123456Z"
。
expirationTime
string (Timestamp
format)
僅供輸出。File
遭到刪除的時間戳記。只有在 File
的到期日已排定時,才會設定。
RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。例如 "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)
影片的時間長度。
持續時間以秒為單位,最多 9 個小數位數,結尾為「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: ..., ... } ] } |