تتيح Gemini API تحميل ملفات الوسائط بشكل منفصل عن إدخال الطلب، ما يسمح بإعادة استخدام الوسائط في عدة طلبات وعدة طلبات. لمزيد من التفاصيل، يمكنك الاطّلاع على دليل تقديم الطلبات باستخدام الوسائط.
الطريقة: media.upload
تنشئ هذه الدالة File
.
نقطة نهاية
- عنوان URI للتحميل، لطلبات تحميل الوسائط:
https: / /generativelanguage.googleapis.com /upload /v1beta /files
- معرّف الموارد المنتظم للبيانات الوصفية، للطلبات التي تتضمّن البيانات الوصفية فقط:
https: / /generativelanguage.googleapis.com /v1beta /files
نص الطلب
يحتوي نص الطلب على بيانات بالبنية التالية:
file
object (File
)
اختيارية: البيانات الوصفية للملف المطلوب إنشاؤه
مثال على الطلب
صورة
Python
Node.js
انتقال
محارة
الصوت
Python
Node.js
انتقال
محارة
نص
Python
Node.js
انتقال
محارة
فيديو
Python
Node.js
انتقال
محارة
Python
انتقال
الطريقة: files.get
تعرض هذه الطريقة البيانات الوصفية الخاصة بـ File
المحدّد.
نقطة نهاية
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
مَعلمات المسار
name
string
مطلوب. اسم File
المطلوب الحصول عليه. مثال: files/abc-123
تأخذ الشكل files/{file}
.
نص الطلب
يجب أن يكون نص الطلب فارغًا.
مثال على الطلب
Python
Node.js
انتقال
محارة
نص الاستجابة
إذا كانت الاستجابة ناجحة، يحتوي نص الاستجابة على مثال File
.
الطريقة: files.list
تعرض هذه الطريقة البيانات الوصفية الخاصة بـ File
التي يملكها المشروع الذي يرسل الطلب.
نقطة نهاية
gethttps: / /generativelanguage.googleapis.com /v1beta /files
مَعلمات طلب البحث
pageSize
integer
اختيارية: الحد الأقصى لعدد File
التي سيتم عرضها في كل صفحة إذا لم يتم تحديد عدد، سيكون العدد التلقائي 10. الحد الأقصى pageSize
هو 100.
pageToken
string
اختيارية: رمز مميّز للصفحة من طلب files.list
سابق.
نص الطلب
يجب أن يكون نص الطلب فارغًا.
مثال على الطلب
Python
Node.js
انتقال
محارة
نص الاستجابة
ردّ على السؤال files.list
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
files[]
object (File
)
قائمة File
nextPageToken
string
رمز مميّز يمكن إرساله كـ pageToken
في طلب files.list
لاحق.
تمثيل JSON |
---|
{
"files": [
{
object ( |
الطريقة: files.delete
يحذف File
.
نقطة نهاية
deletehttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
مَعلمات المسار
name
string
مطلوب. تمثّل هذه السمة اسم File
المطلوب حذفه. مثال: files/abc-123
تأخذ الشكل files/{file}
.
نص الطلب
يجب أن يكون نص الطلب فارغًا.
مثال على الطلب
Python
Node.js
انتقال
محارة
نص الاستجابة
إذا كانت الاستجابة ناجحة، سيكون نص الاستجابة عبارة عن كائن JSON فارغ.
مورد REST: ملفات
المورد: ملف
ملف تم تحميله إلى واجهة برمجة التطبيقات المعرّف التالي: 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-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 (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_UNSPECIFIED |
القيمة التلقائية يتم استخدام هذه القيمة في حال عدم تحديد الولاية. |
PROCESSING |
تتم معالجة الملف ولا يمكن استخدامه للاستدلال بعد. |
ACTIVE |
تتم معالجة الملف ويكون متاحًا للاستنتاج. |
FAILED |
تعذّرت معالجة الملف. |
المصدر
عمليات التعداد | |
---|---|
SOURCE_UNSPECIFIED |
يتم استخدامها في حال عدم تحديد المصدر. |
UPLOADED |
تشير إلى أنّ المستخدم حمّل الملف. |
GENERATED |
يشير إلى أنّ الملف من إنشاء Google. |
الحالة
يحدّد النوع Status
نموذج خطأ منطقيًا مناسبًا لبيئات البرمجة المختلفة، بما في ذلك واجهات برمجة التطبيقات REST وRPC. يتم استخدامها من خلال gRPC. تحتوي كل رسالة Status
على ثلاثة أجزاء من البيانات: رمز الخطأ ورسالة الخطأ وتفاصيل الخطأ.
يمكنك الاطّلاع على مزيد من المعلومات حول نموذج الخطأ هذا وكيفية التعامل معه في دليل تصميم واجهة برمجة التطبيقات.
code
integer
رمز الحالة، ويجب أن تكون قيمة تعدادية من google.rpc.Code
.
message
string
رسالة خطأ موجّهة إلى المطوّرين، ويجب أن تكون باللغة الإنجليزية. يجب ترجمة أي رسالة خطأ تظهر للمستخدم وإرسالها في الحقل google.rpc.Status.details
، أو ترجمتها من قِبل العميل.
details[]
object
قائمة بالرسائل التي تتضمّن تفاصيل الخطأ هناك مجموعة شائعة من أنواع الرسائل التي يمكن أن تستخدمها واجهات برمجة التطبيقات.
كائن يحتوي على حقول من أي نوع. يحتوي حقل إضافي "@type"
على معرّف موارد منتظم (URI) يحدّد النوع. مثال: { "id": 1234, "@type": "types.example.com/standard/id" }
تمثيل JSON |
---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |