- Supported Models
- Which Model Should I Pick?
- Capabilities Explained
- RAM Requirements
- Context Window
- Importing Your Own Models
- Model Sources
- Model Updates
- Model Storage
| Model | Size | Context | Capabilities | Min RAM | Best For |
|---|---|---|---|---|---|
| Gemma 4 E2B | 2.4 GB | 32K | Text · Vision · Audio · Thinking · Tools · MTP | 8 GB | All-rounder — chat, vision, audio, tool calling |
| Gemma 4 E4B | 3.4 GB | 32K | Text · Vision · Audio · Thinking · Tools · MTP | 12 GB | Higher quality than E2B, same capabilities, needs more RAM |
| Gemma 3n E2B | 3.4 GB | 4K | Text · Vision · Audio | 8 GB | Vision and audio tasks on 8 GB devices |
| Gemma 3n E4B | 4.6 GB | 4K | Text · Vision · Audio | 12 GB | Higher quality vision/audio on 12 GB+ devices |
| Gemma 3 1B | 0.5 GB | 1K | Text | 6 GB | Smallest model, fastest responses, text-only |
| Qwen 2.5 1.5B | 1.5 GB | 4K | Text | 6 GB | Good text quality for its size, longer context than Gemma 3 1B |
| DeepSeek-R1 1.5B | 1.7 GB | 4K | Text | 6 GB | Reasoning-focused, includes chain-of-thought |
All models are downloaded from HuggingFace in .litertlm format and run on-device via Google's LiteRT-LM runtime.
Start with Gemma 4 E2B. It's the best balance of quality, speed, and capability — multimodal (vision + audio), tool calling (experimental), thinking mode, and a 32K context window.
| Your Use Case | Recommended Model | Why |
|---|---|---|
| Chat UI (e.g. Open WebUI) | Gemma 4 E2B or E4B | Best conversational quality, thinking mode for complex questions |
| Image/audio analysis | Gemma 4 E2B or Gemma 3n E2B | Both support vision and audio input |
| Low-RAM device (6 GB) | Gemma 3 1B or Qwen 2.5 1.5B | Only text-capable models fit in 6 GB |
| Fastest possible responses | Gemma 3 1B | Smallest model, lowest latency |
| Longer conversations | Gemma 4 E2B/E4B | 32K context vs 1K–4K on smaller models |
| Reasoning tasks | Gemma 4 E2B or Gemma 4 E4B | Both support chain-of-thought reasoning |
| Capability | What It Means |
|---|---|
| Text | Standard text chat and completions |
| Vision | Send images in API requests — the model can describe, analyze, and answer questions about them |
| Audio | Send audio in API requests — the model can transcribe and respond via text to spoken content |
| Thinking | Chain-of-thought reasoning mode — the model shows its reasoning process before answering (toggle per model in inference settings) |
| Tools | Experimental. Function/tool calling via SDK schema injection (default) or prompt-based fallback. With schema injection enabled, tool schemas are registered directly with the LiteRT SDK for structured output. Best with Gemma 4 models, smaller models may not follow tool instructions reliably. See Troubleshooting → Tool Calling for tips |
| MTP | Multi-Token Prediction (speculative decoding) — the model predicts multiple tokens at once for faster decode speed without quality loss. Requires a model file that includes an MTP draft head. Toggle per model in inference settings. See FAQ → What is speculative decoding? |
The "Min RAM" column refers to your device's total RAM, not available RAM. These values come from Google's official model specifications in the LiteRT community model cards.
Note
The model file is loaded into memory alongside the Android OS and other apps. A device with exactly the minimum RAM may experience slow performance or out-of-memory (OOM) kills — Android forcefully closing apps to free RAM. See Troubleshooting → Server crashes if this happens.
In practice:
- 8 GB+ is recommended for a smooth experience with most models
- 12 GB+ is recommended for Gemma 4 E4B and Gemma 3n E4B
The context window determines how much conversation history the model can "see" at once.
| Context | Roughly Equivalent To |
|---|---|
| 1K | ~750 words — a few message exchanges |
| 4K | ~3,000 words — a medium conversation |
| 32K | ~24,000 words — a long conversation or very long message |
Note
The word counts in the table above are approximate, based on ~0.75 words per token. Actual numbers vary depending on language, content type, and vocabulary — code and non-English text typically use more tokens per word.
When a conversation exceeds the context window, OlliteRT can automatically compact older messages to fit. Three compaction strategies are available in Settings → Context Management (all disabled by default). See the FAQ for details, or Troubleshooting if conversations are failing.
OlliteRT supports three ways to import models. Tap the + button on the Models screen to see the options:
From a local .litertlm file:
- Select a
.litertlmmodel file from your device storage
From a model list file (.json):
- Select a JSON file from your device that follows the Model Allowlist Schema — all models in the list are added to your Models screen in one go
From a model list URL (.json):
- Enter a URL pointing to a JSON model list (e.g. a raw GitHub link) — fetches the list and adds all models
Tip
The JSON file and URL imports are one-time operations — models are added but the source is not tracked. For ongoing access to a third-party model source with automatic refresh and update detection, add it as a model source instead.
When importing a .litertlm file, the import dialog lets you configure the model before adding it:
- Name — editable model name (file extension is preserved automatically). If the name conflicts with an existing imported model, you're prompted to replace it. Names that conflict with built-in models are rejected
- Capabilities — toggle vision, audio, thinking, and tools support. These tell OlliteRT what to advertise — the model itself must actually support the capability
- Max tokens — configure the maximum output length
- Context window — set the model's context window size
You can also edit all of these settings after import via the model's inference settings (tap the gear icon on the model card).
Important
- Only
.litertlmformat is supported — GGUF files cannot be used (LiteRT runtime limitation) - Imported models are copied to app storage (Android scoped storage requirement), so the file will temporarily use double the disk space
If import fails, see Troubleshooting → Model import fails.
OlliteRT uses a model source system for managing where models come from — similar to how F-Droid manages app repositories. Each model source is a JSON URL that provides a list of models available for download.
The Official model source is included by default and points to the LiteRT community models on HuggingFace. It cannot be removed.
You can add custom model sources to make additional models available:
- Go to Settings → Model Sources
- Tap the + button
- Choose how to add the source:
- From a model list file — select a local JSON file from your device
- From a URL — enter the URL of a model list JSON file (e.g. a raw GitHub link)
The JSON file must follow the Model Allowlist Schema.
Custom model sources can be enabled, disabled, or removed at any time. Disabled sources are hidden from the Models screen but their configuration is preserved.
The Model Sources detail screen shows all models in a source, including those incompatible with your device (shown greyed out with the reason, e.g. "Requires app version X.Y.Z"). The source list shows the count as "N models · M hidden" when some models are filtered out.
Model sources are automatically refreshed approximately every 24 hours in the background to check for new models and updates. You can also pull-to-refresh on the Models screen to trigger an immediate refresh.
Tip
If you want to create your own model source, see the Model Allowlist Schema for the JSON format.
OlliteRT can detect when a newer version of a downloaded model is available in a model source:
- A background worker periodically checks each enabled model source for updated model files
- When an update is found, a notification is shown and the model card displays an update indicator
- The
/v1/modelsAPI response includes anupdate_availablefield per model - To update, download the new version — it replaces the existing model file
Models are stored in the app's private storage directory. You can manage them from the Models screen:
- Download — one-tap download from HuggingFace (or from custom model sources)
- Delete — removes the model file and frees storage
- Storage indicator — the bottom bar shows available vs used storage
The LiteRT SDK version bundled with OlliteRT determines which models can run. Some newer models may require an app update even if they appear in a model source. See SDK Compatibility for the full compatibility table.