Morning everyone. Let's keep it quick today.
Record and transcribe on your own server
Nextcloud Talk calls, recorded and transcribed on your own hardware. Build on everything your team says without handing it to a third party.
~ cassini record --call "$CALL_URL" --out daily-standup.opus
Nextcloud Talk · daily-standup · 5 participants
●Recorded 00:02:45
✓Transcribingparakeet-tdt-0.6b-v3 · local
✓Packaging
→ daily-standup.opus
The basics, covered
A Nextcloud app
Installs from the App Store, and appears as an app icon beside Files and Talk.
The same Record button
Cassini registers as Talk's recording server. Any room, group calls and 1:1.
Speaker ID
Every line attributed to the right voice, automatically.
Explore your transcripts
Read, replay, search and tag every meeting without leaving Nextcloud.
Daily standup
Tue, 1 Jul 2026 · 3 min · Chris, Silvio, Marco, Ivan, Alex
Auth refactor is done, pushed to staging. Picking up the notification service today.
Found the race condition — fix going up today.
Data privacy
100% local transcription
Your data, your rules
sherpa-onnx with NVIDIA Parakeet models.
CPU
amd64 · arm64The default. No GPU required. Requires Nextcloud AppAPI and Talk’s high-performance backend. Audio stays on your infrastructure.
GPU
CUDA imageCUDA accelerated. Cassini auto-detects your GPU. Significantly quicker for heavier workloads.
One file.
Everything inside.
Audio, transcript, and metadata in one self-contained .opus file.
An open specification at format.gocassini.com.
Audio
Opus-encoded, 48kbps
Transcript
Speaker-labelled, plain text
Metadata
Room, participants, timestamps
Bring your own model
Register any OpenAI-compatible endpoint in the app - a model you host, or one you pay for.
With one configured, meetings get a summary when they publish unless an administrator disables summaries. Anyone can ask a question across the meetings they can already open. The answer is saved into their own Nextcloud Files, naming the meetings it read and the model that answered.
Leave it unconfigured and nothing calls a model: the transcript is still produced, published and searchable.
The team ran a quick check-in. Silvio completed the auth refactor and pushed to staging, and is picking up the notification service next. Marco identified and is fixing a race condition in today's build.
Key points
- Auth refactor complete — on staging
- Race condition identified, fix shipping today
- Notification service is next priority
Ready to get started? Read the docs →
Questions?
We've got answers
Need support? Send us an email.
Does audio leave my server?
No. Cassini transcribes locally on your own infrastructure. Summaries and insights send text only: if you configure a language model, the transcript (not the audio) is sent to whichever endpoint you chose, your own or a third party. Both stay off until you register an endpoint.
Which Nextcloud versions are supported?
Cassini supports Nextcloud 33.0.9 to 35, with Nextcloud Talk enabled. Check the App Store listing for the exact compatibility matrix.
What languages can it transcribe?
The bundled Parakeet model supports 25 European languages, including English, German, French, Spanish, Italian and Dutch. It detects the language automatically, so Cassini transcribes whatever is spoken in the meeting with no configuration needed.
Does it record every call automatically?
Recording is on-demand. A host starts the recording from within the Talk room, giving participants visibility and keeping you in control of which meetings are captured.
Where are recordings stored?
Each recording is saved as a single .opus file in Nextcloud Files, on your own server. Each one is shared with the people, groups and Teams in its Talk room, and Nextcloud decides who can open it.