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
אופציונלי. המספר המקסימלי של Files שיוחזרו בכל דף. אם לא מציינים ערך, ברירת המחדל היא 10. הערך המקסימלי של pageSize הוא 100.
pageToken
string
אופציונלי. טוקן של דף מקריאה קודמת של files.list.
גוף הבקשה
גוף הבקשה צריך להיות ריק.
דוגמה לבקשה
Python
Node.js
Go
קונכייה
שיטה: files.delete
מחיקת File.
נקודת קצה
deletehttps: / /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. המשתמש צריך לספק Google Cloud Storage URIs ובתמורה יקבל משאב File לכל 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)
משך הסרטון.
משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-'s'. דוגמה: "3.5s".
| ייצוג ב-JSON |
|---|
{ "videoDuration": string } |
מדינה (State)
מצבים של מחזור החיים של קובץ.
| טיפוסים בני מנייה (enum) | |
|---|---|
STATE_UNSPECIFIED |
ערך ברירת המחדל. המערכת תשתמש בערך הזה אם המדינה לא צוינה. |
PROCESSING |
הקובץ נמצא בתהליך עיבוד ועדיין אי אפשר להשתמש בו להסקת מסקנות. |
ACTIVE |
הקובץ מעובד וזמין להסקת מסקנות. |
FAILED |
עיבוד הקובץ נכשל. |
מקור
| טיפוסים בני מנייה (enum) | |
|---|---|
SOURCE_UNSPECIFIED |
המאפיין הזה משמש אם לא צוין מקור. |
UPLOADED |
מציין שהקובץ הועלה על ידי המשתמש. |
GENERATED |
מציין שהקובץ נוצר על ידי Google. |
REGISTERED |
מציין שהקובץ רשום, כלומר קובץ Google Cloud Storage. |
סטטוס
הסוג Status מגדיר מודל שגיאות לוגי שמתאים לסביבות תכנות שונות, כולל ממשקי API ל-REST ול-RPC. היא משמשת את gRPC. כל הודעת Status מכילה שלושה חלקי נתונים: קוד שגיאה, הודעת שגיאה ופרטי שגיאה.
מידע נוסף על מודל השגיאות הזה ועל אופן השימוש בו זמין ב-API Design Guide.
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: ..., ... } ] } |