Submit a video background removal (green screen) job
Changed onStart an asynchronous job that keys the green screen out of a source video, keeping only the foreground subject. For footage shot against a green screen: the backdrop is keyed out rather than segmented, which is faster and cleaner than the segmenting models when a green screen is available.
It takes video only, and returns the cutout: placing it over a new background is up to you.
Inputs
- video_url — public URL of the source video, shot against a green screen
- output_codec — optional; vp9 (the default) renders one WebM with an alpha channel, h264 renders two files (the RGB video and an alpha matte) and is recommended for better RGB quality
- spill_suppression_strength — optional; how strongly green cast is removed from the kept subject, between 0 and 1 (defaults to 0.8). Raise it when green spots remain, lower it when colours shift on the subject
What happens next
The job is accepted immediately — you get 202 Accepted with a job_id and status PROCESSING. Rendering runs in the background; poll GET /v1/video-background-removal-green-screen/{job_id} until the job is COMPLETED or FAILED.
Request
- Base URLhttps://api.veed.io
- AuthHTTP bearer
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Headers
Set to 0 to not store this request's and response's bodies. They are then not available in your request logs for debugging.
Number of seconds before the media URLs returned for this request expire. A value above the maximum is capped rather than rejected.
Request body
Example request
{
"$schema": "https://api.veed.io/schemas/VideoBackgroundRemovalGreenScreenInput.json",
"output_codec": "vp9",
"video_url": "https://static-assets.veed.io/api-examples/green-screen-input.mp4"
}Response
Accepted
Example response
{
"$schema": "https://api.veed.io/schemas/ResourceVideoBackgroundRemovalJob.json",
"data": {
"result": {
"files": [
{
"content_type": "video/mp4"
}
]
}
}
}Changes
- warning
added the new
model_access_requiredenum value to the///response property for the response status - warning
added the new
model_access_requiredenum value to the///response property for the response status - warning
added the new
model_access_requiredenum value to the///response property for the response status - warning
added the new
model_access_requiredenum value to the///response property for the response status - warning
added the new
model_access_requiredenum value to the///response property for the response status
- warning
- warning
added the new
insufficient_creditsenum value to the//response property for the response status
- warning