Create Job
Jobs
Create Job
Create a new download job
POST
Create Job
Overview
Creates a new download job. For single videos, returns ajob_id. For Spotify shows, automatically creates a batch and returns a batch_id with all episode job IDs.
Header Parameters
Your API key for authentication
Request
The video or show URL to download
Output container format. Video:
mp4, mkv, webm, mov. Audio: m4a, mp3, ogg, opus. Default: mp4 (or m4a when audio_only is true)Video codec:
copy (no re-encode), h264, h265, vp9. Default: copyAudio codec:
copy (no re-encode), aac, opus, mp3. Default: copy with automatic fallback to aac if incompatibleAudio bitrate when transcoding:
64k, 128k, 192k, 256k, 320k. Default: 192kVideo quality CRF (0-51, lower = better quality). Only used when
video_codec is not copy. Default: 23Custom filename (without extension). Max 255 characters. Cannot contain
.., /, \, or null bytes.S3 folder prefix for organizing files. Max 200 characters. Cannot contain
.., start with / or \, or be empty/whitespace-only.URL to receive completion notification via POST request.
Extract audio track only. Outputs
m4a (native AAC, no re-encoding) by default. Set format to mp3, ogg, or opus for other audio formats. Supports audio_codec and audio_bitrate for transcoding control.Download subtitles if available. Returns subtitle URL in job response.
Download video thumbnail. Returns thumbnail URL in job response.
Quality preset that overrides
video_quality. Options: highest, high, medium, low, lowest.Maximum video resolution. Options:
best (default), 2160 (4K), 1440, 1080, 720, 480, 360. Works correctly for both horizontal and vertical (Shorts) videos by checking the shorter dimension.Start timestamp for video clipping. Format:
HH:MM:SS, MM:SS, or seconds (e.g., 00:01:30 or 90).End timestamp for video clipping. Format:
HH:MM:SS, MM:SS, or seconds (e.g., 00:05:00 or 300). Must be greater than clip_start.Enable live stream recording mode. Auto-detected for live URLs.
For live streams: record from the beginning (VOD mode) instead of the live point.
Maximum recording duration in seconds. Recommended for live streams as a safety cap. Example:
7200 for 2 hours.Wait for scheduled/upcoming streams to start before downloading.
Enable progress webhooks during processing. Sends updates at each stage:
downloading, muxing, uploading.Inline storage credentials. Required for marketplace users (RapidAPI, Apify, Zyla). Optional for direct API users (overrides pre-configured storage). Supports 4 providers via the
provider field. See Inline Storage examples below.For Spotify show batches only. Creates the batch in paused mode: jobs are not enqueued for processing immediately. Use
PATCH /batch/{id}/jobs to rename episodes, then POST /batch/{id}/start to launch.Single Job Response
UUID of the created job
Response
Batch Response (Spotify Shows)
When the URL is a Spotify show, a batch is created automatically:UUID of the batch job
Number of episodes in the show
Whether the batch was created in paused mode
List of episode details with job IDs, URLs, titles, descriptions, and release dates
List of job IDs for each episode (legacy field)
Response (default mode)
Response (paused mode)
Examples
Inline Storage
Thestorage field lets you provide cloud storage credentials directly in the request. This is required for marketplace users and optional for direct API users.
Inline storage credentials take priority over pre-configured storage, are validated before the job is accepted, and are never stored or logged.
Provider Fields
- S3 / S3-Compatible
- Azure Blob
- Google Cloud Storage
- Alibaba OSS
| Field | Type | Required | Description |
|---|---|---|---|
provider | string | Yes | Must be "s3" |
endpoint | string | Yes | S3 endpoint URL (e.g., https://s3.us-east-1.amazonaws.com, https://ACCOUNT.r2.cloudflarestorage.com) |
bucket | string | Yes | Bucket name |
region | string | Yes | AWS region (e.g., us-east-1) or auto for R2 |
access_key | string | Yes | Access key ID |
secret_key | string | Yes | Secret access key |
folder_prefix | string | No | Folder prefix (e.g., downloads/2024/) |
base_folder | string | No | Top-level folder (default: videos) |
Success Response
Batch Response (YouTube Playlists)
When the URL is a YouTube playlist, a batch is created automatically:UUID of the batch job
Number of videos in the playlist
List of job IDs for each video
Error Responses
Notes
The
429 Too Many Requests and 503 Service Unavailable responses include a Retry-After header indicating how many seconds to wait before retrying.Codec auto-correction: Incompatible codec/format combinations are automatically corrected to ensure valid output:
webm+h264→ video codec changed tovp9webm+aac→ audio codec changed toopusogg/opus+aac→ audio codec changed toopusmp3+aac→ audio codec changed tomp3- Setting
audio_bitratewithoutaudio_codec→ audio codec defaults toaac
format values are silently replaced with mp4.