xybrid-ai/xybrid
Cross-platform on-device AI toolkit
Xybrid – On‑device AI for apps & games
What it is – Xybrid is an open‑source SDK that lets you run large language models (LLMs), speech‑to‑text (ASR) and text‑to‑speech (TTS) locally on a wide range of platforms. It ships a single, consistent API that works in Flutter, Swift, Kotlin, Unity, Rust, Python and the web, and it can load models in ONNX, GGUF or SafeTensors formats.
Why it matters – All inference happens on the device, so no cloud service or API key is required after the initial model download. This gives you privacy, offline capability, and the ability to swap models at runtime without republishing the app.
Core capabilities
| Capability | Details |
|---|---|
| Speech‑to‑Text | Whisper‑tiny, Wav2Vec2‑base and other ONNX/ggml models. |
| Text‑to‑Speech | Kokoro‑82M, KittenTTS‑Nano, NeuTTS‑Nano – output is a 24 kHz WAV file. |
| LLM inference | Hundreds of models (LFM2.5, SmolLM2, Gemma, Llama 3.2, Qwen 3.5, Bonsai 27B, etc.) with tool‑calling and chain‑of‑thought support. |
| Vision‑language | Compact VLMs (LFM2‑VL, LFM2.5‑VL). |
| Multi‑model pipelines (MMP) | Chain ASR → LLM → TTS (or any sequence) via a tiny YAML description. |
| Hardware acceleration | Metal + Apple Neural Engine on iOS/macOS, optional Vulkan on Linux, CPU on other platforms. |
| Hybrid/cloud fallback | Optionally route a run to a remote service if the device can’t handle it. |
| Telemetry (opt‑in) | Usage stats can be sent behind an API key. |
Platforms & language bindings
| Platform | Binding | Package manager |
|---|---|---|
| Flutter | xybrid_flutter |
pub.dev |
| iOS / macOS (Swift) | xybrid (Swift Package) |
Swift Package Manager |
| Android (Kotlin) | xybrid-kotlin |
Maven Central |
| Unity | ai.xybrid.sdk |
OpenUPM / Git URL |
| Rust | xybrid crate |
crates.io |
| Python | xybrid binding (source) |
pip (via source) |
| Web (preview) | JavaScript SDK | npm (preview) |
| CLI | xybrid executable |
script installer |
Getting started (example in Flutter)
# pubspec.yaml
dependencies:
xybrid_flutter: ^0.6.0
final model = await Xybrid.model('kokoro-82m').load();
final result = await model.run(XybridEnvelope.text('Hello world'));
// result is a 24 kHz WAV audio buffer
The same pattern works in Kotlin, Swift, C# (Unity) and Rust – you load a model by its ID, feed an Envelope (text or audio), and receive the processed audio.
Model catalogue
Xybrid ships a built‑in registry (see xybrid.ai/models) that includes:
- ASR – Whisper‑tiny (39 M), Wav2Vec2‑base (95 M)
- TTS – Kokoro‑82M (82 M, 24 voices), KittenTTS‑Nano (15 M), NeuTTS‑Nano (120 M)
- LLMs – from 230 M up to 27 B parameters, covering multilingual, reasoning, tool‑calling and multimodal variants.
- Vision‑language – compact VLMs (450 M‑3 B).
You can also add your own model (experimental) by providing a
model_metadata.jsonthat describes the file format and preprocessing steps.
How it differs from similar projects
| Feature | Xybrid | Ollama | llama.cpp | ONNX Runtime |
|---|---|---|---|---|
| Mobile (iOS/Android) | ✅ | ❌ | ❌ | ✅ |
| Unity integration | ✅ | ❌ | ❌ | ❌ |
| Multi‑model pipelines | ✅ | ❌ | ❌ | ❌ |
| All three modalities (ASR + LLM + TTS) in one SDK | ✅ | ❌ | ❌ | ❌ |
| Runs in‑process, no server | ✅ | ❌ | ✅ | ✅ |
| Offline‑first, no cloud required | ✅ | ✅ | ✅ | ✅ |
License & community
- License – Apache 2.0 (permissive, commercial‑friendly).
- Docs – https://docs.xybrid.dev
- Discord – https://discord.gg/YhFHHkhbad
- GitHub – Issues, pull requests, good‑first‑issues, and a CONTRIBUTING guide are provided.
TL;DR
Xybrid gives developers a unified, offline‑first way to embed speech recognition, text‑to‑speech and large language model inference into mobile apps, desktop software and Unity games, with ready‑made bindings for the major languages and hardware‑accelerated runtimes.
Related
- Project
- Project
- Project
- Dispatch
- Project