Skip to main content
TwelveLabs は、動画コンテンツを即座に検索可能かつインテリジェントに分析可能にする、最先端の動画理解技術を提供します。SambaNova の高性能な AI モデルと組み合わせることで、教育用動画をインタラクティブなゲームや学習体験へと変換できます。

前提条件

  • SambaCloud アカウントと API キー。
  • TwelveLabs アカウントと API キー。
  • 動画をアップロード済みの TwelveLabs インデックスが 1 つ以上あること (インデックス ID を控えておいてください)。
  • Python 3.9 以降のインストール済み環境。
  • Node.js 18 以降 (フロントエンドに必要)。
  • ローカルマシンにクローンした Video2Game リポジトリ。

セットアップ

この連携では、動画理解に TwelveLabs を、ゲームコードの生成に SambaNova を使用し、教育用動画をインタラクティブな学習体験へと変換できます。 Video2Game プロジェクトは、同時に実行する必要がある 2 つのサービスで構成されています。
  • バックエンド (Flask、:8000) — TwelveLabs による分析と SambaNova による生成を処理します。
  • フロントエンド (Next.js、:3000) — 操作対象となる UI です。
1

環境変数の設定

backend/.env を作成します。
モデル ID は、SambaCloud モデルのページに掲載されている任意のものを指定できます (例: DeepSeek-V3.1、Meta-Llama-3.3-70B-Instruct、Llama-4-Maverick-17B-128E-Instruct)。モデルの提供終了ページに記載された提供終了済みの ID は避けてください。
TWELVELABS_INDEX_ID は必須です。未設定の場合、バックエンドは RuntimeError: Missing required configuration をスローします。
SAMBANOVA_MODEL は、Video2Game が backend/config.py:18 に提供終了済みのモデルをハードコードしているアップストリームのバグに対する回避策です。アップストリームでの修正 (Hrishikesh332/Video2Game#1) が反映されるまでは、環境変数から読み取るように config.py にパッチを適用してください。
2

バックエンドの依存関係のインストール

必要な Python パッケージをインストールします。
3

バックエンドの起動

backend/ ディレクトリで、以下を実行します。
バックエンドは http://127.0.0.1:8000 で稼働します。
4

フロントエンドの設定

新しいターミナルを開き、リポジトリのルートで www.video2game.vercel.app/.env.local を作成します。
5

フロントエンドのインストールと起動

アプリは http://localhost:3000 で開きます。
6

動画からのゲーム生成

  1. http://localhost:3000 を開きます。
  2. TwelveLabs タブをクリックします。
  3. TwelveLabs の API キーを入力し、Connect をクリックします。
  4. Video Index を選択します (動画がアップロード済みのインデックスのみ表示されます)。
  5. Video を選択します。
  6. Generate from TwelveLabs をクリックすると、SambaNova を利用したインタラクティブなゲームが生成されます。
生成が完了すると、右側のパネルに動画コンテンツから作成されたインタラクティブなゲームが表示されます。App (ライブプレビュー) タブと Code (生成された HTML) タブを切り替えられます。
右側のパネルに生成されたインタラクティブなゲームが表示された Video2Game アプリ

トラブルシューティング

アップストリームの Video2Game は、backend/config.py:18 に提供終了済みの SambaCloud モデルをハードコードしています。該当行を次のようにパッチしてください。
その上で、backend/.env に SAMBANOVA_MODEL=DeepSeek-V3.1 を追加します。この問題はアップストリームの Hrishikesh332/Video2Game#1 で追跡されています。
backend/.env には 6 つの .env キーをすべて設定する必要があります。特に TWELVELABS_INDEX_ID にご注意ください。
お使いの TwelveLabs API キーに、動画がアップロード済みのインデックスが 1 つ以上あることを確認してください。以下で検証できます。
バックエンドは、生成したゲームを video_id ごとにキャッシュします。以下のリクエストで再生成を実行できます。

参考情報