Create remove-object video task inputs
Create inputs for standard video object removal using either mode:
1. Reuse tracking results (recommended): provide both input_video_id and mask_video_id from a completed Video Object Tracking task. The service reuses the stored videos and returns video_path and mask_path; no uploads are needed.
2. Upload your own videos: omit both IDs to receive video_upload_signed_url and mask_upload_signed_url. Upload each video to its corresponding URL using HTTP PUT with Content-Type: application/octet-stream.
Reuse-mode response example:
{
"task_id": "removal-task-id",
"status": "CREATED",
"progress": 0,
"video_path": "provider__input-bucket__object-key",
"mask_path": "provider__result-bucket__object-key"
}Provide both IDs or neither; providing only one returns an error. Source and mask videos must have the same resolution, spatial alignment, and timeline. Signed upload URLs are temporary.
After preparing inputs, submit Create remove-object video task.
/v1/videos/remove-object/uploadAuthorization — This endpoint requires an API key. Pass it in the api-key header on every request. Learn more
Input requirements
Videos
- Formats
- MP4, MOV
- Maximum longest edge
- 1280 px
- Maximum duration
- 300 seconds (5 minutes)
Source and mask videos must have the same resolution, spatial alignment, and timeline.
Parameters
| Name | Type | Status | Description |
|---|---|---|---|
input_video_id | string | Optional | Source-video storage ID from object tracking. Supply together with mask_video_id, or omit both to upload videos. Default: null (omitted). |
mask_video_id | string | Optional | Aligned mask-video storage ID from object tracking. Supply together with input_video_id, or omit both to upload videos. Default: null (omitted). |
Responses
Removal inputs created; storage paths in reuse mode, or signed URLs in upload modeRemoveObjectVideoUploadResponse
| Field | Type | Description |
|---|---|---|
task_id | string | Unique task identifier. |
status | string | Upload task status. |
progress | integer | Task progress from 0 to 100, when available. |
video_path | string | Source-video storage path returned when both tracking IDs are supplied. |
mask_path | string | Mask-video storage path returned when both tracking IDs are supplied. |
video_upload_signed_url | string | Temporary signed upload URL for the source video, returned when both tracking IDs are omitted. Use HTTP PUT. |
mask_upload_signed_url | string | Temporary signed upload URL for the aligned mask video, returned when both tracking IDs are omitted. Use HTTP PUT. |
curl -X POST "https://api.snapedit.app/v1/videos/remove-object/upload" \
-H "api-key: YOUR_API_KEY"{
"task_id": "removal-task-id",
"status": "CREATED",
"video_upload_signed_url": "https://storage-provider.example/video-signed-upload-url",
"mask_upload_signed_url": "https://storage-provider.example/mask-signed-upload-url"
}