مرجع الواجهة البرمجية
واجهة خادم أوكتا فيديو البرمجية نقطةً نقطة، مولّدة من مواصفة OpenAPI الخاصة بها.
تتيح واجهة الخادم البرمجية لخادمك رفع الفيديوهات وإدارتها وإصدار رموز التشغيل (OTP). لكل نقطة نهاية صفحتها الخاصة بالمعاملات ومخطط الطلب والاستجابة وأمثلة الكود.
صفحات نقاط النهاية مكتوبة بالإنجليزية لأنها مولّدة مباشرة من المواصفة. الأدلة المكتوبة بالعربية تشرح كل خطوة: المصادقة والتشغيل الآمن والرفع عبر الواجهة البرمجية.
الأساسيات
| العنوان الأساسي | https://api.octavideo.tech/api/v1 |
| المصادقة | المفتاح الخاص بالمكتبة في الترويسة AccessKey. اقرأ المصادقة. |
| الصيغة | JSON في الطلب والاستجابة، ما عدا الرفع (multipart/form-data). |
| النجاح | المحتوى داخل data، وتضيف القوائم meta. اقرأ الترقيم. |
| الأخطاء | { "error": { "code", "message", "request_id" } }. اقرأ الأخطاء. |
| المواصفة | OpenAPI 3.1 بصيغة JSON |
نقاط النهاية
| الطريقة | المسار | الوظيفة |
|---|---|---|
POST | /videos/upload | رفع ملف فيديو |
POST | /videos/import | الاستيراد من Google Drive أو OneDrive أو رابط |
GET | /videos | عرض قائمة الفيديوهات |
GET | /videos/{videoId} | جلب فيديو وحالة معالجته |
PUT | /videos/{videoId}/details | تعديل العنوان والوصف |
PUT | /videos/{videoId}/chapters | استبدال الفصول |
POST | /videos/{videoId}/transcribe | بدء التفريغ النصي |
GET | /videos/{videoId}/thumbnails | عرض روابط الصور المصغّرة |
POST | /collections | إنشاء مجموعة |
POST | /collections/{collectionId}/videos | إضافة فيديوهات إلى مجموعة |
POST | /playback/otp | إصدار رمز تشغيل ورابط التضمين |
لا توجد أداة تجربة في المتصفح
تُستدعى واجهة الخادم البرمجية من خادمك بالمفتاح الخاص لمكتبتك، ويجب ألا يصل هذا المفتاح إلى أي متصفح. جرّب الطلبات عبر cURL أو عبر إحدى حزم SDK.
استخدم المواصفة في أدواتك
نزّل openapi.json لتوليد عميل بأنواع جاهزة، أو استيراد الواجهة في Postman أو Insomnia، أو إعطاء مساعد البرمجة بالذكاء الاصطناعي العقد الدقيق. ويسرد الملف /llms.txt كل صفحات هذا التوثيق بصيغة Markdown لوكلاء الذكاء الاصطناعي.
الترقيم والحدود
كيف تُقسَّم نتائج القوائم إلى صفحات، وحدود الحجم والوقت والمعدّل في الواجهة البرمجية.
Upload a video POST
Uploads a video file as `multipart/form-data` and queues it for processing. Send the `title` part **before** the `file` part: the file is streamed straight into storage, so parts after it are ignored. If `title` is missing or blank, the file name without its extension is used. The file can be up to 10 GiB and the request may run for up to 2 hours. The new video starts in the `queued` status; poll [Get a video](#operation/getVideo) until `encoding_status` is `ready`.