API Reference

Process Video

Create and start background removal job.

Endpoint

POST /v1/jobs

Request Fields

FieldTypeRequiredDescription
video_urlstringyesInput video URL (from upload or external URL)
output_formatstringnoDefault webm; webm/mov/mp4/gif/webp/png_sequence
bg_typestringnoDefault transparent; transparent/green/white/black/blue/custom
modelstringnoDefault original; original/light/pro/human
text_promptstringnoUsed with pro model
webhook_urlstringnoReceive job.started/completed/failed callbacks
bg_colornumber[]noRGB array for custom background
auto_startbooleannoDefault true; create draft job when false

Example Request

curl -X POST https://api.removebgvideo.com/v1/jobs \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://cdn.example.com/input.mp4",
    "model": "original",
    "background": { "type": "transparent" },
    "output_format": "webm",
    "auto_start": true
  }'

Response

FieldTypeDescription
successbooleanRequest accepted
idstringTrack this id for status polling
statusstringInitial status, usually processing
messagestringSubmission result message

API Contract Notes

  • All clients should handle non-2xx responses as structured error payloads.
  • Use explicit JSON schema validation for request payloads on your side.
  • Treat output_url as an asynchronous artifact and not an immediate response contract.
  • Persist job lifecycle state transitions for auditing and support.

Integration Verification

CheckHow to Verify
AuthenticationCall endpoint with valid and invalid key, confirm 200 vs 401
Rate limitsBurst test and confirm 429 handling with backoff
IdempotencyRetry same request and verify no duplicate side effects
ObservabilityConfirm request_id/job_id appears in logs and dashboards

Process Request Pattern

PatternWhen to Use
Direct /api/processSimple integrations and legacy compatibility
Draft + /v1/jobs/{job_id}/startEnterprise workflows requiring pre-validation