Skip to main content
POST
/
upload
/
photo
Upload Photo Carousel
curl --request POST \
  --url https://api.d1g.qzz.io/api/v1/upload/photo \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data' \
  --form 'photos=<string>' \
  --form tiktokAccountId=3c90c3cc-0d44-4b50-8888-8dd25736052a \
  --form 'title=<string>' \
  --form photoCount=18 \
  --form privacyLevel=PUBLIC_TO_EVERYONE \
  --form disableDuet=false \
  --form disableStitch=false \
  --form disableComment=false \
  --form photos.items='@example-file'
{
  "success": true,
  "data": {
    "uploadId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "status": "pending",
    "message": "Photo upload queued. Processing in background."
  }
}

Authorizations

Authorization
string
header
required

Use JWT token (from Supabase auth) or API key (format: sk_live_...)

Body

multipart/form-data
photos
file[]
required

Photo files (max 10MB each)

Required array length: 1 - 35 elements
tiktokAccountId
string<uuid>
required
title
string
required
Required string length: 1 - 150
photoCount
integer
required
Required range: 1 <= x <= 35
privacyLevel
enum<string>
default:PUBLIC_TO_EVERYONE
Available options:
PUBLIC_TO_EVERYONE,
MUTUAL_FOLLOW_FRIENDS,
FOLLOWER_OF_CREATOR,
SELF_ONLY
disableDuet
boolean
default:false
disableStitch
boolean
default:false
disableComment
boolean
default:false

Response

202 - application/json

Photo upload accepted

success
boolean
Example:

true

data
object