Skip to Content

Uploads

The staging queue and upload sources — stage scenes from URLs or presigned drops, tune per-row defaults, then start processing. Reads need scenes:read; writes need scenes:write.

The active staging queue + defaults + live cost summary.

scenes:read
GET/v1/upload/staging
items
object[]
Staged rows.
defaults
object
{ tier, shield, cast, site }.
costSummary
object
Live cost estimate for the queue.

Stage scenes from a source (URLS paste or post-presign DROP).

scenes:write
POST/v1/upload/staging
Console roles: OWNER, DIRECTOR
source
"DROP" | "URLS" | "CSV" | "DROPBOX" | "GDRIVE" | "GSHEETS" | "BUCKET" | "FTP" · required
Where the scenes come from.
payload
object · required
Source-specific, e.g. { urls: string[], tier?, shield? }.

Returns the staged rows.

Update one staging row.

scenes:write
PATCH/v1/upload/staging/{id}
Console roles: OWNER, DIRECTOR
id
string · required
Staging row ID.
tier
"TIER_1" | "TIER_2" | "TIER_3"
Processing tier.
shield
boolean
Shield compliance opt-in.
modelIds
string[]
Linked model IDs.
siteId
string
Paysite (Site.id).
title
string
Scene title.

Returns the updated row.

Remove a staging row + its staged file.

scenes:write
DELETE/v1/upload/staging/{id}
Console roles: OWNER, DIRECTOR
id
string · required
Staging row ID.

Returns 204 No Content.

Bulk-update tier/shield/etc across rows.

scenes:write
POST/v1/upload/staging/apply-defaults
Console roles: OWNER, DIRECTOR
tier
"TIER_1" | "TIER_2" | "TIER_3"
Processing tier.
shield
boolean
Shield compliance opt-in.
modelIds
string[]
Linked model IDs.
siteId
string
Paysite (Site.id).
scope
'all' | string[] · required
'all' or specific staging row IDs.

Returns the updated rows.

Validate credits, create Batch + Scene per row, debit, and enqueue.

scenes:write
POST/v1/upload/staging/start
Console roles: OWNER, DIRECTOR
ids
string[]
Specific rows, or all READY if omitted.
batchId
string
Created batch ID.
scenesCreated
integer
Scenes created.
creditsCharged
integer
Credits debited.
createdAt
string (ISO)
Created timestamp.

Reserve a staging row + get the upload URL.

scenes:write
POST/v1/upload/presign
Console roles: OWNER, DIRECTOR
filename
string · required
Filename; must end .mp4/.mov/.mxf.
contentType
string · required
MIME type.
sizeBytes
integer · required
File size in bytes.
tier
"TIER_1" | "TIER_2" | "TIER_3"
Processing tier.
shield
boolean
Shield compliance opt-in.
uploadStagingId
string
Reserved staging row ID.
presignedUrl
string | object
Presigned upload URL (or POST form).

Callback after the upload finishes.

scenes:write
POST/v1/upload/staging/{id}/complete-upload
Console roles: OWNER, DIRECTOR
id
string · required
Staging row ID.

Returns the updated staging row.

List the 8 upload sources with connected state.

scenes:read
GET/v1/upload/sources
sources
object[]
{ kind, label, available, connected }.

Initiate connect for an upload source.

scenes:write
POST/v1/upload/sources/{kind}/connect
Console roles: OWNER, DIRECTOR
kind
string · required
Source kind.
connected
boolean
True if already connected.
authUrl
string
OAuth URL to complete connect (optional).

Disconnect an upload source.

scenes:write
DELETE/v1/upload/sources/{kind}
Console roles: OWNER, DIRECTOR
kind
string · required
Source kind.

Returns 204 No Content.

Last updated on