# Foreground Mask Initiates an asynchronous foreground mask generation job for a video. 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 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. Endpoint: POST /foreground_mask ## Header parameters: - `api_token` (string, required) ## Request fields (application/json): - `video` (string, required) Publicly accessible URL of the input video. Input resolution supported up to 16000x16000 (16K) - `output_container_and_codec` (string) Output container and codec preset Enum: "mp4_h264", "mp4_h265", "webm_vp9", "mov_h265", "mov_proresks", "mkv_h264", "mkv_h265", "mkv_vp9", "gif" ## Response 202 fields (application/json): - `request_id` (string, required) - `status_url` (string, required) ## Response 400 fields (application/json): - `error` (object, required) - `error.code` (integer, required) Example: 123 - `error.message` (string, required) - `error.details` (string, required) - `request_id` (string, required) ## Response 403 fields (application/json): - `error` (object, required) - `error.code` (integer, required) Example: 123 - `error.message` (string, required) - `error.details` (string, required) - `request_id` (string, required) ## Response 405 fields (application/json): - `error` (object, required) - `error.code` (integer, required) Example: 123 - `error.message` (string, required) - `error.details` (string, required) - `request_id` (string, required) ## Response 413 fields (application/json): - `error` (object, required) - `error.code` (integer, required) Example: 123 - `error.message` (string, required) - `error.details` (string, required) - `request_id` (string, required) ## Response 415 fields (application/json): - `error` (object, required) - `error.code` (integer, required) Example: 123 - `error.message` (string, required) - `error.details` (string, required) - `request_id` (string, required) ## Response 422 fields (application/json): - `error` (object, required) - `error.code` (integer, required) Example: 123 - `error.message` (string, required) - `error.details` (string, required) - `request_id` (string, required) ## Response 429 fields (application/json): - `error` (object, required) - `error.code` (integer, required) Example: 123 - `error.message` (string, required) - `error.details` (string, required) - `request_id` (string, required) ## Response 500 fields (application/json): - `error` (object, required) - `error.code` (integer, required) Example: 123 - `error.message` (string, required) - `error.details` (string, required) - `request_id` (string, required)