Skip to main content
POST
Bulk Create Jobs

Overview

Create up to 100 download jobs in a single API request. All jobs share the same encoding options but can have individual filenames. The response includes a grouping batch_id and individual job_ids; follow each job with GET /jobs/{id}. Use this endpoint for high-volume submission: a bulk request counts as one HTTP request toward the API’s 1,000 requests per second per authenticated client ceiling. All direct API keys in the same organization share that budget across API instances. If you receive 429 with error: "rate_limit_exceeded", respect Retry-After before retrying. Bulk requires a direct API key; it is not available through marketplace authentication. Storage allowances and server capacity checks still apply.

Header Parameters

string
required
Your API key for authentication

Request

array
required
Array of job items (max 100)

Job Item

string
required
Video URL to download
string
Custom filename for this specific job

Shared Options

string
S3 folder prefix for all jobs
string
Output format for all jobs. Video: mp4, mkv, webm, mov. Audio: m4a, mp3, ogg, opus. Default: mp4 (or m4a when audio_only is true)
string
Video codec for all jobs: copy, h264, h265, vp9
string
Audio codec for all jobs: copy, aac, opus, mp3
string
Audio bitrate for all jobs: 64k, 128k, 192k, 256k, 320k
integer
Video quality CRF for all jobs (0-51)
boolean
default:"false"
Extract audio only for all jobs. Outputs m4a by default (no re-encoding). Set format to mp3, ogg, or opus for other audio formats.
boolean
default:"false"
Download subtitles for all jobs
boolean
default:"false"
Download thumbnails for all jobs
string
Quality preset for all jobs: highest, high, medium, low, lowest
string
Video resolution preference for all jobs: best, lowest, 2160, 1440, 1080, 720, 480, 360, 240, 144. A numeric value chooses the best available resolution at or below the value, or the smallest available format if none fits. lowest always requests the smallest available video format. See single-job resolution and audio selection for details.
string
Start timestamp for video clipping (all jobs). Format: HH:MM:SS or seconds.
string
End timestamp for video clipping (all jobs). Format: HH:MM:SS or seconds.
boolean
default:"false"
Enable live stream recording mode for all jobs.
boolean
default:"false"
Record from stream beginning (VOD mode) for all live stream jobs.
integer
Maximum recording duration in seconds for all jobs.
boolean
default:"false"
Wait for scheduled streams to start for all jobs.

Request Example

Each item in the jobs array only requires a url. The filename is optional - if not provided, the original video title will be used.All other options (folder, format, video_codec, etc.) are applied to all jobs in the batch.

Response

string
Batch ID for tracking all jobs
integer
Number of jobs created
array
List of individual job IDs

Examples

Success Response

Error Responses

Notes

  • Maximum 100 jobs per bulk request
  • All jobs share the same encoding options and folder
  • Each job can have a unique filename
  • Webhooks are not supported in bulk requests (use individual job creation for webhooks)
  • Use /jobs/{id} to poll individual job status
  • The batch_id is for reference only - jobs are processed independently