VModal for Flutter provides a Dart/Flutter SDK to perform multimodal video search and uploads, handling gateway communication, request models, upload streams, progress, and cancellation from a Flutter app.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (2 so far).
What it is
VModal for Flutter is a Dart/Flutter SDK that enables multimodal video search and mobile-friendly uploads. It handles the VModal gateway, request models, responses, upload streams, progress, and cancellation, while keeping the app interface in control of UI and credentials.
How it works
The SDK exposes modules for authentication-free runtime credential handling, searches, uploads, and resource management via a typed API. It supports per-operation cancellation tokens, streamed uploads (not loading entire videos into memory), and signed uploads with progress reporting. Features are organized into these namespaces: vmodal.auth, vmodal.searches, vmodal.collections, vmodal.indexes, vmodal.admin, vmodal.r2, vmodal.images. Gateway mode is the default communication path; unsafeDirect is reserved for trusted private networks.
Getting started
Add the package via GitHub URL and main ref:
dependencies:
vmodal_sdk_flutter:
git:
url: https://github.com/v-modal/vmodal_sdk_flutter.git
ref: main
Then run:
flutter pub get
Create a client from an in-memory API key provided by the app:
import 'package:vmodal_sdk_flutter/vmodal_sdk_flutter.dart';
final keys = MutableApiKeyProvider(runtimeApiKey);
final vmodal = VmodalClient(
config: SdkConfig(apiKeyProvider: keys),
);
The SDK does not own login UI or persist API keys.
Recent releases
- none
Traction
- Stars: 153
Behind the repo
- Repository: v-modal/vmodal_sdk_flutter
- Language: Dart
- License: MIT
- Created: 2026-07-16
- Last push: 2026-07-18
Caveats
- Platform support: Android and iOS supported; Flutter Web not supported; macOS/Windows/Linux not targeted in 1.0.
- Minimum toolchain: Flutter 3.44.0 and Dart 3.12.0.
- Licensing and open issues are as per the repository; issues currently: 4 open.
