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
Go
เมธอด: 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 ว่าง
เมธอด: files.register
ลงทะเบียนไฟล์ Google Cloud Storage กับ FileService ผู้ใช้จะต้องระบุ URI ของ Google Cloud Storage และจะได้รับทรัพยากรไฟล์สำหรับแต่ละ URI เป็นการตอบแทน โปรดทราบว่าระบบจะไม่คัดลอกไฟล์ แต่จะลงทะเบียนกับ File API เท่านั้น หากลงทะเบียนไฟล์ใดไฟล์หนึ่งไม่สำเร็จ คำขอทั้งหมดจะไม่สำเร็จ
ปลายทาง
posthttps: / /generativelanguage.googleapis.com /v1beta /files:register
เนื้อความของคำขอ
เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
uris[]
string
ต้องระบุ URI ของ Google Cloud Storage ที่จะลงทะเบียน ตัวอย่าง: gs://bucket/object
ทรัพยากร REST: files
แหล่งข้อมูล: ไฟล์
ไฟล์ที่อัปโหลดไปยัง API รหัสถัดไป: 15
name
string
เปลี่ยนแปลงไม่ได้ ตัวระบุ Fileชื่อทรัพยากร รหัส (ชื่อไม่รวมคำนำหน้า "files/") มีอักขระได้สูงสุด 40 ตัว ซึ่งเป็นตัวอักษรพิมพ์เล็กและตัวเลขคละกันหรือขีดกลาง (-) โดยรหัสต้องไม่ขึ้นต้นหรือลงท้ายด้วยขีดกลาง หากไม่ได้ตั้งชื่อเมื่อสร้าง ระบบจะสร้างชื่อที่ไม่ซ้ำกันให้ ตัวอย่าง: files/123-456
displayName
string
ไม่บังคับ ชื่อที่แสดงสำหรับผู้ใช้งานของ File ชื่อที่แสดงต้องมีความยาวไม่เกิน 512 อักขระ รวมถึงช่องว่าง ตัวอย่างเช่น "รูปภาพต้อนรับ"
mimeType
string
เอาต์พุตเท่านั้น ประเภท MIME ของไฟล์
sizeBytes
string (int64 format)
เอาต์พุตเท่านั้น ขนาดของไฟล์ในหน่วยไบต์
createTime
string (Timestamp format)
เอาต์พุตเท่านั้น การประทับเวลาของเวลาที่สร้าง File
ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ 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 เสมอ และใช้ตัวเลขเศษส่วน 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 เสมอ และใช้ตัวเลขเศษส่วน 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 (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)
ระยะเวลาของวิดีโอ
ระยะเวลาเป็นวินาทีที่มีเศษทศนิยมได้สูงสุด 9 หลัก โดยลงท้ายด้วย "s" เช่น "3.5s"
| การแสดง JSON |
|---|
{ "videoDuration": string } |
รัฐ
สถานะสำหรับวงจรของไฟล์
| Enum | |
|---|---|
STATE_UNSPECIFIED |
ค่าเริ่มต้น ระบบจะใช้ค่านี้หากละเว้นรัฐ |
PROCESSING |
ระบบกำลังประมวลผลไฟล์และยังใช้สำหรับการอนุมานไม่ได้ |
ACTIVE |
ระบบประมวลผลไฟล์และพร้อมสำหรับการอนุมาน |
FAILED |
ประมวลผลไฟล์ไม่สำเร็จ |
แหล่งที่มา
| Enum | |
|---|---|
SOURCE_UNSPECIFIED |
ใช้ในกรณีที่ไม่ได้ระบุแหล่งที่มา |
UPLOADED |
ระบุว่าผู้ใช้อัปโหลดไฟล์ |
GENERATED |
ระบุว่าไฟล์สร้างขึ้นโดย Google |
REGISTERED |
ระบุว่าไฟล์เป็นไฟล์ที่ลงทะเบียนแล้ว เช่น ไฟล์ Google Cloud Storage |
สถานะ
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: ..., ... } ] } |