> ## Documentation Index
> Fetch the complete documentation index at: https://docs.videobgremover.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Background Removal Models

> Four AI models: Original (highest quality), Light (1.5x faster), Pro (text prompts), and Human (2x faster, portrait-optimized).

## Model Comparison

VideoBGRemover offers four AI models to fit different use cases:

<CardGroup cols={2}>
  <Card title="videobgremover-original" icon="wand-magic-sparkles">
    Highest quality segmentation with detailed edge detection. Best for complex scenes.

    * **Quality**: Highest
    * **Speed**: Standard
    * **Text Prompts**: ✅ Supported
    * **Pricing**: 60 credits/min (1.0 credits/sec)
  </Card>

  <Card title="videobgremover-light" icon="bolt">
    Fast and efficient processing optimized for speed. Great for simple backgrounds.

    * **Quality**: High
    * **Speed**: 2x faster ⚡
    * **Pricing**: 45 credits/min (0.75 credits/sec) - 25% cheaper
  </Card>

  <Card title="videobgremover-pro" icon="sparkles">
    Advanced background removal for complex objects. Enables text prompting for precise segmentation.

    * **Quality**: Highest
    * **Speed**: Slowest
    * **Text Prompts**: ✅ Supported
    * **Pricing**: 180 credits/min (3.0 credits/sec)
  </Card>

  <Card title="videobgremover-human" icon="user">
    Fast matting algorithm optimized for portraits and facing people.

    * **Quality**: High
    * **Speed**: Fastest ⚡⚡
    * **Best For**: Human subjects
    * **Pricing**: 45 credits/min (0.75 credits/sec) - 25% cheaper
  </Card>
</CardGroup>

***

## Quick Comparison

| Feature              | Original                              | Light                               | Pro                                      | Human                            |
| -------------------- | ------------------------------------- | ----------------------------------- | ---------------------------------------- | -------------------------------- |
| **Model**            | videobgremover-original               | videobgremover-light                | videobgremover-pro                       | videobgremover-human             |
| **Quality**          | Highest                               | High                                | Highest                                  | High                             |
| **Processing Speed** | Standard                              | 2x faster                           | Slowest                                  | Fastest                          |
| **Pricing**          | 60 credits/min (1.0/sec)              | 45 credits/min (0.75/sec)           | 180 credits/min (3.0/sec)                | 45 credits/min (0.75/sec)        |
| **Text Prompts**     | ✅                                     | ❌                                   | ✅                                        | ❌                                |
| **Best For**         | Complex scenes, detailed segmentation | Fast processing, simple backgrounds | Complex objects, text-based segmentation | Human portraits, face cam videos |

***

## 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

**Pricing**: 60 credits/min (1.0 credits/sec)

***

### videobgremover-light

Use this model when you need:

* **Fast processing** (2x 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

**Pricing**: 45 credits/min (0.75 credits/sec) - 25% cheaper than original

***

### videobgremover-pro

Use this model when you need:

* **Text-based prompting** to specify exactly what to keep
* **Complex object segmentation** (cars, furniture, animals, etc.)
* **Precise control** over what gets removed
* **Specific subject isolation** using natural language

**Example use cases:**

* Product videos where you want to isolate specific items ("red car", "wooden chair")
* Animal videos ("golden retriever", "black cat")
* Complex scenes with multiple objects where you need to keep specific ones
* Videos where automatic detection struggles

**Text prompt examples:**

* "person wearing red jacket"
* "golden retriever dog"
* "car with blue paint"
* "wooden table"

**Pricing**: 180 credits/min (3.0 credits/sec)

<Note>
  Text prompts work with `videobgremover-original` and `videobgremover-pro`. Use `prompt.mode: "text"` with natural language descriptions.
</Note>

***

### videobgremover-human

Use this model when you need:

* **Fastest processing speed**
* **Cost savings** (25% cheaper, same as Light)
* **Human-focused videos** (portraits, face cam, talking heads)
* **Real-time performance** for high volume processing

**Example use cases:**

* Portrait videos and headshots
* Face cam content and webcam recordings
* Talking head videos for courses or tutorials
* Social media content with people facing the camera
* High-volume human-centric processing

**Pricing**: 45 credits/min (0.75 credits/sec) - 25% cheaper than original

<Warning>
  This model is optimized specifically for human subjects. For non-human objects or complex scenes, use `videobgremover-original` or `videobgremover-pro`.
</Warning>

***

## Usage Examples

### Using Models via API Client (Low-Level)

<CodeGroup>
  ```typescript Node.js theme={"dark"}
  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' })

  // Option 1: Original model (default, highest quality)
  await client.startJob(job.id, {
    model: 'videobgremover-original',
    background: { type: 'transparent', transparent_format: 'webm_vp9' }
  })

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

  // Option 3: Pro model with text prompt
  await client.startJob(job.id, {
    model: 'videobgremover-pro',
    prompt: { mode: 'text', text: 'person wearing red jacket' },
    background: { type: 'transparent', transparent_format: 'webm_vp9' }
  })

  // Option 4: Human model (50% cheaper, 2x faster, optimized for people)
  await client.startJob(job.id, {
    model: 'videobgremover-human',
    background: { type: 'transparent', transparent_format: 'webm_vp9' }
  })

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

  ```python Python theme={"dark"}
  from videobgremover import VideoBGRemoverClient
  import os

  client = VideoBGRemoverClient(api_key=os.getenv('API_KEY'))

  # Create job
  job = client.create_job_url({'video_url': 'https://example.com/video.mp4'})

  # Option 1: Original model (default, highest quality)
  client.start_job(job['id'], {
      'model': 'videobgremover-original',
      'background': {'type': 'transparent', 'transparent_format': 'webm_vp9'}
  })

  # Option 2: Light model (25% cheaper, 1.5x faster)
  client.start_job(job['id'], {
      'model': 'videobgremover-light',
      'background': {'type': 'transparent', 'transparent_format': 'webm_vp9'}
  })

  # Option 3: Pro model with text prompt
  client.start_job(job['id'], {
      'model': 'videobgremover-pro',
      'prompt': {'mode': 'text', 'text': 'person wearing red jacket'},
      'background': {'type': 'transparent', 'transparent_format': 'webm_vp9'}
  })

  # Option 4: Human model (50% cheaper, 2x faster, optimized for people)
  client.start_job(job['id'], {
      'model': 'videobgremover-human',
      'background': {'type': 'transparent', 'transparent_format': 'webm_vp9'}
  })

  # Wait for completion
  result = client.wait(job['id'])
  ```
</CodeGroup>

***

### Using Models via cURL

```bash theme={"dark"}
# 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')

# Option 1: Light model (25% cheaper, 1.5x faster)
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"}
  }'

# Option 2: Pro model with text prompt
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-pro",
    "prompt": {"mode": "text", "text": "golden retriever dog"},
    "background": {"type": "transparent", "transparent_format": "webm_vp9"}
  }'

# Option 3: Human model (50% cheaper, 2x faster)
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-human",
    "background": {"type": "transparent", "transparent_format": "webm_vp9"}
  }'
```

***

## Pricing Examples

### 30-second video

| Model        | Calculation | Credits        | Savings                 |
| ------------ | ----------- | -------------- | ----------------------- |
| **Original** | `30 × 1.0`  | **30 credits** | -                       |
| **Light**    | `30 × 0.75` | **23 credits** | 7 credits (23% cheaper) |
| **Pro**      | `30 × 3.0`  | **90 credits** | -                       |
| **Human**    | `30 × 0.75` | **23 credits** | 7 credits (23% cheaper) |

### 2-minute video

| Model        | Calculation  | Credits         | Savings                  |
| ------------ | ------------ | --------------- | ------------------------ |
| **Original** | `120 × 1.0`  | **120 credits** | -                        |
| **Light**    | `120 × 0.75` | **90 credits**  | 30 credits (25% cheaper) |
| **Pro**      | `120 × 3.0`  | **360 credits** | -                        |
| **Human**    | `120 × 0.75` | **90 credits**  | 30 credits (25% cheaper) |

### 5-minute video

| Model        | Calculation  | Credits         | Savings                  |
| ------------ | ------------ | --------------- | ------------------------ |
| **Original** | `300 × 1.0`  | **300 credits** | -                        |
| **Light**    | `300 × 0.75` | **225 credits** | 75 credits (25% cheaper) |
| **Pro**      | `300 × 3.0`  | **900 credits** | -                        |
| **Human**    | `300 × 0.75` | **225 credits** | 75 credits (25% cheaper) |

<Note>
  **FPS-Based Pricing**: High frame rate videos consume additional credits. Videos at 31-60 FPS use 2x credits, 61-120 FPS use 3x credits, and >120 FPS use 4x credits (standard ≤30 FPS videos use 1x). This multiplier applies to all models.
</Note>

***

## 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

<Tip>
  **Choosing the right model:**

  * **Human subjects?** → Use `videobgremover-human` (fastest speed)
  * **Need text prompts?** → Use `videobgremover-original` (best quality) or `videobgremover-pro` (complex objects)
  * **Complex scenes?** → Use `videobgremover-original` (highest quality)
  * **Fast & cheap?** → Use `videobgremover-light` (2x faster than original) or `videobgremover-human` (fastest)
</Tip>

<Warning>
  Model selection cannot be changed after job starts. Choose your model when calling `startJob()`.
</Warning>

<Note>
  **Pro tip**: Start with `videobgremover-light` or `videobgremover-human` for prototyping, then switch to `videobgremover-original` for final output. Use text prompts with `videobgremover-original` for best quality when targeting specific objects.
</Note>

***

## Next Steps

<CardGroup cols={3}>
  <Card title="📖 Background Removal Guide" icon="book" href="/video-background-removal/guide">
    Complete guide to background removal
  </Card>

  <Card title="🎨 Output Formats" icon="file-video" href="/video-background-removal/output-formats">
    Choose WebM, ProRes, PNG sequence, etc.
  </Card>

  <Card title="💳 Pricing" icon="credit-card" href="/installation#credits--pricing">
    Credit packages and billing
  </Card>
</CardGroup>
