About Video Background Remover
Video Background Remover can supply cutout assets to a compositing tool or a short video editor. It processes the full source clip and returns either a transparent background or a selected solid color. The suit dance and roller disco examples use colored backgrounds with MP4 output, making them useful tests for a solid-background preview. Do not use those examples as proof of transparency in every export format.
Call it with the model name popnow/background-remover-video-v1/video-edit on POST /jobs/createTask, from $0.06.
Introduction
Video Background Remover isolates the foreground of an existing video for compositing or for placement on a solid background. Send video_url and choose the background and export format. The default request asks for transparent WebM VP9 and retains the original audio. Source clips from 1 to 60 seconds are accepted by this endpoint; it does not generate a new scene from a prompt.
Key features
Transparency is a background and format choice
Set background to transparent and use a format with alpha support. WebM VP9, MOV ProRes 4444, MKV VP9 and GIF are documented alpha options. The MP4 presets and MKV H.264 or H.265 presets do not carry alpha here; incompatible transparent requests may be rejected. MOV H.265 has only partial documented support, so use WebM VP9 for the default transparent workflow and check the actual output before compositing.
Solid colors and original sound
You can instead choose black, white, gray, red, green, blue, yellow, cyan, magenta or orange. keep_original_audio controls whether the source audio is requested in the result. GIF cannot carry an audio track; turn audio preservation off when choosing it.
Request parameters
| Parameter | Required | Description |
|---|---|---|
background | No | Keep, remove or replace the background. transparent · black · white · gray · red · green · blue · yellow · cyan · magenta · orange · Default: transparent |
keep_original_audio | No | Keep the source clip’s own sound. Default: true |
output_format | No | File type of the result. webm_vp9 · mp4_h264 · mp4_h265 · mov_h265 · mov_proresks · mkv_h264 · mkv_h265 · mkv_vp9 · gif · Default: webm_vp9 |
video_url | Yes | The clip to work on. |
Pricing
Prices are in USD. The API uses a separate USD balance. Website credits cannot be used or transferred to it, and API funds cannot be transferred to website credits. When a task is accepted, we reserve the maximum quoted amount from your API balance. On completion, we charge for actual usage, never more than the hold, and release the remainder. If the task fails, the hold is released.
| Option | USD per input second |
|---|---|
| Standard | $0.06 |
Input duration is rounded up to whole seconds, with a 1-second minimum.
Send the same request body to POST /jobs/quote to see the estimated and maximum USD charge before running. A quote does not run the task or charge your balance.
Use cases
Put a presenter over a presentation
Start with a short clip in which the presenter is clearly separated from the background. Request transparent WebM VP9, then place the result above the slide or scene in an editor that supports that format. Inspect hair and motion-blurred edges against both dark and light backgrounds before publishing the composite.
Prepare a product clip for a new layout
Separate a product from the original setting to reuse the footage in a catalog layout or social edit. A solid color export can be useful when transparency is unnecessary. Reflective surfaces and fine edges need close review: the result is a processed mask, and it should be evaluated against the intended background rather than only a checkerboard preview.
Prompt guide & pro tips
Choose the delivery format deliberately
Keep background=transparent, output_format=webm_vp9 and keep_original_audio=true for the default video workflow. Choose a different preset only after checking that your editor can import it. Web playback support varies by browser and codec; a successful download does not prove that an inline preview or subsequent edit will work. Preserve the transparent master when creating a separate flattened preview for sharing.
Verify transparency and the complete clip
Inspect the actual alpha channel and composite the result over black, white and a saturated color. A file showing a checkerboard or black rectangle is not proof of working transparency. Review the full movement for edge changes, and compare duration, frame dimensions and audio synchronization with the original. Do not infer alpha from the filename or selected options. This integration has no completed media-quality or browser-compatibility trial yet; validate the result with your intended workflow.
API quick start
Call the Video Background Remover API in three steps
- Create an API key. Sign in to PopNow and create a key in the API console. Keys start with sk-popnow-. API calls use your separate USD balance.
- Send the request. POST /jobs/createTask with model popnow/background-remover-video-v1/video-edit and an input object that follows the parameter table. The response returns a task ID straight away.
- Get the result. Poll GET /jobs/recordInfo with the task ID, or pass a callBackUrl and we post the result to it. Download the output links when the task succeeds.
# 1. Create the task. Keep the Idempotency-Key if you retry after a network error.
export IDEMPOTENCY_KEY="$(uuidgen)"
curl -X POST https://api.popnow.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-d '{
"model": "popnow/background-remover-video-v1/video-edit",
"input": {
"video_url": "https://media.popnow.ai/effects/flower-bloom-1abd6efb.mp4"
}
}'
# 2. Copy data.taskId from the response, then poll until state is succeeded, failed, canceled or expired.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $POPNOW_API_KEY"Replace the prompt and any links with your own. The API tab has the response, polling and callback reference.
What to build with the Video Background Remover API
- Add a background output choice to a video asset library. Keep transparency and solid color as explicit alternatives, then record both background and encoding on the completed asset so the next editing stage can interpret it correctly.
- Provide a trim-before-processing step in your own editor. Submit only the required section of source footage, showing its duration before quotation because this operation processes the complete supplied clip.
Video Background Remover parameter notes
- video_url is required and accepts a source within the published duration range. Validate duration and actual video media before submission. This endpoint has no prompt or mask input, so remove those fields from a general video editing form.
- background defaults to transparent. Transparency also requires an alpha-capable output encoding; selecting that background alone is insufficient. The catalog recommends webm_vp9 for transparent video. Use the exact format enum rather than assuming every container can carry the desired alpha channel.
- output_format defaults to webm_vp9 and includes several video encodings plus gif. A solid color can suit an output intended for a later keying or presentation step. Keep the selected encoding visible with the requested background so authors approve a coherent export.
- keep_original_audio defaults to true but only works when the output format supports sound. GIF carries no audio even when the flag is enabled. Disable a misleading sound promise in that branch rather than forwarding the flag and implying it overrides the container limitation.
How Video Background Remover API pricing adds up
This is duration-based source processing in billable second blocks, subject to the published minimum and accepted duration cap. The complete clip is processed, so trim beforehand when only a section is needed. Fetch a current USD quote for the actual source, approve its maximum hold and use final costUsd after completion. Do not estimate this as a flat image cutout request.
- Remove video background, 5-second clip: $0.30 each, $30.00 for 100 clips
Async jobs, webhooks and rate limits
Every Video Background Remover request is asynchronous: createTask returns a taskId straight away, and the result arrives when the job finishes. Poll GET /jobs/recordInfo every few seconds, or pass a public https callBackUrl and verify the X-Webhook-Signature header (HMAC-SHA256 over taskId, timestamp and the body hash) before trusting the payload. Each account gets 1,000 write requests per 10 seconds; a 429 carries Retry-After. Send an Idempotency-Key with createTask so a retried request for popnow/background-remover-video-v1/video-edit never runs or bills twice.
Common Video Background Remover API errors
| errorCode | What it usually means and how to fix it |
|---|---|
invalid_asset | Check video access, media type and source duration. A URL that displays a streaming page may not provide a downloadable source clip for processing. |
unsupported_combination | Review transparency and encoding together. Use an alpha-capable format for a transparent background, and do not expect retained audio from a GIF export. |
invalid_request | Use a valid background color and exact output_format identifier. Remove prompt and mask fields inherited from other video tools before quoting and submitting. |
Video Background Remover API questions
How much does the Video Background Remover API cost?
Video Background Remover costs $0.06 per second. The API uses a separate USD balance. When a task is accepted, we reserve the maximum quoted amount from your API balance. On completion, we charge for actual usage, never more than the hold, and release the remainder. If the task fails, the hold is released.
What is the model name for Video Background Remover in the API?
Put popnow/background-remover-video-v1/video-edit for Remove video background in the model field of POST /jobs/createTask.
How does a compositor know a cutout is ready?
Retain taskId with the submitted encoding and background choices. Poll recordInfo or verify the task webhook before enabling download or attaching the processed clip to a composition.
Can I always preserve the source soundtrack?
Only when the chosen output format supports audio. The schema explicitly states that GIF is silent, so a checked retention flag cannot make a GIF carry the source sound.
Should temporary output URLs become permanent project identifiers?
Keep the task and asset references in your project record. Result download links are signed and temporary; request a renewed download URL through common/download-url when needed.
What are the limits of the Video Background Remover API?
Longest input clip: 60 s. Requests outside these limits are rejected before anything is charged.
Can I try Video Background Remover without writing code?
Run Video Background Remover in the Playground with your API USD balance, without an API key. Each run appears in your developer history with its matching code.
All Video Background Remover models
Background Remover handles a single photo and returns a transparent PNG. Choose Video Background Remover when the source is a moving clip rather than a still image.