تتيح 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
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.
نقطة نهاية
deletehttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
مَعلمات المسار
name
string
الحقل مطلوب. تمثّل هذه السمة اسم File المطلوب حذفه. مثال: files/abc-123 ويكون بالتنسيق التالي: files/{file}.
نص الطلب
يجب أن يكون نص الطلب فارغًا.
مثال على الطلب
Python
Node.js
Go
محارة
نص الاستجابة
إذا كانت الاستجابة ناجحة، سيكون نص الاستجابة عبارة عن كائن 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 في النهاية ويستخدم الأرقام الجزئية 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_UNSPECIFIED |
القيمة التلقائية يتم استخدام هذه القيمة في حال عدم تحديد الولاية. |
PROCESSING |
تتم معالجة الملف ولا يمكن استخدامه للاستدلال بعد. |
ACTIVE |
تتم معالجة الملف ويكون متاحًا للاستنتاج. |
FAILED |
تعذّرت معالجة الملف. |
المصدر
| عمليات التعداد | |
|---|---|
SOURCE_UNSPECIFIED |
يتم استخدامها في حال عدم تحديد المصدر. |
UPLOADED |
تشير إلى أنّ المستخدم حمّل الملف. |
GENERATED |
يشير إلى أنّ الملف من إنشاء Google. |
REGISTERED |
يشير إلى أنّ الملف مسجّل، أي أنّه ملف Google Cloud Storage. |
الحالة
يحدّد نوع Status نموذجًا منطقيًا للتعامل مع الأخطاء، يناسب بيئات البرمجة المختلفة مثل REST API وRPC API. يتم استخدامه من خلال 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: ..., ... } ] } |