11 production pipelines, 47 tools, 124 agent skills. Supports cloud APIs (fal.ai, OpenAI, ElevenLabs, Suno, HeyGen, Runway) and free local providers (diffusers, Piper TTS, WAN 2.1, Hunyuan, CogVideo). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
4.9 KiB
Background Removal Usage for OpenMontage
Sources: rembg library documentation, U2Net paper (Qin et al. 2020), IS-Net paper (Qin et al. 2022), OpenMontage
tools/bg_remove.pyimplementation
Quick Reference Card
DEFAULT MODEL: u2net (general purpose, fast)
FOR PEOPLE: u2net_human_seg (optimized for human silhouettes)
FINE EDGES: Enable alpha_matting (hair, fur, leaves)
OUTPUT: Transparent PNG by default; set bg_color for solid replacement
RUNTIME: ~1-3s per image (CPU), <0.5s (GPU with onnxruntime-gpu)
INSTALL: pip install rembg (CPU) | pip install rembg[gpu] (CUDA)
When to Use bg_remove
Background removal is an asset-prep step. Use it before the compose stage.
- Product demos / e-commerce videos -- isolate a product on a clean background
- Compositing -- layer a speaker over generated backgrounds or diagrams
- Thumbnail generation -- clean cutouts for YouTube thumbnails
- Green-screen replacement -- achieve green-screen results without an actual green screen
- B-roll preparation -- clean up raw photos for overlay use
Model Selection Guide
| Model | Best For | Speed | Notes |
|---|---|---|---|
u2net |
General objects, products, scenes | Fast | Default; good all-rounder |
u2net_human_seg |
People, portraits, speakers | Fast | More accurate masks for human silhouettes |
isnet-general-use |
Complex edges, hair, fur | Slower | Higher detail on fine boundaries |
Decision rule: If the subject is a person, use u2net_human_seg. If the subject has intricate edges (hair, fur, foliage) and you need maximum quality, use isnet-general-use. Otherwise, use the default u2net.
Alpha Matting
Alpha matting refines the edge mask by computing soft transparency at boundaries. It produces more natural edges but costs approximately 2x processing time.
| Subject Type | Alpha Matting | Reason |
|---|---|---|
| Hair, fur, feathers | Enable | Fine semi-transparent strands need soft edges |
| Leaves, trees, grass | Enable | Irregular organic boundaries benefit from matting |
| Products, devices | Disable | Clean geometric edges; matting adds no value |
| Text, logos, shapes | Disable | Hard edges are correct for these subjects |
Common Workflows
1. Speaker Cutout for Compositing
Extract a speaker from their background and layer over a diagram or slide.
bg_remove(input_path="speaker.png", model="u2net_human_seg")
--> speaker_nobg.png (transparent)
--> compose over diagram/slide in compose stage
2. Product Isolation
Isolate a product and optionally place on a brand-colored background.
bg_remove(input_path="product.jpg", model="u2net")
--> product_nobg.png (transparent)
# Or with brand background:
bg_remove(input_path="product.jpg", model="u2net", bg_color="#FFFFFF")
--> product_nobg.png (white background)
3. Thumbnail Prep
Remove background, upscale, then compose with text overlays.
bg_remove(input_path="subject.png", model="u2net_human_seg", alpha_matting=True)
--> subject_nobg.png
--> upscale --> compose with text overlays in compose stage
4. Batch Frame Processing
When preparing multiple frames for a compositing sequence, process all source frames before entering the compose stage.
for each source frame:
bg_remove(input_path=frame, model="u2net_human_seg")
--> frame_nobg.png
then: compose all transparent frames over background sequence
Quality Checklist
Before moving to the compose stage, verify each bg_remove output:
- Edge quality is clean -- no halo artifacts around the subject
- Fine details preserved -- hair, fingers, and thin features are intact
- Transparency is complete -- no residual background bleed in transparent areas
- Subject integrity -- no parts of the subject were incorrectly removed
- Compositing test -- when layered over the target background, the subject blends naturally
Applying to OpenMontage
When using the bg_remove tool in asset preparation:
- Use
u2net_human_segfor any frame containing people -- it produces tighter masks around human silhouettes than the general model - Enable
alpha_mattingonly for subjects with complex edges like hair, fur, or foliage -- skip it for clean-edged subjects to save processing time - For compositing workflows, output transparent PNG (omit
bg_color) and layer in the compose stage -- this preserves maximum flexibility - For solid-background replacements, set
bg_colorto match the playbook's background color token -- keeps outputs consistent with the project style - Process source frames BEFORE the compose stage -- bg_remove is an asset-prep step, not a compose-time operation
- Check output edges at full resolution before compositing -- halo artifacts and edge bleed are visible in final video and must be caught early