vmodal_sdk_flutter 是 V-Modal AI 提供的 Flutter/Dart SDK,用于在 Android 和 iOS 应用中集成多模态视频搜索与视频上传能力。它支持按自然语言语义、画面内容、语音转写 ASR、屏幕文字 OCR 等方式检索视频片段,并提供集合管理、索引管理、上传进度、取消任务、API Key 运行时注入等能力。项目采用 MIT 协议,适合希望在移动端应用中快速加入“可搜索视频库”功能的开发团队。
适用领域
Flutter 移动应用开发 / 多模态 AI / 视频搜索 / 语义检索 / 视频内容理解 / ASR 语音识别检索 / OCR 文字识别检索 / 移动端 SDK / 媒体资产管理 / AI SaaS 集成
配置难度
中等。对于熟悉 Flutter 的开发者,基础接入、上传和搜索调用较直接;但要在生产环境做好账号体系、API Key 安全、集合/索引生命周期、错误处理、上传取消、权限隔离和数据合规,需要一定架构设计能力。
商业价值
较高。该 SDK 可以帮助移动应用快速加入 AI 视频搜索能力,把传统只能浏览和滚动的视频库升级为可通过自然语言、画面、语音和文字检索的智能内容体验。对于内容社区、教育课程、企业知识库、体育/旅游视频、媒体素材管理等产品,有助于提升内容发现效率、用户停留时间和差异化竞争力。但其商业价值高度依赖 V-Modal 后端服务稳定性、成本、隐私合规和索引质量。
01
技术亮点
- 提供较完整的 Flutter 原生 Dart API,适合直接集成到移动端应用。
- 支持多模态视频搜索,可按语义、图像、语音、OCR 等来源检索视频片段。
- 上传采用流式读取,并提供进度广播流,移动端体验友好。
- 支持任务取消,适合 Flutter 页面关闭、用户取消上传等真实生命周期场景。
- API Key 由应用运行时注入,SDK 不强制接管登录流程,便于接入现有账号系统。
- 资源划分清晰,包括 auth、searches、collections、indexes、admin、r2、images。
- 响应模型在稳定字段上保持类型化,同时保留 raw JSON,方便兼容服务端新增字段。
- MIT 协议,对商业使用较友好。
- README 提供了搜索、上传、凭证管理、示例 App、SDK 文档等入口。
02
目标用户
- Flutter 应用开发者
- 需要在 App 中集成视频搜索能力的移动端团队
- 短视频、教育、旅游、运动、内容社区类应用开发者
- 有大量视频素材需要语义检索的产品团队
- 希望基于 V-Modal 后端能力构建 AI 视频体验的创业团队
- 需要上传、索引、搜索视频内容的企业内部工具开发者
03
配置要求
- 需要可用的 V-Modal API Key,SDK 不负责登录界面,也不会持久化 API Key。
- API Key 应由宿主 App 在运行时注入,推荐使用安全存储或服务端下发机制管理。
- 视频搜索前必须存在当前 API Key 可访问的 vid_file 类型 collection/group。
- 搜索请求需要使用服务端返回的 LanceDB version,例如通过 latestLancedbVersion 获取。
- Android 和 iOS 为主要支持平台;Flutter Web 不支持,macOS、Windows、Linux 暂非目标平台。
- 上传文件必须是 App 可访问的本地 File,SDK 通过流式读取,避免一次性加载完整视频到内存。
- 生产环境默认使用 signed single upload;multipart upload 仍为实验功能,需要显式开启且依赖后端路由支持。
- 账号切换时不建议仅 rotate API Key,应取消任务、清理上传持久化状态、clear key、关闭旧 client 并创建新 client。
04
适用场景
- 在 App 中让用户用自然语言搜索视频片段,例如“红色夹克的骑行者”
- 搜索视频中说过的话,适合会议、课程、采访、播客视频等场景
- 搜索视频画面中出现的文字,例如字幕、招牌、PPT、屏幕内容
- 将用户从相册或相机录制的视频上传到 V-Modal 并建立可搜索索引
- 为视频素材库、内容管理系统、教育课程库添加 AI 检索功能
- 构建类似“搜索任意视频瞬间”的移动端体验
- 在账号切换或登录后动态注入不同 API Key,实现按用户隔离访问集合
- 展示视频上传进度,并支持用户主动取消上传或搜索任务
05
部署与配置
- 确认本地 Flutter 版本不低于 3.44.0,Dart 版本不低于 3.12.0。
- 在 Flutter 项目的 pubspec.yaml 中添加 Git 依赖:vmodal_sdk_flutter,url 指向 https://github.com/v-modal/vmodal_sdk_flutter.git,ref 使用 main。
- 执行 flutter pub get 安装依赖。
- 在代码中 import 'package:vmodal_sdk_flutter/vmodal_sdk_flutter.dart';。
- 从你的应用认证系统中获取 V-Modal API Key,并创建 MutableApiKeyProvider。
- 使用 VmodalClient(config: SdkConfig(apiKeyProvider: keys)) 创建客户端。
- 调用 vmodal.collections、vmodal.searches、vmodal.indexes 等资源接口完成上传、搜索、索引管理等功能。
- 应用退出、登出或不再使用时调用 await vmodal.close() 释放网络资源。
06
风险与注意事项
- 该 SDK 强依赖 V-Modal 后端服务和 API Key,不是一个可独立离线运行的视频搜索引擎。
- README 标注 Flutter 3.44+ 和 Dart 3.12+,版本要求非常新,可能高于当前稳定生态常见版本,接入前需要核实工具链可用性。
- GitHub stars 较高但 forks 仅 1,社区参与度和第三方验证可能有限。
- Flutter Web、桌面端不支持,若产品需要多端统一 SDK,需要额外方案。
- multipart upload 仍为实验特性,大文件上传的高级能力可能受后端开关限制。
- 搜索可用性依赖 collection、group、LanceDB version、索引状态等后端资源,接入时需要处理 404、无索引、无权限等情况。
- API Key 若由客户端直接持有,需要特别注意密钥泄露、权限范围和后端代理策略。
- 项目描述较偏 SDK 集成,具体后端价格、SLA、数据隐私、合规能力需要额外评估。
2026-07-23
第5名
新收录 · github_search
2026-07-22
第7名
新收录 · github_search
2026-07-21
第11名
新收录 · github_search
2026-07-20
第13名
新收录 · github_search