Skip to content
On-device · Web, mobile, desktop

Video Effects SDK: virtual background, blur and auto-framing

Add real-time background effects, beautification and color correction to your video app. Runs on the user's device — no RTX GPU, no servers, no video leaves the device.

Free trial · Integration help from our team

Webcam before and after Effects SDK

Runs on

  • Web
  • iOS
  • Android
  • Windows
  • macOS
  • Electron
  • Flutter

Works with

  • WebRTC
  • LiveKit
  • LiveKit Flutter
  • Zoom Video SDK
  • Cloudflare Calls

Integrate in hours

The same small API on every platform: authorize with your Customer ID, create a pipeline, enable effects, process frames or a stream.

import { tsvb } from 'effects-sdk';

const sdk = new tsvb('YOUR_CUSTOMER_ID');
sdk.preload();

sdk.onReady = () => {
  sdk.useStream(cameraStream);
  sdk.run();
  sdk.setBlur(0.6);
  video.srcObject = sdk.getStream();
};
EffectsSDK.initialize(context, yourCustomerId) { status ->
    if (status == EffectsSDKStatus.ACTIVE) {
        val sdkFactory = EffectsSDK.createSDKFactory()
        val pipeline = sdkFactory.createCameraPipeline(
            context = context,
            mode = PipelineMode.BLUR,
            blurPower = 0.7f
        )
        pipeline.setOutputSurface(surface)
        pipeline.startPipeline()
    }
}
import TSVB

let sdkFactory = SDKFactory()
let authResult = try await sdkFactory.auth(customerID: "CUSTOMER_ID")
guard authResult.status == .active else { return }

let frameFactory = sdkFactory.newFrameFactory()
let pipeline = sdkFactory.newPipeline()
pipeline.enableBlurBackground(power: 0.6)
::tsvb::ISDKFactory* factory = createSDKFactory();
::tsvb::IFrameFactory* frameFactory = factory->createFrameFactory();
::tsvb::IPipeline* pipeline = factory->createPipeline();
pipeline->enableBlurBackground(0.6f);

::tsvb::IFrame* frame = frameFactory->createBGRA(data, bytesPerLine, width, height, false);
::tsvb::IFrame* result = pipeline->process(frame, nullptr);

Platforms and packages

Video Effects SDK platforms
Platform Requirements Install Links
Web Current Chrome, Safari, Firefox, Edge, Opera; WebGPU, WebGL or WASM npm i effects-sdk
iOS iOS 13+ Swift Package or xcframework
Android Android 5.0 (API 21)+ ai.effectssdk:video (Maven)
Windows Windows 10/11 x64; x86 apps supported C++ SDK
macOS macOS 11.0+, Apple silicon and Intel C++ SDK
Electron Windows, macOS, Linux Native module + JS API
Flutter Flutter Web with flutter_webrtc Flutter plugin

Native SDK details

Languages and frame formats
Platform Language Frame formats
Windows C++ BGRA, NV12
macOS C++ BGRA, NV12
iOS C++ with Objective-C wrapper + Swift API BGRA, RGBA, NV12
Android C++ with Kotlin wrapper RGB bitmap, YUV420
Web JavaScript + WebAssembly MediaStream

Built to ship in production

Simple integration

A small, documented API with samples for every platform. We help your team with the integration.

Cross-platform

One feature set on Windows, macOS, iOS, Android, the web, Electron and Flutter.

Quality and speed

Models tuned for stable masks without flicker on ordinary webcams and laptops.

GPU accelerated

DirectX 11, Metal, WebGPU and WebGL pipelines; Core ML runs on the CPU, GPU or Neural Engine.

What your users get

Video calls are the default way to meet, for work and for personal life. How people look and what their room shows matters.

Brand recognition

Branded backgrounds in meetings, webinars, live streams, classes and telehealth sessions help people recognize the brand.

Professional look anywhere

People work from home, cafes and co-working spaces. Effects keep them looking professional on camera.

Confidence on camera

Skin smoothing, balanced colors and good light help users feel confident and sociable.

Privacy

Hide a messy room, private details and unwanted movement behind the speaker.

Session-based pricing

One session is one SDK initialization, however long it lasts and however many effects run. No user data is collected.

Free trial

$0

7 days with every feature on your platforms. Start in the Developer Portal, no sales call.

Startup

from $50

Pay as you go by sessions, with automatic tracking and card payment. Price depends on volume, platforms and features.

Enterprise

Custom

The lowest session price, a 1-month trial, on-premises deployment and an account manager.

Questions

Something else? Ask us below.

Does it work with x86 applications?

Yes. x86 applications are supported on 64-bit Windows: the x86 SDK runs ML inference in a 64-bit helper process. We ship both x64 and x86 libraries in the SDK package.

How fast is it?

It depends on the frame size and format, the inference backend (GPU or CPU), the hardware and what else your app processes. On a typical laptop the Video SDK processes Full HD video at up to 50 FPS.

How long does the SDK take to initialize?

Usually a few seconds, depending on the platform, inference engine and hardware. On the web, models are downloaded on first use and then cached. Start loading early (for example, call preload() before the camera turns on) and enable the effect when the SDK reports it is ready.

Can I pass GPU frames as input?

Frames are processed on the GPU: DirectX 11 on Windows, Metal on macOS and iOS, WebGPU or WebGL in browsers, with a CPU fallback. On iOS and macOS you can pass a CVPixelBuffer directly; a Metal-compatible buffer avoids extra copies. If you need another GPU input path, contact us.

How do you deliver updates?

Each release is published with release notes on the Release notes page and on GitHub. Web SDKs are on npm (effects-sdk and audio-effects-sdk); native SDKs ship as packages for each platform. Model files are versioned, so clients on the previous version keep working while you upgrade.

Do you help with integration?

Yes. We help your developers choose the best integration path for your stack and answer questions as you go. Usually we open a shared chat with your team for quick answers. If you have no developer for the integration, we can do it for a fixed price.

Can you customize the SDK?

Yes. We adapt the SDK to your requirements, usually on a time-and-materials basis.

Do you plan to add new features?

Yes. Recent releases added video noise suppression, portrait lighting, avatars, custom lower thirds and captions, and Studio Sound in the Audio SDK. Follow the release notes and tell us which features you need next.

Still have questions?

Tell us about your product and platforms. Our team will get back to you and can help with the integration.

Ready to build? Open the Developer Portal and start a free trial.

Protected by reCAPTCHA. See our privacy policy.