REST API

Video Background Removal API

Remove video backgrounds programmatically. Simple REST API with presigned uploads.

API Keys

Manage your API credentials

Loading API keys...

Quick Start

4 steps to remove a video background

1

Create a Job

Create a new job to get a presigned upload URL.

POST/api/jobs
curl -X POST 'https://api.unscreen.ai/api/jobs' \
  -H 'Content-Type: application/json' \
  -d '{"user_id": "your-user-id"}'

Response:

{
  "job_id": "78ef9847-0482-46c4-b9b2-ecb1e0e3942f",
  "upload_url": "https://storage.example.com/uploads/.../video.mp4?...",
  "status": "uploading"
}
2

Upload Video

Upload your video to the presigned URL.

PUTupload_url from step 1
curl -X PUT '<upload_url>' \
  -H 'Content-Type: video/mp4' \
  --data-binary '@/path/to/video.mp4'
3

Start Processing

Trigger background removal after upload completes.

POST/api/jobs/{job_id}/start
curl -X POST 'https://api.unscreen.ai/api/jobs/{job_id}/start'

Response:

{
  "message": "Job queued for processing",
  "job_id": "78ef9847-0482-46c4-b9b2-ecb1e0e3942f"
}
4

Get Results

Poll the job status until completed, then download outputs.

GET/api/jobs/{job_id}
curl 'https://api.unscreen.ai/api/jobs/{job_id}'

Response (completed):

{
  "job_id": "78ef9847-0482-46c4-b9b2-ecb1e0e3942f",
  "status": "completed",
  "user_id": "your-user-id",
  "output_video_url": "https://storage.example.com/outputs/.../foreground.mp4?...",
  "alpha_video_url": "https://storage.example.com/outputs/.../alpha.mp4?...",
  "preview_image_url": "https://storage.example.com/previews/.../preview.jpg?...",
  "processing_time_seconds": 42,
  "completed_at": "2025-12-10T15:11:15.850704"
}

Status Values

uploading
queued
processing
completed

Output Fields

output_video_url— Transparent foreground video
alpha_video_url— Alpha matte video
preview_image_url— First frame preview
mask_url— Static mask image

Ready to integrate?

API access is included in Business and Enterprise plans.