مسودة: يصف هذا التوثيق أوكتا فيديو كما ستكون عند الإطلاق، وقد لا تكون بعض الميزات متاحة بعد.
OctaVideoالتوثيق

Upload a video

POST
/videos/upload

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 until encoding_status is ready.

Authorization

AccessKey
headerAccessKey<token>

The private key of a library, starting with ovk_. Copy it from API & embeds in the console, keep it on your server, and rotate it there if it leaks.

Header Parameters

AccessKey*string

The library's private key. Same value as the AccessKey security scheme; listed here so code samples include it.

Request Body

multipart/form-data
  1. body
title?string

Video title. Must come before file. Defaults to the file name without its extension.

Lengthlength <= 255
file*string

The video file, up to 10 GiB.

Response Body

The video was created and queued for processing.

application/json
  1. response
data*
Example Request
curl -X POST 'https://api.octavideo.tech/api/v1/videos/upload' \  -H 'AccessKey: ovk_YOUR_LIBRARY_PRIVATE_KEY' \  -F 'file=string'
Example Response
{  "data": {    "id": "6f1c2b9e-4a7d-4f3e-9b8a-2d5c7e1f0a34",    "library_id": "0b8e5d3a-1c2f-4e6a-8b7d-9f0a1b2c3d4e",    "title": "Lesson 1: Introduction",    "description": "",    "encoding_status": "queued",    "progress": 0,    "duration_seconds": 0,    "size_bytes": 412337152,    "chapters": [],    "created_at": "2026-10-25T09:30:00Z"  }}