IBK 3D Keyer

IBK 3D Keyer operator properties for Script Engine. Image-based chroma keyer that uses a clean plate (a still photo of the empty background) as a reference, producing very high quality keys even when the screen has uneven lighting. Useful for high-end virtual studios, news and weather presenters with locked-off cameras, in-camera VFX shots that need to handle hair and transparent props, and any setup where a perfectly even green/blue wall is hard to achieve. Pairs well with Light Wrap and Spill Suppression for final compositing.

Property Type Access Description
KeyChannel KeyChannel get/set Which colour the screen is (Green, Blue, or None). Determines how spill is detected and suppressed. Pick the colour matching your physical screen so the keyer cleans the right channel from foreground edges.
CleanPlateUri Uri get/set Path to the clean plate image — a still photo of the empty screen with the same lighting as the live shot. The clean plate is the heart of this keyer; the better it matches lighting and lens, the cleaner the key.
IbkProcessorChannels IbkProcessorChannels get/set Which colour-space channels (A, B, C or combinations) are used when comparing the input to the clean plate. Limit channels to focus on the most useful ones for your screen — can help with fluorescent or LED-lit screens.
IbkProcessor IbkProcessor get/set Colour space model used to compare the foreground against the clean plate. Different models work better with different screen types — try alternatives if you cannot eliminate fringing.
KeyerOutput IbkKeyerOutput get/set What the operator outputs (Final, Foreground, Alpha, Spill, Garbage, etc.). Switch to Alpha or Intermediate while tuning to see exactly what the matte looks like; switch back to Final for the result.
ChannelAGain float get/set Weighting for the first channel of the chosen colour space. [min=-4, max=6, default=1]. Adjust if the screen has uneven response across colour space axes; usually leave at default unless tuning advanced cases.
ChannelBGain float get/set Weighting for the second channel of the chosen colour space. [min=-4, max=6, default=1]. Used together with ChannelAGain and ChannelCGain to bias the keyer toward channels that best separate background from foreground.
ChannelCGain float get/set Weighting for the third channel of the chosen colour space. [min=-4, max=6, default=1]. Used together with ChannelAGain and ChannelBGain to bias the keyer toward channels that best separate background from foreground.
ResetBalanceCmd Command get Reset all balance gains back to 1.0 (ChannelAGain, ChannelBGain, ChannelCGain).
AlphaGain float get/set Multiplies the matte values to make foreground more or less opaque. [min=-4, max=6, default=1]. Raise to recover edges that have gone too transparent; lower if foreground is showing background bleed-through.
AlphaGamma float get/set Reshapes the alpha curve, biasing the matte toward fully transparent or fully opaque. [min=-100, max=100, default=1]. Use small adjustments to tighten soft hair edges or to soften an overly hard matte.
AlphaPed float get/set Adds a fixed offset (pedestal) to the matte. [min=-100, max=100, default=1]. Positive values lift transparent regions toward opaque (good for retaining detail); negative values clip toward fully transparent.
BlackClip float get/set Forces matte values below this level to fully transparent. [min=0, max=100, default=0]. Raise to clean up dirty backgrounds where the screen is not pure; watch for losing translucent details like glass or smoke.
ResetAmplifierCmd Command get Reset all amplifier settings to their defaults (AlphaGain, AlphaGamma, AlphaPed, BlackClip).
SuppressionType SuppressionType get/set Algorithm used to neutralise residual screen colour on the foreground (Average, Maximum, etc.). Try different algorithms if the default leaves grey edges or shifts skin tones too far.
SuppressionAmount int get/set Strength of the spill suppression. [min=0, max=100, default=100]. Lower if skin starts looking magenta/yellow; raise if green/blue tint is still visible at edges.
ScreenColorCompensation bool get/set Compensates for the screen colour bleeding into foreground brightness. Enable when a green/blue cast remains on the subject after spill suppression — particularly for fast-moving subjects.
ScreenColorCompensationBoost int get/set Extra strength applied when ScreenColorCompensation is on. [min=0, max=100, default=0]. Raise gradually if foreground still feels colour-cast after enabling compensation.
UseSpillBalance bool get/set Enables manual control over the colour written into spill areas via SpillRedBalance, SpillGreenBalance, SpillBlueBalance. Use to push edge colour toward a specific tone (e.g. neutral grey or warm skin) instead of the default neutralised result.
SpillRedBalance int get/set Red component of the spill replacement colour. [min=-255, max=255, default=0]. Combine with SpillGreenBalance and SpillBlueBalance to choose the tint that replaces removed spill.
SpillGreenBalance int get/set Green component of the spill replacement colour. [min=-255, max=255, default=0]. Locked when KeyChannel is Green (it would re-introduce screen colour).
SpillBlueBalance int get/set Blue component of the spill replacement colour. [min=-255, max=255, default=0]. Locked when KeyChannel is Blue (it would re-introduce screen colour).
SpillRestaurationMode SpillRestauration get/set How spill colour is restored once removed (None, Luminance, Tint). Luminance reuses brightness from the foreground; Tint pushes toward a chosen colour. None leaves edges fully suppressed.
SpillRestaurationGain float get/set Strength of the spill restoration. [min=-4, max=6, default=1]. Higher values bring back more original edge brightness/colour; lower keeps edges flatter.
SpillRestaurationTintSaturation float get/set Saturation of the restoration tint colour. [min=0, max=100, default=50]. Lower for subtle, near-grey edges; raise for stronger coloured edges that match a vivid background.
SpillRestaurationTintHue float get/set Hue of the restoration tint colour. [min=0, max=360, default=180]. Choose the dominant colour of the new background so spilled edges blend in naturally.
SpillRestaurationTintPickHueFromLayer bool get/set Sample the tint hue automatically from a chosen background layer instead of using a fixed hue. Best when the background is animated or changes colour over time — the edges always match what is behind them.
SpillRestaurationTintBackgroundLayer LayerRenderInfo get/set The layer used as the hue source when SpillRestaurationTintPickHueFromLayer is enabled.
InvertAlpha bool get/set Inverts the alpha channel so foreground and background swap. Useful for creating hold-out mattes or reusing the same key as a mask for another effect.
Interpolation Interpolation get/set Interpolation curve for soft matte edges (Linear, Cardinal, etc.). Smoother curves give more natural transitions for hair and motion blur; sharper curves keep edges crisp.
GarbageMatteSourceUrl Uri get/set Garbage matte image — a black/white image used to force regions of the frame fully transparent or fully opaque. Useful for excluding lighting rigs, microphone booms, or set edges that the keyer would otherwise have to deal with.
UseGarbageMatte bool get/set Enables the loaded GarbageMatteSourceUrl image; turn off to ignore the matte without removing the file path.
Minilog FormattedMessage get Status message about clean plate / garbage matte loading and runtime warnings.
ProcessingTime int get Time taken to process one frame, in milliseconds. Read-only diagnostic value.
ResetCmd Command get Reset all settings to their defaults (clean plate cleared, balance/amplifier/spill back to neutral).

Inherits from: AbstractOperator, AbstractAudioMetering.

See also: IBK 3D Keyer in Operators — user-facing introduction, screenshots, and section summaries.