تتيح واجهة برمجة التطبيقات Gemini API تحميل ملفات الوسائط بشكل منفصل عن إدخال الطلب، ما يسمح بإعادة استخدام الوسائط في طلبات وطلبات متعددة. لمزيد من التفاصيل، اطّلِع على دليل طلب الإجراء باستخدام الوسائط.
الطريقة: media.upload
تُنشئ File
.
نقطة نهاية
- عنوان URL لتحميل طلبات تحميل الوسائط:
https: / /generativelanguage.googleapis.com /upload /v1beta /files
- معرّف الموارد المنتظم (URI) للبيانات الوصفية، للطلبات المتعلّقة بالبيانات الوصفية فقط:
https: / /generativelanguage.googleapis.com /v1beta /files
يستخدِم عنوان URL بنية تحويل ترميز gRPC.
نص الطلب
يحتوي نص الطلب على بيانات بالبنية التالية:
file
object (File
)
اختياريّ. البيانات الوصفية للملف المطلوب إنشاؤه
مثال على الطلب
صورة
Python
Node.js
انتقال
محارة
الصوت
Python
Node.js
انتقال
محارة
نص
Python
Node.js
انتقال
محارة
فيديو
Python
Node.js
انتقال
محارة
Python
الطريقة: files.get
تحصل على البيانات الوصفية لـ File
المحدّد.
نقطة نهاية
الحصول علىhttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
يستخدِم عنوان URL بنية تحويل ترميز gRPC.
مَعلمات المسار
name
string
مطلوب. اسم File
المطلوب الحصول عليه مثال: files/abc-123
يكون على الشكل files/{file}
.
نص الطلب
يجب أن يكون نص الطلب فارغًا.
مثال على الطلب
Python
Node.js
انتقال
محارة
نص الاستجابة
إذا كانت الاستجابة ناجحة، يحتوي نص الاستجابة على مثال File
.
الطريقة: files.list
يسرد هذا العمود البيانات الوصفية لـ File
التي يملكها المشروع الذي يطلب الإجراء.
نقطة نهاية
الحصول علىhttps: / /generativelanguage.googleapis.com /v1beta /files
يستخدِم عنوان URL بنية تحويل ترميز gRPC.
مَعلمات طلب البحث
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
نقطة نهاية
حذفhttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
يستخدِم عنوان URL بنية تحويل ترميز gRPC.
مَعلمات المسار
name
string
مطلوب. اسم File
المطلوب حذفه مثال: files/abc-123
يكون على الشكل files/{file}
.
نص الطلب
يجب أن يكون نص الطلب فارغًا.
مثال على الطلب
Python
Node.js
انتقال
محارة
نص الاستجابة
إذا كانت الاستجابة ناجحة، يكون نص الاستجابة هو عنصر JSON فارغ.
مورد REST: files
المرجع: ملف
ملف تم تحميله إلى واجهة برمجة التطبيقات المعرّف التالي: 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
النتائج فقط. عنوان URL الخاص بالسمة File
downloadUri
string
النتائج فقط. عنوان URL لتنزيل 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)
مدة الفيديو
المدة بالثواني مع ما يصل إلى تسعة أرقام كسور، وتنتهي بـ "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: ..., ... } ] } |