Bria's chroma-key background removal via Fal.AI โ removes the green-screen background from a video with automatic green-spill suppression, outputting on a transparent background (alpha-capable codecs) with clean, professional edges.
Test this model instantly in the Console Playground โ no code required
Copy usage instructions for Claude, ChatGPT, or other AI
curl -X POST "https://api.core.today/v1/predictions" \
-H "Content-Type: application/json" \
-H "X-API-Key: cdt_your_api_key" \
-d '{
"model": "bria/video/background-removal/green-screen-despill",
"input": {
"video_url": "https://example.com/green_screen_video.webm",
"output_container_and_codec": "webm_vp9",
"preserve_audio": true,
"spill_suppression": 1
}
}'| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
video_url | string | Yes | - | Input video filmed on a green screen. MP4/MOV sources are billed by measured length; other containers (e.g. webm) are billed at a flat 15-second assumption |
output_container_and_codec | string | No | webm_vp9 | Output container and codec. Transparency requires an alpha-capable codec (webm_vp9, mov_proresks); others fall back to a black background with a warning mp4_h265mp4_h264webm_vp9mov_h265mov_proresksmkv_h265mkv_h264mkv_vp9gif |
preserve_audio | boolean | No | true | If true, audio will be preserved in the output video |
spill_suppression | number | No | 1 | Strength of green-spill suppression (0-1). Higher values remove the green fringe around the subject; 0 disables it |
There are 3 ways to provide files for the video_url parameter:
Pass a publicly accessible URL directly. With the Storage API (POST /v1/files/upload-url) the file uploads straight to S3 (50MB per file) and you pass the returned file_url.
{
"model": "bria/video/background-removal/green-screen-despill",
"input": {
"prompt": "your prompt here",
"video_url": "https://example.com/image.jpg"
}
}Attach files directly to POST /v1/predictions/upload. No separate upload step, but the bytes pass through the API server so the whole request is capped at 10MB.
curl -X POST "https://api.core.today/v1/predictions/upload" \
-H "X-API-Key: cdt_your_api_key" \
-F "model=bria/video/background-removal/green-screen-despill" \
-F 'input={"prompt":"your prompt here"}' \
-F "file:video_url=@your_file.png"Common parameters used when calling POST /v1/predictions.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
model | string | Yes | - | Model identifier |
input | object | Yes | - | Object containing the model-specific parameters from the table above |
output_folder | string | No | - | Folder path for output files (max 256 chars, '..' not allowed) |
webhook_url | string | No | - | Webhook URL to call on completion |
is_public | boolean | No | false | If true, output files are also available via permanent public URLs |
Remove the green screen and keep a transparent background
curl -X POST "https://api.core.today/v1/predictions" \
-H "Content-Type: application/json" \
-H "X-API-Key: cdt_your_api_key" \
-d '{
"model": "bria/video/background-removal/green-screen-despill",
"input": {
"video_url": "https://example.com/green_screen_video.webm",
"output_container_and_codec": "webm_vp9",
"preserve_audio": true,
"spill_suppression": 1
}
}'Alpha-capable MOV output for professional NLEs
curl -X POST "https://api.core.today/v1/predictions" \
-H "Content-Type: application/json" \
-H "X-API-Key: cdt_your_api_key" \
-d '{
"model": "bria/video/background-removal/green-screen-despill",
"input": {
"video_url": "https://example.com/interview_take.mp4",
"output_container_and_codec": "mov_proresks",
"preserve_audio": true
}
}'POST /v1/predictions