Gemini API รองรับการอัปโหลดไฟล์สื่อแยกจากการป้อนพรอมต์ ซึ่งช่วยให้คุณนำสื่อไปใช้ซ้ำในคำขอและพรอมต์หลายรายการได้ ดูรายละเอียดเพิ่มเติมได้ที่คู่มือการใช้พรอมต์ด้วยสื่อ
วิธีการ: 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
เปลือกหอย
เสียง
Python
Node.js
Go
เปลือกหอย
ข้อความ
Python
Node.js
Go
เปลือกหอย
วิดีโอ
Python
Node.js
Go
เปลือกหอย
Python
เมธอด: files.get
รับข้อมูลเมตาของ File
ที่ระบุ
ปลายทาง
gethttps://generativelanguage.googleapis.com/v1beta/{name=files/*}
พารามิเตอร์เส้นทาง
name
string
ต้องระบุ ชื่อของ File
ที่จะรับ ตัวอย่าง: files/abc-123
อยู่ในรูปแบบ files/{file}
เนื้อหาของคำขอ
เนื้อหาของคำขอต้องว่างเปล่า
ตัวอย่างคำขอ
Python
Node.js
Go
เปลือกหอย
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ File
เมธอด: files.list
แสดงข้อมูลเมตาของFile
ที่โปรเจ็กต์ที่ส่งคำขอเป็นเจ้าของ
ปลายทาง
gethttps://generativelanguage.googleapis.com/v1beta/files
พารามิเตอร์การค้นหา
pageSize
integer
ไม่บังคับ จำนวน File
สูงสุดที่จะแสดงต่อหน้า หากไม่ได้ระบุ ระบบจะใช้ 10 เป็นค่าเริ่มต้น pageSize
สูงสุดคือ 100
pageToken
string
ไม่บังคับ โทเค็นหน้าเว็บจากการเรียกใช้ files.list
ก่อนหน้านี้
เนื้อหาของคำขอ
เนื้อหาของคำขอต้องว่างเปล่า
ตัวอย่างคำขอ
Python
Node.js
Go
เปลือกหอย
เนื้อหาการตอบกลับ
คำตอบสำหรับ files.list
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
files[]
object (File
)
รายการ File
nextPageToken
string
โทเค็นที่ส่งเป็น pageToken
ไปยังการเรียกใช้ files.list
ถัดไปได้
การแสดง JSON |
---|
{
"files": [
{
object ( |
วิธีการ: files.delete
ลบ File
ปลายทาง
ลบhttps://generativelanguage.googleapis.com/v1beta/{name=files/*}
พารามิเตอร์เส้นทาง
name
string
ต้องระบุ ชื่อ File
ที่จะลบ ตัวอย่าง: files/abc-123
อยู่ในรูปแบบ files/{file}
เนื้อหาของคำขอ
เนื้อหาของคำขอต้องว่างเปล่า
ตัวอย่างคำขอ
Python
Node.js
Go
เปลือกหอย
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะเป็นออบเจ็กต์ JSON ว่าง
ทรัพยากร REST: files
ทรัพยากร: ไฟล์
ไฟล์ที่อัปโหลดไปยัง API รหัสถัดไป: 15
name
string
เปลี่ยนแปลงไม่ได้ ตัวระบุ ชื่อทรัพยากร File
รหัส (ชื่อที่ไม่รวมส่วนนำหน้า "files/") ประกอบด้วยอักขระที่เป็นตัวอักษรและตัวเลขคละกันหรือขีดกลาง (-) ได้สูงสุด 40 อักขระ และต้องไม่ขึ้นต้นหรือลงท้ายด้วยขีดกลาง หากชื่อว่างเปล่าเมื่อสร้าง ระบบจะสร้างชื่อที่ไม่ซ้ำกัน ตัวอย่าง: files/123-456
displayName
string
ไม่บังคับ ชื่อที่แสดงที่มนุษย์อ่านได้สำหรับ File
ชื่อที่แสดงต้องมีความยาวไม่เกิน 512 อักขระ ซึ่งรวมถึงการเว้นวรรค ตัวอย่างเช่น "Welcome Image"
mimeType
string
เอาต์พุตเท่านั้น ประเภท MIME ของไฟล์
sizeBytes
string (int64 format)
เอาต์พุตเท่านั้น ขนาดของไฟล์ในหน่วยไบต์
createTime
string (Timestamp
format)
เอาต์พุตเท่านั้น การประทับเวลาที่สร้าง File
ใช้ RFC 3339 ซึ่งเอาต์พุตที่สร้างขึ้นจะเป็นรูปแบบ Z-normalized เสมอ และใช้ตัวเลขทศนิยม 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-normalized เสมอ และใช้ตัวเลขทศนิยม 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-normalized เสมอ และใช้ตัวเลขทศนิยม 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
เอาต์พุตเท่านั้น URI ของ File
downloadUri
string
เอาต์พุตเท่านั้น รหัส URI ของไฟล์ File
state
enum (State
)
เอาต์พุตเท่านั้น สถานะการประมวลผลของไฟล์
source
enum (Source
)
แหล่งที่มาของไฟล์
error
object (Status
)
เอาต์พุตเท่านั้น สถานะข้อผิดพลาดหากการประมวลผลไฟล์ไม่สำเร็จ
metadata
Union type
metadata
ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้นvideoMetadata
object (VideoMetadata
)
เอาต์พุตเท่านั้น ข้อมูลเมตาของวิดีโอ
การแสดง JSON |
---|
{ "name": string, "displayName": string, "mimeType": string, "sizeBytes": string, "createTime": string, "updateTime": string, "expirationTime": string, "sha256Hash": string, "uri": string, "downloadUri": string, "state": enum ( |
VideoMetadata
ข้อมูลเมตาของวิดีโอ File
videoDuration
string (Duration
format)
ระยะเวลาของวิดีโอ
ระยะเวลาเป็นวินาทีที่มีเศษทศนิยมได้สูงสุด 9 หลัก โดยลงท้ายด้วย s
เช่น "3.5s"
การแสดง JSON |
---|
{ "videoDuration": string } |
รัฐ
สถานะสำหรับวงจรของไฟล์
Enum | |
---|---|
STATE_UNSPECIFIED |
ค่าเริ่มต้น ระบบจะใช้ค่านี้หากไม่ได้ระบุสถานะ |
PROCESSING |
ระบบกําลังประมวลผลไฟล์และยังไม่สามารถใช้ไฟล์ดังกล่าวเพื่อการอนุมาน |
ACTIVE |
ไฟล์ได้รับการประมวลผลและพร้อมสำหรับการอนุมาน |
FAILED |
ประมวลผลไฟล์ไม่สำเร็จ |
แหล่งที่มา
Enum | |
---|---|
SOURCE_UNSPECIFIED |
ใช้ในกรณีที่ไม่ได้ระบุแหล่งที่มา |
UPLOADED |
บ่งบอกว่าผู้ใช้อัปโหลดไฟล์ |
GENERATED |
ระบุว่าไฟล์สร้างขึ้นโดย Google |
สถานะ
ประเภท Status
จะกำหนดรูปแบบข้อผิดพลาดเชิงตรรกะที่เหมาะสมกับสภาพแวดล้อมการเขียนโปรแกรมต่างๆ ซึ่งรวมถึง REST API และ RPC API gRPC ใช้โปรโตคอลนี้ ข้อความ Status
แต่ละรายการมีข้อมูล 3 รายการ ได้แก่ รหัสข้อผิดพลาด ข้อความแสดงข้อผิดพลาด และรายละเอียดข้อผิดพลาด
ดูข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบข้อผิดพลาดนี้และวิธีจัดการได้ในคู่มือการออกแบบ API
code
integer
รหัสสถานะ ซึ่งควรเป็นค่า enum ของ 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: ..., ... } ] } |