Upload Clip
POST
/api/superadmin/clips/upload
const url = 'https://example.com/api/superadmin/clips/upload';const form = new FormData();form.append('file', 'example');form.append('sidecar_json', 'example');form.append('name', 'example');form.append('caption', 'example');form.append('hero', 'false');form.append('crop', 'example');form.append('start_sec', '0');form.append('duration_sec', '1');form.append('vp9_crf', '30');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/superadmin/clips/upload \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: multipart/form-data' \ --form file=example \ --form sidecar_json=example \ --form name=example \ --form caption=example \ --form hero=false \ --form crop=example \ --form start_sec=0 \ --form duration_sec=1 \ --form vp9_crf=30Queue a marketing clip for server-side encode + auto-deploy.
Returns 202 immediately; encode + ingest run as an anchored background task. The studio’s UX is fire-and-forget: the user sees a toast and the gallery updates ~30–60s later.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ” Media type multipart/form-data
Body_upload_clip_api_superadmin_clips_upload_post
object
file
required
File
Raw .webm slice from the studio
string
sidecar_json
required
Sidecar Json
ClipSidecar JSON string
string
name
required
Name
Scene name; must match [a-z][a-z0-9_]{0,40}
string
caption
required
Caption
Gallery caption
string
hero
Hero
boolean
start_sec
Start Sec
number
duration_sec
required
Duration Sec
number
vp9_crf
Vp9 Crf
integer
Responses
Section titled “ Responses ”Successful Response
Media type application/json
Response Upload Clip Api Superadmin Clips Upload Post
object
key
additional properties
any
Example generated
{}Validation Error
Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationErrorobject
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Example generated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}