# RunAnywhere Documentation - [Welcome to RunAnywhere](https://docs.runanywhere.ai/index.md): On-device AI SDKs for mobile, desktop, and the browser - [Quickstart](https://docs.runanywhere.ai/quickstart.md): Working code on every platform - [SDK overview](https://docs.runanywhere.ai/sdks.md): What is the same and what differs across platforms - [Introduction](https://docs.runanywhere.ai/swift/introduction.md): RunAnywhere Swift SDK for iOS and macOS - [Installation](https://docs.runanywhere.ai/swift/installation.md): Install the RunAnywhere Swift SDK via Swift Package Manager - [Quick Start](https://docs.runanywhere.ai/swift/quick-start.md): Build your first AI feature in minutes - [Models](https://docs.runanywhere.ai/swift/models.md): Find, download, load, switch, and remove models - [Chat](https://docs.runanywhere.ai/swift/llm/chat.md): Multi-turn conversations with message history - [generate()](https://docs.runanywhere.ai/swift/llm/generate.md): One-shot text generation with metrics and options - [generateStream()](https://docs.runanywhere.ai/swift/llm/stream.md): Stream tokens as they are produced - [System Prompts](https://docs.runanywhere.ai/swift/llm/system-prompts.md): Control model behaviour with a system prompt - [Structured Output](https://docs.runanywhere.ai/swift/structured-output.md): Get JSON back instead of prose - [transcribe()](https://docs.runanywhere.ai/swift/stt/transcribe.md): Convert speech to text on-device - [Streaming STT](https://docs.runanywhere.ai/swift/stt/stream.md): Transcribe speech as it arrives - [STT Options](https://docs.runanywhere.ai/swift/stt/options.md): Configure transcription - [synthesize()](https://docs.runanywhere.ai/swift/tts/synthesize.md): Turn text into audio - [Streaming TTS](https://docs.runanywhere.ai/swift/tts/stream.md): Start speaking before the whole text is synthesized - [Voices](https://docs.runanywhere.ai/swift/tts/voices.md): List and select a speaking voice - [Vision Language Models](https://docs.runanywhere.ai/swift/vlm.md): Ask a model about an image - [Voice Activity Detection](https://docs.runanywhere.ai/swift/vad.md): Find speech in audio - [Voice Agent](https://docs.runanywhere.ai/swift/voice-agent.md): A full spoken conversation - [Tool Calling](https://docs.runanywhere.ai/swift/tool-calling.md): Let the model call your functions - [RAG, Embeddings, and Reranking](https://docs.runanywhere.ai/swift/rag.md): Retrieval sessions over your own documents - [Embeddings & Reranking](https://docs.runanywhere.ai/swift/embeddings.md): Turn text into vectors, and reorder results against a query - [LoRA Adapters](https://docs.runanywhere.ai/swift/lora.md): Layer an adapter onto the loaded base model - [Image Generation](https://docs.runanywhere.ai/swift/images.md): Generate images on-device - [Diarization](https://docs.runanywhere.ai/swift/diarization.md): Work out who spoke when - [Segmentation](https://docs.runanywhere.ai/swift/segmentation.md): Find and label regions in an image - [Configuration](https://docs.runanywhere.ai/swift/configuration.md): Initialization, models, storage, and logging - [Error Handling](https://docs.runanywhere.ai/swift/error-handling.md): SDKException, codes, and recovery - [Best Practices](https://docs.runanywhere.ai/swift/best-practices.md): Getting good behaviour out of on-device models - [Introduction](https://docs.runanywhere.ai/kotlin/introduction.md): RunAnywhere Kotlin SDK for Android - [Installation](https://docs.runanywhere.ai/kotlin/installation.md): Add the RunAnywhere Kotlin SDK to your Android project - [Quick Start](https://docs.runanywhere.ai/kotlin/quick-start.md): Build your first AI feature in minutes - [Models](https://docs.runanywhere.ai/kotlin/models.md): Find, download, load, switch, and remove models - [Chat](https://docs.runanywhere.ai/kotlin/llm/chat.md): Multi-turn conversations with message history - [generate()](https://docs.runanywhere.ai/kotlin/llm/generate.md): One-shot text generation with metrics and options - [generateStream()](https://docs.runanywhere.ai/kotlin/llm/stream.md): Stream tokens as they are produced - [System Prompts](https://docs.runanywhere.ai/kotlin/llm/system-prompts.md): Control model behaviour with a system prompt - [Structured Output](https://docs.runanywhere.ai/kotlin/structured-output.md): Get JSON back instead of prose - [transcribe()](https://docs.runanywhere.ai/kotlin/stt/transcribe.md): Convert speech to text on-device - [Streaming STT](https://docs.runanywhere.ai/kotlin/stt/stream.md): Transcribe speech as it arrives - [STT Options](https://docs.runanywhere.ai/kotlin/stt/options.md): Configure transcription - [synthesize()](https://docs.runanywhere.ai/kotlin/tts/synthesize.md): Turn text into audio - [Streaming TTS](https://docs.runanywhere.ai/kotlin/tts/stream.md): Start speaking before the whole text is synthesized - [Voices](https://docs.runanywhere.ai/kotlin/tts/voices.md): List and select a speaking voice - [Vision Language Models](https://docs.runanywhere.ai/kotlin/vlm.md): Ask a model about an image - [Voice Activity Detection](https://docs.runanywhere.ai/kotlin/vad.md): Find speech in audio - [Voice Agent](https://docs.runanywhere.ai/kotlin/voice-agent.md): A full spoken conversation - [Tool Calling](https://docs.runanywhere.ai/kotlin/tool-calling.md): Let the model call your functions - [RAG](https://docs.runanywhere.ai/kotlin/rag.md): Answer questions over your own documents - [Embeddings & Reranking](https://docs.runanywhere.ai/kotlin/embeddings.md): Turn text into vectors, and reorder results against a query - [LoRA Adapters](https://docs.runanywhere.ai/kotlin/lora.md): Layer an adapter onto the loaded base model - [Image Generation](https://docs.runanywhere.ai/kotlin/images.md): Generate images on-device - [Diarization](https://docs.runanywhere.ai/kotlin/diarization.md): Work out who spoke when - [Segmentation](https://docs.runanywhere.ai/kotlin/segmentation.md): Find and label regions in an image - [Configuration](https://docs.runanywhere.ai/kotlin/configuration.md): Initialization, models, storage, and events - [Error Handling](https://docs.runanywhere.ai/kotlin/error-handling.md): SDKException, codes, and recovery - [Best Practices](https://docs.runanywhere.ai/kotlin/best-practices.md): Getting good behaviour out of on-device models - [Introduction](https://docs.runanywhere.ai/react-native/introduction.md): RunAnywhere React Native SDK for iOS and Android - [Installation](https://docs.runanywhere.ai/react-native/installation.md): Add the RunAnywhere SDK to a React Native app - [Quick Start](https://docs.runanywhere.ai/react-native/quick-start.md): Build your first AI feature in minutes - [Models](https://docs.runanywhere.ai/react-native/models.md): Find, download, load, switch, and remove models - [Chat](https://docs.runanywhere.ai/react-native/llm/chat.md): Multi-turn conversations with message history - [generate()](https://docs.runanywhere.ai/react-native/llm/generate.md): One-shot text generation - [generateStream()](https://docs.runanywhere.ai/react-native/llm/stream.md): Stream tokens as they are produced - [System Prompts](https://docs.runanywhere.ai/react-native/llm/system-prompts.md): Control model behaviour with a system prompt - [Structured Output](https://docs.runanywhere.ai/react-native/structured-output.md): Get JSON back instead of prose - [transcribe()](https://docs.runanywhere.ai/react-native/stt/transcribe.md): Convert speech to text on-device - [Streaming STT](https://docs.runanywhere.ai/react-native/stt/stream.md): Transcribe speech as it arrives - [STT Options](https://docs.runanywhere.ai/react-native/stt/options.md): Configure transcription - [synthesize()](https://docs.runanywhere.ai/react-native/tts/synthesize.md): Turn text into audio - [Streaming TTS](https://docs.runanywhere.ai/react-native/tts/stream.md): Start speaking before the whole text is synthesized - [Voices](https://docs.runanywhere.ai/react-native/tts/voices.md): List and select a speaking voice - [Vision Language Models](https://docs.runanywhere.ai/react-native/vlm.md): Ask a model about an image - [Voice Activity Detection](https://docs.runanywhere.ai/react-native/vad.md): Find speech in audio - [Voice Agent](https://docs.runanywhere.ai/react-native/voice-agent.md): A full spoken conversation - [Tool Calling](https://docs.runanywhere.ai/react-native/tool-calling.md): Let the model call your functions - [RAG](https://docs.runanywhere.ai/react-native/rag.md): Retrieval sessions with grounded answers - [Embeddings & Reranking](https://docs.runanywhere.ai/react-native/embeddings.md): Turn text into vectors, and reorder results against a query - [LoRA Adapters](https://docs.runanywhere.ai/react-native/lora.md): Layer an adapter onto the loaded base model - [Image Generation](https://docs.runanywhere.ai/react-native/images.md): Generate images on-device - [Diarization](https://docs.runanywhere.ai/react-native/diarization.md): Work out who spoke when - [Segmentation](https://docs.runanywhere.ai/react-native/segmentation.md): Find and label regions in an image - [Configuration](https://docs.runanywhere.ai/react-native/configuration.md): Initialization, models, storage, and platform services - [Error Handling](https://docs.runanywhere.ai/react-native/error-handling.md): SDKException, codes, and recovery - [Best Practices](https://docs.runanywhere.ai/react-native/best-practices.md): Getting good behaviour out of on-device models - [Introduction](https://docs.runanywhere.ai/flutter/introduction.md): RunAnywhere Flutter SDK for iOS and Android - [Installation](https://docs.runanywhere.ai/flutter/installation.md): Add the RunAnywhere Flutter SDK to your app - [Quick Start](https://docs.runanywhere.ai/flutter/quick-start.md): Build your first AI feature in minutes - [Models](https://docs.runanywhere.ai/flutter/models.md): Find, download, load, switch, and remove models - [Chat](https://docs.runanywhere.ai/flutter/llm/chat.md): Multi-turn conversations with message history - [generate()](https://docs.runanywhere.ai/flutter/llm/generate.md): One-shot text generation - [generateStream()](https://docs.runanywhere.ai/flutter/llm/stream.md): Stream tokens as they are produced - [System Prompts](https://docs.runanywhere.ai/flutter/llm/system-prompts.md): Control model behaviour with a system prompt - [Structured Output](https://docs.runanywhere.ai/flutter/structured-output.md): Get JSON back instead of prose - [transcribe()](https://docs.runanywhere.ai/flutter/stt/transcribe.md): Convert speech to text on-device - [Streaming STT](https://docs.runanywhere.ai/flutter/stt/stream.md): Transcribe speech as it arrives - [STT Options](https://docs.runanywhere.ai/flutter/stt/options.md): Configure transcription - [synthesize()](https://docs.runanywhere.ai/flutter/tts/synthesize.md): Turn text into audio - [Streaming TTS](https://docs.runanywhere.ai/flutter/tts/stream.md): Start speaking before the whole text is synthesized - [Voices](https://docs.runanywhere.ai/flutter/tts/voices.md): List and select a speaking voice - [Vision Language](https://docs.runanywhere.ai/flutter/vlm.md): Answer questions about an image - [Voice Activity Detection](https://docs.runanywhere.ai/flutter/vad.md): Find speech in audio - [Voice Agent](https://docs.runanywhere.ai/flutter/voice-agent.md): A full spoken conversation - [Tool Calling](https://docs.runanywhere.ai/flutter/tool-calling.md): Let the model call your functions - [RAG](https://docs.runanywhere.ai/flutter/rag.md): Ingest documents and answer questions from them - [Embeddings and Rerank](https://docs.runanywhere.ai/flutter/embeddings.md): Text vectors and cross-encoder reranking - [LoRA Adapters](https://docs.runanywhere.ai/flutter/lora.md): Layer an adapter onto the loaded base model - [Image Generation](https://docs.runanywhere.ai/flutter/images.md): Diffusion image generation and inpainting - [Diarization](https://docs.runanywhere.ai/flutter/diarization.md): Attribute spans of audio to speakers - [Segmentation](https://docs.runanywhere.ai/flutter/segmentation.md): Assign a class to every pixel of an image - [Configuration](https://docs.runanywhere.ai/flutter/configuration.md): Initialization, models, and events - [Error Handling](https://docs.runanywhere.ai/flutter/error-handling.md): SDKException, codes, and recovery - [Best Practices](https://docs.runanywhere.ai/flutter/best-practices.md): Getting good behaviour out of on-device models - [Introduction](https://docs.runanywhere.ai/web/introduction.md): RunAnywhere Web SDK for browser-based on-device inference - [Installation](https://docs.runanywhere.ai/web/installation.md): Install the RunAnywhere Web SDK - [Quick Start](https://docs.runanywhere.ai/web/quick-start.md): Build your first AI feature in minutes - [Models](https://docs.runanywhere.ai/web/models.md): Find, download, load, switch, and remove models - [Chat](https://docs.runanywhere.ai/web/llm/chat.md): Multi-turn conversations with message history - [generate()](https://docs.runanywhere.ai/web/llm/generate.md): One-shot text generation - [generateStream()](https://docs.runanywhere.ai/web/llm/stream.md): Stream tokens as they are produced - [System Prompts](https://docs.runanywhere.ai/web/llm/system-prompts.md): Control model behaviour with a system prompt - [Structured Output](https://docs.runanywhere.ai/web/structured-output.md): Get JSON back instead of prose - [transcribe()](https://docs.runanywhere.ai/web/stt/transcribe.md): Convert speech to text in the browser - [Streaming STT](https://docs.runanywhere.ai/web/stt/stream.md): Transcribe speech as it arrives - [STT Options](https://docs.runanywhere.ai/web/stt/options.md): Configure transcription - [synthesize()](https://docs.runanywhere.ai/web/tts/synthesize.md): Turn text into audio - [Streaming TTS](https://docs.runanywhere.ai/web/tts/stream.md): Start speaking before the whole text is synthesized - [Voices](https://docs.runanywhere.ai/web/tts/voices.md): List and select a speaking voice - [Vision Language Models](https://docs.runanywhere.ai/web/vlm.md): Ask a model about an image - [Voice Activity Detection](https://docs.runanywhere.ai/web/vad.md): Find speech in audio - [Voice Agent](https://docs.runanywhere.ai/web/voice-agent.md): A full spoken conversation - [Tool Calling](https://docs.runanywhere.ai/web/tool-calling.md): Let the model call your functions - [RAG](https://docs.runanywhere.ai/web/rag.md): Answer questions over documents the user provides - [Embeddings & Reranking](https://docs.runanywhere.ai/web/embeddings.md): Turn text into vectors, and reorder results against a query - [LoRA Adapters](https://docs.runanywhere.ai/web/lora.md): Layer an adapter onto the loaded base model - [Image Generation](https://docs.runanywhere.ai/web/images.md): Generate images on-device - [Diarization](https://docs.runanywhere.ai/web/diarization.md): Work out who spoke when - [Segmentation](https://docs.runanywhere.ai/web/segmentation.md): Find and label regions in an image - [Configuration](https://docs.runanywhere.ai/web/configuration.md): Initialization, models, storage, and events - [Error Handling](https://docs.runanywhere.ai/web/error-handling.md): SDKException, codes, and recovery - [Best Practices](https://docs.runanywhere.ai/web/best-practices.md): Getting good behaviour out of models in a browser - [Introduction](https://docs.runanywhere.ai/electron/introduction.md): RunAnywhere Electron SDK for Windows and macOS desktop apps - [Installation](https://docs.runanywhere.ai/electron/installation.md): Packages, the three-process model, and packaging - [Quick Start](https://docs.runanywhere.ai/electron/quick-start.md): A working window - [Models](https://docs.runanywhere.ai/electron/models.md): Find, download, pause, resume, load, and remove models - [Chat](https://docs.runanywhere.ai/electron/llm/chat.md): Multi-turn conversations with message history - [generate()](https://docs.runanywhere.ai/electron/llm/generate.md): One-shot text generation - [generateStream()](https://docs.runanywhere.ai/electron/llm/stream.md): Stream tokens as they are produced - [System Prompts](https://docs.runanywhere.ai/electron/llm/system-prompts.md): Control model behaviour with a system prompt - [Structured Output](https://docs.runanywhere.ai/electron/structured-output.md): Get JSON back instead of prose - [transcribe()](https://docs.runanywhere.ai/electron/stt/transcribe.md): Convert speech to text - [Streaming STT](https://docs.runanywhere.ai/electron/stt/stream.md): Transcribe speech as it arrives - [STT Options](https://docs.runanywhere.ai/electron/stt/options.md): Configure transcription - [synthesize()](https://docs.runanywhere.ai/electron/tts/synthesize.md): Turn text into audio - [Streaming TTS](https://docs.runanywhere.ai/electron/tts/stream.md): Start speaking before the whole text is synthesized - [Voices](https://docs.runanywhere.ai/electron/tts/voices.md): List and select a speaking voice - [Vision Language Models](https://docs.runanywhere.ai/electron/vlm.md): Ask a model about an image - [Voice Activity Detection](https://docs.runanywhere.ai/electron/vad.md): Find speech in audio - [Voice Agent](https://docs.runanywhere.ai/electron/voice-agent.md): A full spoken conversation - [Tool Calling](https://docs.runanywhere.ai/electron/tool-calling.md): Let the model call your functions - [RAG](https://docs.runanywhere.ai/electron/rag.md): Answer questions over a folder of documents - [Embeddings & Reranking](https://docs.runanywhere.ai/electron/embeddings.md): Turn text into vectors, and reorder results against a query - [LoRA Adapters](https://docs.runanywhere.ai/electron/lora.md): Layer an adapter onto the loaded base model - [Image Generation](https://docs.runanywhere.ai/electron/images.md): Generate images on-device - [Diarization](https://docs.runanywhere.ai/electron/diarization.md): Work out who spoke when - [Segmentation](https://docs.runanywhere.ai/electron/segmentation.md): Find and label regions in an image - [Configuration](https://docs.runanywhere.ai/electron/configuration.md): Models, storage, logging, and identity - [Error Handling](https://docs.runanywhere.ai/electron/error-handling.md): SDKException, codes, and recovery - [Best Practices](https://docs.runanywhere.ai/electron/best-practices.md): Getting good behaviour out of a desktop integration - [Expo Integration Guide](https://docs.runanywhere.ai/vibe-coding/expo-integration.md): Everything an AI coding agent needs to add on-device AI to an Expo app