Skip to main content
Poof removes the background from video with the same endpoint, the same API key and the same parameters as images. Send a clip to POST /remove and Poof detects that it is a video, accepts it as a job and processes every frame in the background. Poll the job, then download the finished file from its result_url. The matting model is the one used for images, with a motion-aware temporal stabiliser so the edges do not flicker from frame to frame. It works best on a clearly separated subject: people, products, pets, talking heads and social clips.
No code needed. Upload a clip in Studio at dash.poof.bg, or ask Claude, ChatGPT or Cursor through the MCP server (remove_video_background). Both use your Poof credits.

How it works

  1. Submit the video with file (upload, up to 100 MB) or url (public https link, up to 500 MB). The response is 202 Accepted with a job that already tells you the clip’s duration and the credits charged.
  2. Poll GET /jobs/{id} every 2 to 5 seconds until status is completed or failed. Polling is free and not rate limited.
  3. Download result_url. It is a direct CDN link that needs no API key and stays valid for 24 hours (expires_at).
The SDK examples need poofbg 0.3.0 or later and @poof-bg/js 1.2.0 or later. The API reference has the same flow with plain requests and fetch.

Pick an output

The output formats table lists the codec, alpha and audio for every format and channels combination.

Limits

Use size to make the output smaller. For video it caps the longest side: preview 640 px, medium 1280 px, hd 1920 px (1080p), and full (the default) keeps the source resolution up to 4096 px. The aspect ratio is kept and nothing is upscaled. 4K jobs take about 1.5 times as long as 1080p, so pass size=hd when you do not need 4K. 4K files are large: send them by url (up to 500 MB) rather than as an upload. crop, padding, width, height and fit are image-only and are rejected for video.

Credits

The duration is rounded up to the next whole second, so the minimum is 5 credits. A 12.4 second clip at 29.97 fps costs 65 credits. The charge does not depend on format, channels, size or resolution: 4K costs the same as 1080p. The free plan’s 100 monthly credits cover 20 seconds of video. Credits are charged when the job is accepted, and the 202 response shows the exact amount. A failed job is refunded automatically, and rejected requests (4xx) are never billed.

Processing time and queueing

Jobs run on a shared GPU pool and you can submit several at once. When the pool is busy a job waits in queued with progress at 0 before it starts, so allow for that in your timeouts: the SDK helpers wait up to 10 minutes by default. See Queueing.

Errors