API overview
Programmatic uploads and batch jobs for Pro subscribers. Generate your API key in the hosted app under Dashboard → Settings → API access.
Keys start with s2yt_live_ and are shown once at creation.
Authentication
Send the key on every request:
Authorization: Bearer s2yt_live_your_key_here
Requirements:
- Active Pro plan
- YouTube channel connected (sign in with Google OAuth that includes YouTube scopes)
Rate limits
Default is 60 requests per minute per account. Approved rate-limit extensions raise that ceiling. Check live usage and request an extension in Settings → API access.
Video quota from your Pro plan still applies when creating jobs (monthly video allowance and max batch size).
Choosing a flow
Recommended: two-step (especially 5+ audio files)
- Upload each file with
POST /api/v1/upload - Create the job with
POST /api/v1/jobs(JSON paths)
This avoids huge multipart bodies.
One-shot batch: small packs only
POST /api/v1/jobs/batch accepts one cover image and a few audio files in a single multipart request. Large bodies often fail with:
failed to parse body as FormData
Prefer two-step for albums or long tracklists. Pro max batch size is currently 5 audio files per job.
Multipart tips
- Do not set
Content-Typemanually for multipart; the client must include the boundary - In Postman: Body → form-data; each audio field key must be exactly
audio(type File) - If a file field shows a warning, re-select the file from disk
Discovery
GET /api/v1
Returns the endpoint list and requirements (no auth).
Next
See Endpoints for curl examples.