مرجع واجهة برمجة التطبيقات
يعد VidioClient نقطة الدخول الرئيسية للتفاعل مع واجهة برمجة التطبيقات VIDIO من بايثون. استخدمه لتحميل الملفات، إنشاء وظائف تجميع النقاط البارزة، التحقق من حالة الوظائف، تقديم المخرجات، وانتظار انتهاء المعالجة.
نموذج العميل
يوفر VidioClient واجهة بسيطة للعمل مع واجهة برمجة التطبيقات VIDIO. بعد إنشاء عميل باستخدام مفتاح واجهة برمجة التطبيقات الخاصة بك، يمكنك تحميل ملفات الإدخال، إنشاء وظائف تجميع النقاط البارزة، استعلام حالة الوظائف، تقديم المخرجات، وانتظار انتهاء الوظائف.
خصائص
طرق
VidioClient(api_key)تهيئة العميل
ينشئ مثيل جديد من VidioClient.
Parameters
Returns
مثيل VidioClient مُهيأ.
from vidio import VidioClient
import os
client = VidioClient(
api_key=os.getenv("VIDIO_API_KEY")
)client.upload(file_path)تحميل ملف
يقوم بتحميل ملف محلي إلى VIDIO ويعيد نتيجة التحميل التي تحتوي على مفتاح الإدخال.
Parameters
Returns
كائن نتيجة التحميل الذي يحتوي على `input_key`.
result = client.upload("/path/to/video.mp4")
print(result.input_key)client.create_highlight_reel(input_keys, video_category, output_length, aspect_ratio)إنشاء وظيفة تجميع النقاط البارزة
ينشئ وظيفة تجميع النقاط البارزة من واحدة أو أكثر من ملفات الإدخال المحملة.
Parameters
upload(). يحدد ترتيب مفاتيح الإدخال ترتيب الوسائط في الفيديو الناتج.ball-sports. يمكن أن تكون podcast أو ball-sports أو non-ball-sports أو beauty-product-demo أو wedding أو travel أو others. للحصول على أفضل النتائج، حدد الفئة الأقرب إلى محتواك. إذا لم يتناسب محتواك مع أي فئة، استخدم others.cut_method هو ai-cut; غير مطلوب عندما يكون cut_method هو no-cut. يجب أن يكون طول الناتج أقل من أو يساوي الطول الإجمالي لجميع مقاطع الفيديو المدخلة مجتمعة.landscape أو portrait أو square.ai-cut و no-cut. القيمة الافتراضية هي ai-cut.corporate و romantic و sports و kids_and_comedy و ambient_and_nature و horror_and_suspense و documentary و trending_vlogs. إذا كان طول الناتج أقصر من طول الموسيقى، فسيتم تكرار المقطع المختار ليتناسب مع الناتج.0 إلى 100. إذا لم يتم تقديمه، فالقيمة الافتراضية هي 100.0 إلى 100. إذا لم يتم تقديمه، فالقيمة الافتراضية هي 100.Returns
كائن وظيفة يحتوي على `job_id` ومعلومات الحالة.
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
Returns
كائن وظيفة بأحدث حالة.
Response fields
submitted، queued، processing، processed، rendering، أو rendered.video أو sound.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
Returns
كائن الوظيفة النهائية المكتملة.
final_job = client.wait_for_job(job.job_id)
print(final_job.status)client.render(job_id)تقديم المخرجات
يبدأ تقديم فيديو المخرجات لوظيفة تجميع النقاط البارزة المكتملة.
Parameters
OutputResult التي سيتم عرضها. القيمة الافتراضية هي 0. بشكل عام، المخرج الأول هو أفضل نتيجة.Returns
كائن نتيجة التقديم مع حالة التقديم.
render_result = client.render(
job_id=job.job_id
)
print(render_result.status)client.wait_for_render(job_id)انتظر التقديم
يستعلم حتى ينتهي التقديم وتكون المخرجات جاهزة.
Parameters
Returns
كائن نتيجة التقديم النهائية.
final_render = client.wait_for_render(job.job_id)
print(final_render.output_url)