Skip to main content

Model Comparison

VideoBGRemover offers two AI models to fit different use cases:

videobgremover-original

Highest quality segmentation with detailed edge detection. Best for complex scenes.
  • Quality: Highest
  • Speed: Standard
  • Pricing: 60 credits/min

videobgremover-light

Fast and efficient processing optimized for speed. Great for simple backgrounds.
  • Quality: High
  • Speed: 1.5x faster ⚡
  • Pricing: 45 credits/min (25% cheaper)

Quick Comparison

FeatureOriginalLight
Modelvideobgremover-originalvideobgremover-light
QualityHighestHigh
Processing SpeedStandard1.5x faster
Pricing60 credits/min45 credits/min (25% cheaper)
Best ForComplex scenes, detailed segmentationFast processing, simple backgrounds

When to Use Each Model

videobgremover-original (Default)

Use this model when you need:
  • Highest quality segmentation with precise edge detection
  • Complex scenes with multiple objects or complex movement
  • Professional output for client deliverables
  • Challenging scenarios that require the best possible accuracy
Example use cases:
  • Professional video production
  • E-commerce product videos with complex products
  • Videos with multiple subjects or objects
  • Content with complex movement or camera motion

videobgremover-light

Use this model when you need:
  • Fast processing (1.5x faster than original)
  • Cost savings (25% cheaper)
  • Face cam or talking head videos (single person content)
  • High volume processing where speed matters
Example use cases:
  • Face cam videos and presentations
  • UGC (user-generated content) with people talking
  • Social media content with single subjects
  • Quick prototypes or drafts

Usage Examples

Using Models via SDK (High-Level)

import { VideoBGRemoverClient, Video, RemoveBGOptions, Prefer, Model } from 'videobgremover'

const client = new VideoBGRemoverClient(process.env.API_KEY!)
const video = Video.open('./video.mp4')

// Option 1: Use light model (faster, cheaper)
const optionsLight = new RemoveBGOptions(Prefer.WEBM_VP9, Model.VIDEOBGREMOVER_LIGHT)
const foreground = await video.removeBackground({ client, options: optionsLight })

// Option 2: Use original model (highest quality)
const optionsOriginal = new RemoveBGOptions(Prefer.WEBM_VP9, Model.VIDEOBGREMOVER_ORIGINAL)
const foreground = await video.removeBackground({ client, options: optionsOriginal })

// Option 3: Use default (original model)
const optionsDefault = new RemoveBGOptions(Prefer.WEBM_VP9)
const foreground = await video.removeBackground({ client, options: optionsDefault })

Using Models via API Client (Low-Level)

import { VideoBGRemoverClient } from 'videobgremover'

const client = new VideoBGRemoverClient(process.env.API_KEY!)

// Create job
const job = await client.createJobUrl({ video_url: 'https://example.com/video.mp4' })

// Start with light model
await client.startJob(job.id, {
  model: 'videobgremover-light',  // 25% cheaper, 1.5x faster
  background: {
    type: 'transparent',
    transparent_format: 'webm_vp9'
  }
})

// Wait for completion
const result = await client.wait(job.id)

Using Models via cURL

# Create job
JOB=$(curl -s -X POST https://api.videobgremover.com/v1/jobs \
  -H "X-Api-Key: $API_KEY" \
  -F "file=@video.mp4")

JOB_ID=$(echo $JOB | jq -r '.id')

# Start with light model (faster, cheaper)
curl -X POST https://api.videobgremover.com/v1/jobs/$JOB_ID/start \
  -H "X-Api-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "videobgremover-light",
    "background": {
      "type": "transparent",
      "transparent_format": "webm_vp9"
    }
  }'

Pricing Examples

Example 1: 30-second video
  • Original model: 30 × 1.0 = 30 credits
  • Light model: Math.ceil(30 × 0.75) = 23 credits (7 credits saved, 23% cheaper)
Example 2: 2-minute video
  • Original model: 120 × 1.0 = 120 credits
  • Light model: Math.ceil(120 × 0.75) = 90 credits (30 credits saved, 25% cheaper)
Example 3: 5-minute video
  • Original model: 300 × 1.0 = 300 credits
  • Light model: Math.ceil(300 × 0.75) = 225 credits (75 credits saved, 25% cheaper)

Default Behavior

If you don’t specify a model:
  • API: Defaults to videobgremover-original
  • SDK: Defaults to videobgremover-original
  • Web UI: Uses videobgremover-original

Model Selection Tips

Start with light model for prototyping, then switch to original for final output if you need the highest quality.
Model selection cannot be changed after job starts. Choose your model when calling startJob().

Next Steps