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/jobscurl -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.
PUT
upload_url from step 1curl -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}/startcurl -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
uploadingqueuedprocessingcompletedOutput Fields
output_video_url— Transparent foreground videoalpha_video_url— Alpha matte videopreview_image_url— First frame previewmask_url— Static mask image