Spatius client-side Gaussian splatting avatar vs a finished MP4

Spatius renders avatars on the client with 3D Gaussian splatting and needs its SDK to show them. A finished Sume MP4 plays in any video element, no SDK needed.

5 min readSume
All posts

Spatius renders its avatars on the viewer's device with 3D Gaussian splatting, so a standard video element shows only black frames and you must add the Spatius client SDK. A Sume avatar clip is an ordinary MP4, so any player, email tool or social upload can show it. The trade is that Sume's clip is not live.

What the Spatius plugin does

The LiveKit page says Spatius avatars "render on the client using 3D Gaussian splatting" instead of sending server-rendered video, which it says reduces bandwidth and latency. The avatar joins the room as a participant, but it carries motion data in black frames, so your frontend has to decode it with the Spatius client SDK.

The plugin is Python-only and installs with uv add "livekit-agents[spatius]~=1.8". It needs SPATIUS_API_KEY (server side only), SPATIUS_APP_ID from Spatius Studio and SPATIUS_AVATAR_ID from the Avatar Library, with an optional SPATIUS_REGION.

The audio sample-rate trap

The page also documents a startup failure that is easy to hit. The plugin sends Ogg Opus by default, which supports five sample rates: 8000, 12000, 16000, 24000 and 48000 Hz. If your text-to-speech uses another rate, the plugin raises an exception at startup. The fixes are to pin the sample rate to a supported value or to switch to raw PCM.

The lesson applies to any avatar pipeline: check the audio format your TTS emits before you wire it to a face.

What Sume asks of audio

For a lip-sync clip, Sume wants a Sume-hosted audio_url of at most 10 MB, with a measured duration_seconds between 5 and 14.8 for H3 Max lip sync. Off-host or oversized audio is rejected at preflight (unsupported_audio_source or audio_too_large).

The result needs no SDK. It is a durable media.sume.com MP4 in the job result.

Client-rendered vs file-rendered avatar (read 2026-10-05)
ItemSpatius via LiveKitSume lip-sync clip
Where it rendersOn the viewer's deviceOn Sume workers
What the viewer needsSpatius client SDKAny MP4 player
Audio ruleOgg Opus at 8, 12, 16, 24 or 48 kHz, or raw PCMSume-hosted file, 10 MB or less, 5 to 14.8 s
LanguagePython plugin onlyAny HTTP client
Standard video tile showsBlack framesThe finished video

Choosing

Pick the client-rendered route if you control the app, want a live face, and accept shipping an SDK. Pick the file route if the video must travel: embedded in a page, attached to a message or posted to a feed. The 10 MB audio limit guide shows how many seconds of WAV and MP3 fit.

Sources

Related posts

More in Comparisons

All Comparisons posts

Written by Sume