Skip to main content
POST
/
v1
/
uploads
Request a file upload URL
curl --request POST \
  --url https://api.framelane.io/v1/uploads \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "content_type": "video/mp4",
  "filename": "my-clip.mp4"
}
'
{
  "upload_url": "https://storage.googleapis.com/framelane-prod-user/uploads/ws_01J.../a1b2c3.mp4?upload_id=...",
  "source_url": "https://cdn-user.framelane.io/uploads/ws_01J.../a1b2c3.mp4",
  "expires_at": "2023-11-07T05:31:56Z"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
content_type
string
required

MIME type of the file you will upload.

Example:

"video/mp4"

filename
string | null

Optional original filename. Used only to set the file extension.

Example:

"my-clip.mp4"

Response

Successful Response

Response from POST /v1/uploads.

upload_url
string
required

GCS resumable upload URL. PUT your file bytes here with the correct Content-Type.

Example:

"https://storage.googleapis.com/framelane-prod-user/uploads/ws_01J.../a1b2c3.mp4?upload_id=..."

source_url
string
required

CDN URL for the uploaded file. Pass this as source_url in render/task requests.

Example:

"https://cdn-user.framelane.io/uploads/ws_01J.../a1b2c3.mp4"

expires_at
string<date-time>
required

When the upload_url expires (1 hour from now).