Why Developers Choose Our API
Everything you need for professional video processing
Simple REST API
Easy-to-use REST endpoints with clear documentation. Get started in minutes.
Fast Processing
Optimized infrastructure for quick video processing. Priority queue for API users.
Secure & Reliable
HTTPS encryption, secure file handling, and 99.9% uptime SLA.
Global CDN
Fast file uploads and downloads from anywhere in the world.
Scalable
From 100 to 100,000 videos per month. Our infrastructure scales with you.
Webhook Support
Get notified when processing completes. No need to poll for status.
Quick Start
Get started with the API in minutes
TypeScript / JavaScript
Node.jsimport axios from 'axios';
// Initialize with your API key
const API_KEY = 'your_api_key_here';
const BASE_URL = 'https://api.unscreen.io/v1';
// Upload and process video
async function removeVideoBackground(videoFile: File) {
const formData = new FormData();
formData.append('file', videoFile);
const response = await axios.post(
`${BASE_URL}/remove-background`,
formData,
{
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'multipart/form-data',
},
}
);
return response.data;
}
// Check processing status
async function checkStatus(videoId: string) {
const response = await axios.get(
`${BASE_URL}/status/${videoId}`,
{
headers: {
'Authorization': `Bearer ${API_KEY}`,
},
}
);
return response.data;
}
// Example usage
const video = document.querySelector('input[type="file"]').files[0];
const result = await removeVideoBackground(video);
console.log('Video ID:', result.id);
// Poll for completion
const checkProgress = setInterval(async () => {
const status = await checkStatus(result.id);
console.log('Progress:', status.progress + '%');
if (status.status === 'completed') {
console.log('Download URL:', status.downloadUrl);
clearInterval(checkProgress);
}
}, 2000);Python
Python 3.ximport requests
import time
API_KEY = 'your_api_key_here'
BASE_URL = 'https://api.unscreen.io/v1'
def remove_video_background(video_path):
"""Upload and process video"""
headers = {
'Authorization': f'Bearer {API_KEY}'
}
with open(video_path, 'rb') as video_file:
files = {'file': video_file}
response = requests.post(
f'{BASE_URL}/remove-background',
headers=headers,
files=files
)
return response.json()
def check_status(video_id):
"""Check processing status"""
headers = {
'Authorization': f'Bearer {API_KEY}'
}
response = requests.get(
f'{BASE_URL}/status/{video_id}',
headers=headers
)
return response.json()
# Example usage
result = remove_video_background('video.mp4')
video_id = result['id']
# Poll for completion
while True:
status = check_status(video_id)
print(f"Progress: {status['progress']}%")
if status['status'] == 'completed':
print(f"Download URL: {status['downloadUrl']}")
break
time.sleep(2)cURL
Command Line# Upload video for processing
curl -X POST https://api.unscreen.io/v1/remove-background \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@video.mp4"
# Response
{
"id": "video_abc123",
"status": "processing",
"progress": 0
}
# Check status
curl -X GET https://api.unscreen.io/v1/status/video_abc123 \
-H "Authorization: Bearer YOUR_API_KEY"
# Response (completed)
{
"id": "video_abc123",
"status": "completed",
"progress": 100,
"processedUrl": "https://cdn.unscreen.io/processed/video_abc123.mp4",
"downloadUrl": "https://api.unscreen.io/v1/download/video_abc123"
}API Endpoints
Complete list of available endpoints
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| POST | /v1/remove-background | Upload and process a video | Required |
| GET | /v1/status/:id | Check processing status | Required |
| GET | /v1/download/:id | Download processed video | Required |
| POST | /v1/webhook | Register webhook URL | Required |
API Use Cases
Common scenarios for the video background remover API
SaaS Integration
Add video background removal to your SaaS product. Offer it as a feature to your users.
Example:
Video editing platforms, content creation tools
Automation
Automate video processing workflows. Process videos automatically when uploaded.
Example:
CI/CD pipelines, media management systems
Batch Processing
Process hundreds or thousands of videos programmatically with parallel requests.
Example:
Content migration, bulk video editing
Mobile Apps
Integrate video background removal into your iOS or Android app.
Example:
Social media apps, video editing apps
API Pricing & Rate Limits
Choose the plan that fits your needs
Business
200 videos
- API access
- Priority processing
- Webhook support
Enterprise
Unlimited
- Dedicated infrastructure
- SLA guarantee
- Custom integration
Rate Limits
Migrating from Unscreen API
Easy migration for existing Unscreen API users
If you're currently using the Unscreen API, migration to unscreen.io is straightforward. Our API is designed with similar endpoints and response structures for easy transition.
Key Differences:
- Base URL: Change from unscreen.com to api.unscreen.io
- Authentication: Bearer token instead of API key in URL
- Response format: Nearly identical with minor field name changes
- Webhooks: Enhanced webhook support with more events