ComfyUI Node
Beeble SwitchX
Run a Beeble SwitchX compositing job: re-generate everything outside a masked subject while preserving the original pixels inside it, and relight the subject to match. Wire a 'source' (image or video frame batch), an optional 'reference_image' for look guidance, and (for select / custom alpha modes) an 'alpha' mask. Set generation_type to 'image' or 'video', pick an alpha_mode, write a prompt, and queue. The node uploads inputs, submits the job, polls until done with a live progress bar, then returns the rendered output + alpha as IMAGE tensors. Note: at least one of prompt or reference_image must be provided. Beeble bills per generation in USD; check the Beeble Account Info node to monitor spend.
Beeble SwitchX
- source
- reference_image
- alpha
- source_video
- alpha_video
- output
- output_alpha
- job_id
- render_url
- raw_json
- video
◄generation_typevideo►
◄alpha_modeauto►
◄max_resolution1080►
◄fps24.0►
◄prompt►
◄source_uri►
◄reference_image_uri►
◄alpha_uri►
◄poll_interval_seconds15►
◄poll_timeout_seconds1800►
CategoryBeeble AI
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| generation_type | COMBO | video | 'image': single still in, single still out. 'video': multi-frame in, multi-frame out (max 240 frames). The wired source must match this setting. |
| alpha_mode | COMBO | auto | auto: API auto-detects the foreground subject. select: Provide first-frame alpha; API propagates. fill: Keep everything as-is, no masking. custom: Provide a full per-frame alpha sequence. |
| max_resolution | COMBO | 1080 | Output resolution cap (longest side). 1080 is the API default; 720 is faster and cheaper. |
| fps | FLOAT | 24.01–240 | FPS used when encoding a wired source/alpha frame batch as MP4 for upload (video mode only). Ignored when generation_type='image' or when you supply URIs directly. |
| prompt | STRING | Text description guiding the new look. Recommended even when a reference image is provided. Either prompt or reference_image (or both) is required by the API. | |
| sourceopt | IMAGE | Source media. Single image for image jobs, multi-frame batch (e.g. from Load Video) for video jobs. Overrides source_uri when wired. | |
| reference_imageopt | IMAGE | Single still image used as a style/look reference. The Beeble API hardcodes this to one image -- no array, no per-frame targeting. Overrides reference_image_uri when wired. | |
| alphaopt | IMAGE | Alpha mask. Single image for image jobs and 'select' mode (first-frame alpha). Multi-frame batch for 'custom' mode in video jobs. Overrides alpha_uri when wired. | |
| source_uriopt | STRING | beeble:// or https:// URL. Used only when 'source' is not wired. | |
| reference_image_uriopt | STRING | beeble:// or https:// URL. Used only when 'reference_image' is not wired. | |
| alpha_uriopt | STRING | beeble:// or https:// URL. Used only when 'alpha' is not wired. | |
| poll_interval_secondsopt | FLOAT | 155–120 | Seconds between status polls. Read endpoints are capped at 5 RPM per account, so 12+ s is safe. |
| poll_timeout_secondsopt | FLOAT | 180060–86400 | Maximum wall-clock time to wait per job (seconds). |
| source_videoopt | VIDEO | Optional VIDEO source. Forces generation_type = video, uploads the underlying file directly (no IMAGE re-encode). Takes precedence over `source` and `source_uri`. Wire from Topaz, AM Read Video → VIDEO output, or a lazy AM transform chain. | |
| alpha_videoopt | VIDEO | Optional VIDEO alpha (per-frame mask sequence). Same upload semantics as source_video. Takes precedence over `alpha` and `alpha_uri`. Use with alpha_mode='custom' for per-frame masks. |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| output | IMAGE | — |
| output_alpha | IMAGE | — |
| job_id | STRING | — |
| render_url | STRING | — |
| raw_json | STRING | — |
| video | VIDEO | — |