v-modal/vmodal_sdk_swift_iphoneduo

V-Modal Visual Search SDK optimized for IOS Swift and Iphone DUO

Appleプラットフォーム用 VModal SDK (Swift)

何であるか – iOSおよびmacOSアプリがVModalクラウドサービスと通信できるオープンソースのSwiftパッケージ。このサービスはAI駆動のマルチモーダル動画検索(意味的検索、音声認識、OCR、画像ベース)およびアップロード/インデックス機能を提供します。SDKは認証、リクエスト/レスポンスモデル、ストリーミングアップロード、進捗報告、キャンセル、型安全な結果を処理し、UIは完全に開発者のアプリ内に保たれます。

主な機能

  • 意味的動画・画像検索 – 自然言語による記述、発話された言葉、画面内のテキスト、視覚的オブジェクトで瞬間を検索。
  • ASRおよびOCRインデックス – バックエンドがアップロードされた動画から音声とテキストを抽出し、検索可能にします。
  • ストリーミングアップロード – 全ファイルをメモリに読み込まずにURLから大容量の動画ファイルを直接アップロード可能。進捗はAsyncStreamで公開され、キャンセルも可能です。
  • スコープ付き組織 – プロジェクト、コレクション、ストリームは単純な文字列(projectIDcollectionNamestreamName)で識別されます。すべての操作は特定のコレクション/ストリームにスコープされます。
  • 実行時APIキー管理 – 実行時にBearerトークンを提供し、ローテーションやクリアが可能。アプリの再ビルドは不要。SDKはログインUIを一切表示しません。
  • SwiftネイティブAPI – 完全に型安全で、async/awaitに対応。Swift 6.0およびXcode 26.6+に対応。iOS 16+およびmacOS 13+をターゲット。

一般的な使用フロー

  1. パッケージの追加 – XcodeでURL https://github.com/v-modal/vmodal_sdk_swift_iphoneduo を使って追加。
  2. プロジェクトの設定 – APIキーで設定:
    let keys = try MutableAPIKeyProvider("runtime-api-key")
    let project = try VModal.configure(projectID: "my_app", apiKeyProvider: keys)
    let scope = try project.scope(collectionName: "user_42", streamName: "uploads")
    
  3. 動画のアップロード:
    let source = try UploadSource(fileURL: videoURL)
    let task = scope.upload(source)
    for await p in task.progress { print("\(p.percent)%") }
    let result = try await task.result
    
  4. 自然言語またはメタデータで検索:
    let results = try await scope.search(
        "cyclist in red jacket crossing the bridge",
        options: ScopedSearchOptions(searchSources: ["image"], limit: 20)
    )
    
  5. キャンセルの処理task.cancel()を呼び出すか、ビューが非表示になったときに非同期検索タスクをキャンセルします。

例とツール

  • StarterIOS – 設定、コレクションの発見、アップロード、インデックス、検索を示す最小限のアプリ。
  • Framebase例 – ローカル動画アーカイブを閲覧し、準備し、検索結果を再生する方法を示す。
  • SDKSimulationツール – デバッグ用に各統合ステージをシミュレート。
  • ドキュメント – DocCで生成された完全なAPIリファレンスと導入ガイド(Sources/VModalSDK/VModalSDK.docc)。

対応プラットフォーム

  • iOS (SwiftUIまたはUIKit) – ✅
  • macOS – ✅
  • watchOS、tvOS、visionOS – ❌(このリリースでは非対応)
  • その他のプラットフォーム – ❌(それぞれの環境用に対応するVModal SDKを使用)

前提条件

開発ワークフロー

git clone https://github.com/v-modal/vmodal_sdk_swift_iphoneduo.git
cd vmodal_sdk_swift_iphoneduo
bash install.sh check          # ツールチェーンと依存関係の確認
bash build.sh analyze          # 静的解析
bash test.sh test              # 単体テスト(オフライン)
# ライブ統合テスト(認証情報が必要)
bash test.sh live

リポジトリにはシミュレータの一覧表示、デバイスの選択、例アプリの起動用のヘルパー スクリプトも提供されています。

ライセンス – MIT。


結論 – AppleアプリにAI駆動の動画検索または検索可能な動画アップロード機能を追加したい場合、VModalのSwift SDKはVModalクラウドサービスに対する小型で型安全なラッパーを提供します。ベクターインデックス、音声認識、画像認識といった重い処理はバックエンドで処理され、開発者は純粋なSwift/SwiftUIで作業を続けられます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト