VModal for Android
Give your Android app a multimodal memory.
Upload video. Find moments by meaning, speech, text, or imagery.Build the experience in Kotlin, Compose, Views, coroutines, and the Android tools you already know.
Turn every video library into an experience Android users can explore.
Build the feature people remember
VModal brings multimodal video search and mobile-friendly uploads to Kotlin with a small, typed API. Your app owns the screens and lifecycle; the SDK handles the gateway, request models, response parsing, signed upload streams, progress, and cancellation.
| Your Android experience | VModal gives you |
|---|
| “Find the red car entering the parking lot” | Semantic video and image search |
| Search words spoken or shown on screen | ASR and OCR search sources |
| Upload from the system photo picker | Streaming content:// URI support |
| A cancel action that really cancels | Cold upload Flow plus callback UploadHandle compatibility |
| Compose, Views, or your own design system | A UI-free Kotlin client |
| Existing authentication and DI | App-owned runtime credentials—no login UI imposed |
| Work that survives beyond one screen | CoroutineWorker plus cancellation-aware upload Flow |
Start with the Android integration cookbook
for the capability map, one coupled upload → index → search recipe, Compose and
classic lifecycle patterns, content://, WorkManager, typed failures, and
account-switch cleanup. Demo UI remains application-owned: the SDK publishes no
navigation, screens, themes, accessibility policy, or design system.
[!TIP]
Building a mobile video experience? Get a free beta API key and join the VModal Discord.
SDK docs: v-modal.github.io/vmodal_sdk_android/
We would love to help you ship it.
AI Coding Prompt to start
Set up and validate the Android application in
`uinterface/sdk_android/examples/03_fullapp/` as a complete Android example for
the local VModal Android SDK.
Before editing, inspect the existing SDK, full-app example, starter snippets,
scripts, tests, and documentation. Reuse the current implementation and improve
it in place; do not replace working compone