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.
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.
| Item | Spatius via LiveKit | Sume lip-sync clip |
|---|---|---|
| Where it renders | On the viewer's device | On Sume workers |
| What the viewer needs | Spatius client SDK | Any MP4 player |
| Audio rule | Ogg Opus at 8, 12, 16, 24 or 48 kHz, or raw PCM | Sume-hosted file, 10 MB or less, 5 to 14.8 s |
| Language | Python plugin only | Any HTTP client |
| Standard video tile shows | Black frames | The 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
- Speech-to-text price per hour, ranked: nine rates and Sume STT
Nine STT rates in dollars per audio hour, from Cloudflare's $0.03 to Sume STT 1.0 at $0.60, each read from the vendor's own page with the conversion shown.
- Strands Decider 2B vs Cloudflare Clef for gating agent runs
Both return typed answers (yes/no, choice, score) with confidence. Compare what each vendor page says, and what stays your job when a Sume run costs money.
- 3 days of Stripe retries vs 10 Sume attempts 30 seconds apart
Stripe retries live webhooks for up to 3 days; Sume tries 10 times, 30 seconds apart, about 4.5 minutes. After that, poll the job or call redeliver.
- Suno free plan: 7 trial downloads, no commercial rights for ads
Suno's free plan gives 7 lifetime trial downloads for personal use and no commercial rights. What that means for an ad, and the $0.125 per track route on Sume.
Written by Sume