Skip to content

Void Video Inpainting

Integrate

Model id void-video-inpainting
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/void-video-inpainting?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Files like the example: $0.10 100 API credits your files are measured before the run Run it on this page

Get API key
Open model Video to Video #utility#editing

Removes an object from a video along with its effects on the scene, using a mask video or text mask prompt

Open model · Video

Your first result goes here

Build a request below and run it with your API key. Outputs are copied to our storage, kept forever or 7 days for free.

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

•required

Description specifying how the background should look once the object is removed.

•required video_url
Drop a file, or

Source video URL containing the object targeted for removal.

default
Drop a file, or

Removal-mask video URL; if absent, the app creates a temporary video mask through the SAM-3 video endpoint using `mask_prompt`, then automatically converts it to a quadmask. For best results, supply a VOID-style quadmask using 4 grayscale values: 255 for retained background, 127 for the affected region, 63 for overlap, and 0 for the object being removed. Binary masks are also accepted, using 255 to keep and 0 to remove.

Advanced mask_prompt · negative_prompt · num_inference_steps · guidance_scale · strength · num_frames · seed · enable_safety_checker

Mask-target instructions for SAM-3 to create a temporary mask video when no `quad_mask_video_url` is supplied. Identify what to mask, for example an object or person to remove from the source video.

default The video is not of a...

Negative prompt describing unwanted results to steer generation away from.

default 30

Denoising step count. Increasing it improves quality while adding latency.

default 1

Strength of classifier-free guidance.

default 1

Strength of denoising, with 1.0 indicating complete denoising.

default 85

Requested temporal inference window, adjusted by the backend to one of the CogVideoX-safe sizes 69, 77, 85, ..., 197. The nearest such size is selected to accommodate temporal compression and patching.

Seed controlling randomness for reproducible results.

POST /run/void-video-inpainting?wait=20 quote → $0.10
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/void-video-inpainting?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About Void Video Inpainting

Takes `video_url` and a `prompt` describing the desired background. Supply a `quad_mask_video_url`, or give `mask_prompt` to have a mask generated. Controls include `num_frames` (1-197), `num_inference_steps` (1-50), `guidance_scale`, `strength` and an optional slower `enable_pass2_refinement` for temporal consistency.

Parameters

Send either the canonical name or the native name, not both. Canonical names

NameType DefaultAllowed Description
video_urlrequired video
Typeurl · video
Source video URL containing the object targeted for removal.
quad_mask_video_urloptional
Typeurl · video
Default
Removal-mask video URL; if absent, the app creates a temporary video mask through the SAM-3 video endpoint using `mask_prompt`, then automatically converts it to a quadmask. For best results, supply a VOID-style quadmask using 4 grayscale values: 255 for retained background, 127 for the affected region, 63 for overlap, and 0 for the object being removed. Binary masks are also accepted, using 255 to keep and 0 to remove.
mask_promptoptional
Typestring | null
Mask-target instructions for SAM-3 to create a temporary mask video when no `quad_mask_video_url` is supplied. Identify what to mask, for example an object or person to remove from the source video.
promptrequired
Typestring
Description specifying how the background should look once the object is removed.
enable_pass2_refinementoptional
Typeboolean
Defaultfalse
Optional VOID refinement that trades slower processing for potentially better temporal consistency in longer clips. It applies warped-noise refinement as Pass 2, following Pass 1.
negative_promptoptional
Typestring
DefaultThe video is not of a high quality, it has a low resolution. Watermark present in each frame. The background is solid. Strange body and strange trajectory. Distortion.
Negative prompt describing unwanted results to steer generation away from.
num_inference_stepsoptional
Typeinteger
Default30
1 – 50
Denoising step count. Increasing it improves quality while adding latency.
guidance_scaleoptional
Typenumber
Default1
0 – 20
Strength of classifier-free guidance.
strengthoptional
Typenumber
Default1
0 – 1
Strength of denoising, with 1.0 indicating complete denoising.
seedoptional
Typeinteger | null
Seed controlling randomness for reproducible results.
num_framesoptional
Typeinteger
Default85
1 – 197
Requested temporal inference window, adjusted by the backend to one of the CogVideoX-safe sizes 69, 77, 85, ..., 197. The nearest such size is selected to accommodate temporal compression and patching.
enable_safety_checkeroptional
Typeboolean
Defaulttrue
Enables safety checks for generated content.
required Canonical name, also accepted

File parameters take a public https:// URL, a data: URI up to 10 MB, or the file_url of an upload. Files

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "void-video-inpainting",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 100,
    "usd": "0.10",
    "charged": 100,
    "refunded": 0
  },
  "input": {
    "video_url": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  },
  "output": {
    "video": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_name": "0-output.mp4",
      "file_size": 1843200
    },
    "seed": 42,
    "timings": {}
  },
  "outputs": [
    {
      "type": "video",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_size": 1843200,
      "width": 1280,
      "height": 720,
      "duration": 5,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
video
object {url, content_type, file_name, file_size}Resulting video after removal of the object.
seed
integerSeed value applied during generation.
timings
objectPer-stage timing details for the pipeline.

For AI agents: this page as Markdown is at https://doitong.com/developers/models/void-video-inpainting.md. All models and guides: https://doitong.com/developers/llms.txt