Skip to content

Releases: EffectsSDK/video-effects-sdk-web

v3.10.0

Choose a tag to compare

@twinsbox89 twinsbox89 released this 29 Jun 08:27

Improved Runtime Stability, Diagnostics, and Overlay System

This release focuses on SDK stability, safer rendering behavior, better diagnostics, and a more flexible overlay system for custom Lower Thirds and captions.

Safer Rendering Behavior

  • Improved fallback behavior when WebGL is not initialized.
  • Frames are now passed through directly or skipped safely instead of triggering repeated rendering crashes.
  • Added software renderer detection to avoid running GPU-heavy effects in unsupported or degraded environments. Effects are no longer rendered when a software WebGL renderer is detected, because effects such as Blur and Beautification can become too slow and unstable in that mode.
  • Updated isSupported checks to validate WebGL 1 availability, minimal WASM support, and the absence of a software renderer.
  • Added error reporting when software rendering is detected so integrations can notify users or apply their own fallback logic. See SOFTWARE_RENDERER_SKIPPED.

WebGPU and WASM Improvements

  • Added a method to switch processing from WebGPU to WASM at runtime. See setProvider.
  • Reduced the size of test_inference assets by replacing JavaScript array-based test images with WebP images, cutting the related asset size from approximately 1.3 MB to about 55 KB.

Better Error Handling and Diagnostics

  • Started migrating internal SDK components to the new SdkError exception format.
  • Added more diagnostic information to model loading errors.
  • Improved ErrorBus coverage for runtime errors in Color Filter and Low Light effects.
  • Improved error propagation so integrations receive clearer information when something goes wrong.

Effect Pipeline Stability

  • Updated the Color Filter effect to correctly resolve promise containers and callbacks.
  • Fixed runtime crash scenarios in Color Filter and Low Light.
  • Improved callback handling and async resolution behavior for more predictable effect initialization and updates.

Model Cache Behavior

  • Cached models are no longer reused when model caching is disabled in the SDK configuration. This makes cache-related behavior more consistent with the provided configuration.

Recorder Improvements

  • Updated the Recorder implementation to make it safer and more resilient during recording workflows.

Custom Lower Thirds and Captions

v3.9.1

Choose a tag to compare

@twinsbox89 twinsbox89 released this 11 Jun 08:36

Bug Fixes & Stability Improvements

  • Fixed an issue with I420 conversion.
  • Fixed MIME type detection for loading assets when the server provides incorrect headers, the file has the wrong extension, etc.
  • Added support for animated WebP files.

v3.9.0

Choose a tag to compare

@twinsbox89 twinsbox89 released this 08 May 08:20

Video Effects SDK 3.9.0 — Avatars Effect

This release introduces a new Avatars effect, allowing users to replace their webcam appearance with real-time animated avatars.

New Avatars Effect

  • Added a new real-time Avatars effect.
  • The effect tracks the user’s face and applies an animated avatar directly to the video stream.
  • Designed for video meetings, streaming, recording, online classes, and other real-time communication use cases.
  • Works as part of the existing Video Effects SDK processing pipeline.
  • Can be combined with the SDK integration flow already used for other effects.

Demo

You can try the Avatars effect here:

https://effectssdk.ai/sdk/dev/avatars.html

Documentation

Integration documentation is available here:

https://github.com/EffectsSDK/video-effects-sdk-web/blob/main/docs/Avatars.md

v3.8.0

Choose a tag to compare

@twinsbox89 twinsbox89 released this 22 Apr 06:50

Smarter Video Enhancement and Better Stability

This release improves video quality, reduces visual artifacts, and makes the processing pipeline more robust under real-world usage.

Improved Color Correction

  • Completely reworked the Color Correction effect for more natural-looking results.
  • Added automatic scene analysis that can adapt the image based on lighting and color balance.
  • Added manual controls for white balance, exposure, contrast, vibrance, and related tuning so integrations can fine-tune the final look.
  • Improved correction behavior to make adjustments smoother and more predictable over time.

Improved Low Light

  • Reworked the Low Light effect to brighten dark scenes more efficiently.
  • Simplified the Low Light pipeline by removing its dedicated worker/model path.
  • Improved stability while keeping low-light enhancement available as a real-time effect.

New Noise Suppression

  • Added a new Noise Suppression effect to reduce visible sensor noise and grain in the camera image.
  • Helps stabilize noisy regions instead of letting low-light shimmer and flicker from frame to frame.
  • Reworked the processing pipeline for better visual consistency and more stable output.

Better Portrait Lighting

  • Improved Portrait Lighting to produce cleaner separation around the subject.
  • Reduced visible boundary artifacts around the person, making the effect look more natural.

Stability and Rendering Improvements

  • Added manual WebGL context recreation and recovery logic to better handle rendering failures.
  • Improved recovery behavior when the graphics context is lost, helping the SDK return to a working state more reliably.
  • Fixed a Lower Thirds memory leak.
  • Fixed a frame-processing synchronization issue that could affect rendering stability.

Developer Experience

  • Cleaned up public API declarations.
  • Refreshed generated API documentation.

v3.7.1

Choose a tag to compare

@twinsbox89 twinsbox89 released this 18 Mar 13:10

Background Blob handling improvements

  • Fixed an issue with loading Blob data as a background.
  • Added optional parameters to sdk.setBackground() because the content type of a Blob cannot always be determined automatically.
  • When the type cannot be detected, the SDK now assumes the Blob is an image by default.

For more details, see the documentation:
https://effectssdk.ai/sdk/web/docs/classes/tsvb.html#setBackground

v3.7.0

Choose a tag to compare

@twinsbox89 twinsbox89 released this 17 Mar 02:41

New Rendering Engine

  • Fully rewrote the rendering engine and removed third-party dependencies
  • Improved FPS and reduced CPU/GPU resource usage through fewer render calls and less object manipulation
  • Faster initialization
  • Smaller library size

Bug Fixes & Stability Improvements

  • Multiple bug fixes and overall stability improvements
  • Fixed Lower Third font issues
  • Fixed destroy() race conditions

v3.6.2

Choose a tag to compare

@twinsbox89 twinsbox89 released this 08 Dec 04:03

Bug Fixes & Stability Improvements

  • Fixed a broken unsafe-eval patch introduced in the latest release.
  • Optimized build scripts and reduced overall package size.
  • Resolved a portrait-mode test inference issue.
  • Prevented access to SDK effects before the SDK is ready (added gating).
  • Improved overall stability across the video processing pipeline.

v3.6.1

Choose a tag to compare

@twinsbox89 twinsbox89 released this 02 Dec 06:24

New Feature: Portrait Lighting

Add a “studio-like” lighting boost to your video with Portrait Lighting, including separate controls for:

  • Portrait lighting strength (subject)
  • Background lighting strength (environment)

This lets you fine-tune the look—from subtle enhancement to a more dramatic, professional-grade result.

Bug Fixes & Stability Improvements

  • Fixed a race condition that could occur when reinitializing the SDK
  • General stability improvements across the video processing pipeline.

v3.6.0

Choose a tag to compare

@twinsbox89 twinsbox89 released this 21 Nov 07:00

Improved Beautification (aka “Touch Up My Appearance”)

  • Increased the base strength of the effect, so the result is now more noticeable out of the box.
  • Updated the algorithm that determines where beautification should be applied for more natural, face-aware results.
  • Made beautification intensity control more linear and predictable at runtime, so UI sliders feel smoother and more intuitive.

Frame-by-Frame Video Processing (VideoFrame → VideoFrame)

You can now process video frame by frame using VideoFrame input and VideoFrame output:

  • Designed for advanced integrations where the video provider SDK exposes direct VideoFrame access (e.g., Zoom Web SDK–style APIs).
  • Can also be used for offline / post-processing pipelines (denoising, enhancement, effects on pre-recorded video).

This unlocks deeper integrations and more flexible video processing workflows.

Explicit Resource Cleanup with sdk.destroy()

Added sdk.destroy() to explicitly free all GPU and CPU resources used by an SDK instance.

Use this when:

  • Your pipeline requires recreating the SDK instance during the same browser session.
  • You want to fully destroy the SDK instance and clean up GPU state.

Note:
Simply nulling the SDK instance reference is not sufficient. Internal resources and GPU contexts (WebGL / WebGPU) may stay alive and, after multiple re-initializations, can cause:

  • Video blinking or flickering
  • Gradual GPU memory growth
  • WebGL context limit warnings / errors
  • Other GPU-related issues

Calling await sdk.destroy() ensures a clean shutdown and proper release of GPU resources.

Bug Fixes & Stability Improvements

  • Various internal fixes to make GPU resource management more robust.
  • Improved error handling in edge cases during stream initialization and teardown.
  • General stability improvements across the video processing pipeline.

v3.5.9

Choose a tag to compare

@twinsbox89 twinsbox89 released this 04 Nov 04:05

Bug Fixes & Stability Improvements

  • Resolved a promise hang in Electron custom inference when the SDK instance was initialized more than four times.
  • Added inference test coverage/reporting for the CPU backend.
  • Miscellaneous bug fixes and stability improvements.