Skip to content

Green Screen

Request

Description Initiates an asynchronous job that detects the video background and replaces it with a solid green (or blue) screen, producing a chroma-key-ready output for downstream compositing tools.

Response behavior:

  • Returns HTTP 202 with request_id and status_url

  • Check job status by polling status_url or by calling the Status Service with the request_id until a terminal status is returned

Supported input containers:

  • .mp4, .mov, .webm, .avi, .gif

Supported input codecs:

  • H.264, H.265 (HEVC), VP9, AV1, PhotoJPEG

Input attributes preserved in output:

  • Aspect Ratio and resolution

  • Frame Rate

  • Audio if present and preserve_audio is true

Limits:

  • Max input duration: 60 seconds

  • Resolutions: Input resolution up to 16000x16000 (16K). Inputs larger than this return 413 Payload Too Large. Output resolution matches the input resolution.

Green shade selection:

  • broadcast_green (#00B140) - industry standard for professional pipelines. Default.

  • chroma_green (#00FF00) - works with consumer editors.

  • blue_screen (#0000FF) - use when the subject wears green.

Output transparency:

  • Output is fully opaque (no alpha channel needed). mp4_h264 is recommended for broad editor compatibility.
Headers
api_tokenstringrequired
Bodyapplication/jsonrequired
videostringrequired

Publicly accessible URL of the input video. Input resolution supported up to 16000x16000 (16K)

green_shadestring

Predefined screen color. broadcast_green (#00B140) is the industry standard for professional pipelines. chroma_green (#00FF00) works with consumer editors. blue_screen (#0000FF) is used when the subject wears green.

Default:"broadcast_green"
Enum:"broadcast_green""chroma_green""blue_screen"
output_container_and_codecstring

Output container and codec preset. Alpha is not needed for green screen output; mp4_h264 is recommended for broad editor compatibility.

Default:"webm_vp9"
Enum:"mp4_h264""mp4_h265""webm_vp9""mov_h265""mov_proresks""mkv_h264""mkv_h265""mkv_vp9""gif"
preserve_audioboolean
Default:true
webhook_urlstring, (uri)

Optional URL for receiving the result via webhook when the async job completes. See Webhooks.

spill_suppressionnumber, [ 0 .. 1 ]

Strength of green-spill suppression on the retained foreground. Green screens cast a green fringe onto the subject; raising this pulls the green channel toward the red/blue average on green-dominant pixels, removing that fringe. 0 disables it.

Default:0
POST
/green_screen
curl -i -X POST \
  https://engine.prod.bria-api.com/v2/video/edit/green_screen \
  -H 'Content-Type: application/json' \
  -H 'api_token: string' \
  -d '{
    "video": "https://labs-assets.bria.ai/sandbox-example-inputs/5586521-uhd_3840_2160_25fps_original.mp4",
    "green_shade": "broadcast_green"
  }'

Responses

Accepted

Bodyapplication/json
request_idstringrequired
status_urlstringrequired
Response
{ "request_id": "string", "status_url": "string" }