What is it?
What it is
A Flutter SDK for VModal that enables multimodal video search and uploads with features like semantic search, ASR, OCR, and real-time progress tracking.
Why it exists
To provide a seamless, Flutter-native way for apps to integrate advanced video search and upload capabilities, leveraging multimodal AI to enhance user experience.
Who should use it
Developers building Flutter apps requiring multimodal video search (text, speech, image) and upload features with progress/cancellation support.
Who should avoid it
Non-developers, Flutter non-users, or projects not needing video search/upload capabilities.
How it works
A quick walkthrough in plain English
How vmodal_sdk_flutter works
Step 1 of 3
You interact with it
Open vmodal_sdk_flutter, send a request, or connect it to your stack.
Features
Advantages
- Memory efficient: Uses streams for uploads instead of loading entire files into memory
- Native performance: 100% Flutter/Dart implementation
- Developer flexibility: App owns the UI and authentication flow; SDK handles the gateway
- Robust lifecycle management: Supports deterministic resource closing and credential rotation
- Type safety: Preserves raw JSON for future-proofing while providing typed responses
Disadvantages
- Limited platform support: No support for Flutter Web; macOS, Windows, and Linux are not targeted
- Experimental features: Multipart upload is currently experimental and may fail
- Dependency requirements: Requires specific minimum versions of Flutter (3.44+) and Dart (3.12+)
Installation
native
Add the SDK to your pubspec.yaml via git:
```yaml
dependencies:
vmodal_sdk_flutter:
git:
url: https://github.com/v-modal/vmodal_sdk_flutter.git
ref: main
```
Then run `flutter pub get` to install the package.FAQ
How do I add the VModal SDK to my Flutter project?
Add the git dependency in pubspec.yaml under dependencies: vmodal_sdk_flutter: git: url: https://github.com/v-modal/vmodal_sdk_flutter.git ref: main then run flutter pub get.
How do I initialize a VmodalClient with my API key?
Create a MutableApiKeyProvider with your runtime API key and pass it to SdkConfig: final keys = MutableApiKeyProvider(runtimeApiKey); final vmodal = VmodalClient(config: SdkConfig(apiKeyProvider: keys));
How can I perform a semantic video search using natural language?
First list groups to get a vid_file group, retrieve its latestLancedbVersion, then call vmodal.searches.searchVideo with a SearchRequest containing queryText, groupName, searchSources (e.g., ['image']), versionLancedb, and limit. The response returns moments matching the query.
How do I upload a video with progress tracking and cancellation?
Use vmodal.collections.videoUpload(UploadSource.fromFile(File(videoPath)), collectionName: '...', subCollectionName: '...'); listen to task.progress for percent updates, and call task.cancel() to cancel. Await task.result for the upload result.
How do I rotate or switch API keys without recreating the client?
Call keys.rotate(newApiKey) on the MutableApiKeyProvider to update the credential. For a full identity switch (logout), cancel active work, call keys.clear(), await vmodal.close(), then create a new VmodalClient with the new key.
Which platforms are supported by the VModal Flutter SDK?
Android and iOS are fully supported with Flutter‑native Dart APIs. Flutter Web is not supported in the 1.0 release, and macOS, Windows, Linux are not targeted. Minimum toolchain is Flutter 3.44.0 and Dart 3.12.0.
Featured in Videos
YouTube tutorials and walkthroughs for vmodal_sdk_flutter
Alternatives
Similar projects ranked by category, topics, and text overlap.