مرجع واجهة برمجة التطبيقات

يعد VidioClient نقطة الدخول الرئيسية للتفاعل مع واجهة برمجة التطبيقات VIDIO من بايثون. استخدمه لتحميل الملفات، إنشاء وظائف تجميع النقاط البارزة، التحقق من حالة الوظائف، تقديم المخرجات، وانتظار انتهاء المعالجة.

الوصول إلى واجهة برمجة التطبيقات متاح حاليًا لخطة الاستوديو وما فوق.

نموذج العميل

يوفر VidioClient واجهة بسيطة للعمل مع واجهة برمجة التطبيقات VIDIO. بعد إنشاء عميل باستخدام مفتاح واجهة برمجة التطبيقات الخاصة بك، يمكنك تحميل ملفات الإدخال، إنشاء وظائف تجميع النقاط البارزة، استعلام حالة الوظائف، تقديم المخرجات، وانتظار انتهاء الوظائف.

خصائص

api_keystring
مفتاح واجهة برمجة التطبيقات VIDIO الخاص بك المستخدم للمصادقة على الطلبات.

طرق

فئةVidioClient(api_key)

تهيئة العميل

ينشئ مثيل جديد من VidioClient.

Parameters

api_keystring
مفتاح واجهة برمجة التطبيقات VIDIO الخاص بك.

Returns

مثيل VidioClient مُهيأ.

python
from vidio import VidioClient import os client = VidioClient( api_key=os.getenv("VIDIO_API_KEY") )
طريقةclient.upload(file_path)

تحميل ملف

يقوم بتحميل ملف محلي إلى VIDIO ويعيد نتيجة التحميل التي تحتوي على مفتاح الإدخال.

Parameters

file_pathstring
المسار المحلي للملف الذي ترغب في تحميله.

Returns

كائن نتيجة التحميل الذي يحتوي على `input_key`.

python
result = client.upload("/path/to/video.mp4") print(result.input_key)
طريقةclient.create_highlight_reel(input_keys, video_category, output_length, aspect_ratio)

إنشاء وظيفة تجميع النقاط البارزة

ينشئ وظيفة تجميع النقاط البارزة من واحدة أو أكثر من ملفات الإدخال المحملة.

Parameters

input_keyslist[string]
قائمة بمفاتيح الملفات المرفوعة التي تُرجَع بواسطة upload(). يحدد ترتيب مفاتيح الإدخال ترتيب الوسائط في الفيديو الناتج.
video_categorystring
فئة الفيديو مثل ball-sports. يمكن أن تكون podcast أو ball-sports أو non-ball-sports أو beauty-product-demo أو wedding أو travel أو others. للحصول على أفضل النتائج، حدد الفئة الأقرب إلى محتواك. إذا لم يتناسب محتواك مع أي فئة، استخدم others.
output_lengthinteger, optional
الطول المرغوب للفيديو الناتج بالثواني. مطلوب عندما يكون cut_method هو ai-cut; غير مطلوب عندما يكون cut_method هو no-cut. يجب أن يكون طول الناتج أقل من أو يساوي الطول الإجمالي لجميع مقاطع الفيديو المدخلة مجتمعة.
aspect_ratiostring
نسبة أبعاد الإخراج مثل landscape أو portrait أو square.
cut_methodstring, optional
يتحكم في كيفية قص مقاطع الفيديو المصدر قبل العرض. القيم المدعومة هي ai-cut و no-cut. القيمة الافتراضية هي ai-cut.
music_categorystring, optional
فئة موسيقية مُعدة مسبقًا لتطبيقها على الناتج. القيم المدعومة هي corporate و romantic و sports و kids_and_comedy و ambient_and_nature و horror_and_suspense و documentary و trending_vlogs. إذا كان طول الناتج أقصر من طول الموسيقى، فسيتم تكرار المقطع المختار ليتناسب مع الناتج.
music_volumeinteger, optional
مستوى صوت الموسيقى الخلفية من 0 إلى 100. إذا لم يتم تقديمه، فالقيمة الافتراضية هي 100.
original_audio_volumeinteger, optional
مستوى صوت مصدر الصوت الأصلي من 0 إلى 100. إذا لم يتم تقديمه، فالقيمة الافتراضية هي 100.

Returns

كائن وظيفة يحتوي على `job_id` ومعلومات الحالة.

python
job = client.create_highlight_reel( input_keys=[result.input_key], video_category="رياضة كرة", output_length=30, aspect_ratio="أفقي", ) print(job.job_id) print(job.status)
طريقةclient.get_job(job_id)

الحصول على وظيفة

يسترد الحالة الحالية لوظيفة.

Parameters

job_idstring
معرف الوظيفة الذي تم إرجاعه عند إنشاء وظيفة تجميع النقاط البارزة.

Returns

كائن وظيفة بأحدث حالة.

Response fields

job_idstring
معرّف الوظيفة.
statusstring
حالة الوظيفة الحالية، مثل submitted، queued، processing، processed، rendering، أو rendered.
outputslist[OutputResult]
يُعاد عندما تكتمل عملية العرض للوظيفة وتتوفر بيانات الإخراج من العملية الفرعية الأخيرة.
startfloat | null
وقت بدء مقطع الإخراج، إذا كان متاحًا.
endfloat | null
وقت نهاية مقطع الإخراج، إذا كان متاحًا.
thumbnailstring | null
مسار الصورة المصغرة أو عنوان URL للإخراج.
durationfloat | null
مدة الإخراج بالثواني.
fpsfloat | null
عدد الإطارات في الثانية للإخراج.
overlayslist[OverlayResult]
الطبقات التراكبية المُنقّحة المدرجة في الإخراج.
idinteger | null
معرّف التراكب.
fileIDstring | null
معرّف الملف المرتبط، عند التوفر.
originalFileNamestring | null
اسم ملف الإدخال الأصلي المرتبط بالتراكب، عند التوفر.
from_integer | float | null
الإزاحة بالإطارات حيث يبدأ التراكب.
contentstring | null
قيمة محتوى التراكب، مثل مسار الصورة المصغرة أو معرّف الصوت.
durationInFramesinteger | null
مدة التراكب بالإطارات.
typestring | null
نوع التراكب مثل video أو sound.
srcstring | null
عنوان URL لمصدر وسائط التراكب.
videoStartTimeinteger | float | null
وقت بدء الفيديو المصدر، عند الاقتضاء.
python
job_status = client.get_job(job.job_id) print(job_status.status)
جيسون
{ "job_id": "abc123", "status": "تم التصيير", "outputs": [ { "start": null, "end": null, "thumbnail": "out/...jpg", "duration": 15.22, "overlays": [ { "id": 0, "fileID": "file_123", "from": 0, "content": "https://...", "durationInFrames": 284, "type": "video", "src": "https://...", "videoStartTime": 5425 }, { "id": 876361, "from": 0, "content": "running-night-393139", "durationInFrames": 912, "type": "sound", "src": "https://..." } ], "fps": 59.94 } ] }
طريقةclient.wait_for_job(job_id)

انتظر الوظيفة

يستعلم عن واجهة برمجة التطبيقات حتى تصل وظيفة تجميع النقاط البارزة إلى حالة مكتملة.

Parameters

job_idstring
معرف الوظيفة التي تنتظرها.

Returns

كائن الوظيفة النهائية المكتملة.

python
final_job = client.wait_for_job(job.job_id) print(final_job.status)
طريقةclient.render(job_id)

تقديم المخرجات

يبدأ تقديم فيديو المخرجات لوظيفة تجميع النقاط البارزة المكتملة.

Parameters

job_idstring
معرف وظيفة تجميع النقاط البارزة المكتملة.
output_indexinteger, optional
مؤشر قائمة OutputResult التي سيتم عرضها. القيمة الافتراضية هي 0. بشكل عام، المخرج الأول هو أفضل نتيجة.

Returns

كائن نتيجة التقديم مع حالة التقديم.

python
render_result = client.render( job_id=job.job_id ) print(render_result.status)
طريقةclient.wait_for_render(job_id)

انتظر التقديم

يستعلم حتى ينتهي التقديم وتكون المخرجات جاهزة.

Parameters

job_idstring
معرف الوظيفة المرتبط بالتقديم.

Returns

كائن نتيجة التقديم النهائية.

python
final_render = client.wait_for_render(job.job_id) print(final_render.output_url)