Skip to main content

Upload & Process

Request signed upload URL

Endpoint: POST /v1/api/{orgID}/environments/{envID}/videos/upload-url

Body:

{
"filename": "demo.mp4",
"fileSize": 123456789,
"contentType": "video/mp4"
}

Response contains signedURL, bucketPath, expiresAt.

Upload the file

PUT the file to signedURL from the previous step with the correct Content-Type.

Start processing

Endpoint: POST /v1/api/{orgID}/environments/{envID}/videos/process

Body (common fields):

{
"videoName": "Demo",
"gcsPath": "gs://<bucket>/<org>/<env>/videos/demo.mp4",
"videoQuality": "standard",
"allowPublicAccess": true
}

Advanced options are available (maxEdgeLength, maxFrameRate, pixelFormat, rateControlMode, twoPassVBREncoding, audioCodec).

Notes

  • Upload is authenticated via user session; ensure you are logged in.
  • publicID is available via listing/details and is used for playback.