
Video Gen Clientの機能
Video Gen Clientは、複数の動画生成プロバイダーに対応する非同期Pythonクライアントを1つ提供します。対象は、ByteDanceのSeedance、KuaishouのKling、MiniMax/Hailuo、AlibabaのWanです。プロバイダーごとに個別の連携を実装する代わりに、統一されたコマンドラインインターフェースまたはWebアプリケーションを通じて、利用可能なモデルの確認、生成タスクの送信、ステータス確認、結果のダウンロードを行えます。
このプロジェクトは、プロバイダーAPIを利用するための連携コードとして設計されています。APIやモデルIDはプロバイダーごとに独立して変更される可能性があるため、プロバイダーアダプターは時間の経過とともに更新が必要になる場合があります。
対応プロバイダーとモデル
クライアントには現在、次のプロバイダーファミリーとAPIモデルIDが一覧表示されます。
- Seedance: バージョン2.5では
doubao-seedance-2.5、バージョン2.0ではdoubao-seedance-2-0-260128を使用します。2.0 Miniおよび2.0 Fastティアでは、それぞれdoubao-seedance-2-0-mini-260615とdoubao-seedance-2-0-fast-260128を使用します。 - Kling: Kling 3.0および3.0 Omniでは、それぞれ
kling-v3とkling-v3-omniを使用します。その他の一覧モデルには、kling-v2-6、kling-v2-5-turbo、kling-v2-1-masterがあります。 - MiniMax/Hailuo: H3では
MiniMax-H3、バージョン2.3ではMiniMax-Hailuo-2.3とMiniMax-Hailuo-2.3-Fastを使用します。 - Wan: Wan 3.0では
wan3.0を使用します。Wan 2.7、2.6、2.5には、テキストから動画、画像から動画、参照画像から動画、プレビュー用の専用モデルIDが用意されています。
クライアントのインストールと設定
- リポジトリをクローンします:
git clone https://github.com/letorig/video-generator-client cd video-generator-client - 仮想環境を作成します:
python -m venv .venv - 環境を有効化します。Windowsでは次を実行します:
macOSまたはLinuxでは次を実行します:.venv\Scripts\activatesource .venv/bin/activate - Webサポート付きでパッケージをインストールします:
pip install -e ".[web]" - プロバイダーの認証情報を追加します:
.env.exampleを.envにコピーし、利用するプロバイダーの認証情報を追加します。READMEでは特定の認証情報セットを指定していないため、ワークフローに必要なサービスだけを設定してください。
CLIを使用する場合、生成された出力はoutputフォルダーに保存されます。
コマンドラインインターフェースを使用する
インストール後、video-genコマンドで、プロバイダーの確認、モデルの選択、生成タスクの開始、結果の確認という主要なワークフローを実行できます。
プロバイダーとモデルを確認する
まず、利用可能なコマンドとプロバイダーを表示します:
video-gen --help
video-gen providersプロバイダーのモデルを確認するには、modelsコマンドにプロバイダー名を渡します:
video-gen models wan動画を生成する
プロンプト、プロバイダー、モデル、長さを指定して、テキストから動画へのリクエストを送信します:
video-gen generate wan --prompt "A snowy forest at dawn" --model 2.1 --duration 5このコマンドは選択したプロバイダーを通じてタスクを送信し、生成された出力をoutputフォルダーに保存します。プロバイダーによって利用可能なモデルは変わる可能性があるため、独自のコマンドを作成する際は、プロジェクトが公開しているプロバイダーとモデルの値を使用してください。
タスクのステータスを確認する
非同期の生成ワークフローでは、プロバイダーとタスクIDを指定してタスクを問い合わせます:
video-gen status wan TASK_IDTASK_IDは、生成ワークフローから返された識別子に置き換えてください。
Webインターフェースを実行する
このプロジェクトには、Pythonパッケージに直接組み込まれたWebインターフェースがあります。npm、Node.js、個別のフロントエンドビルド手順は不要です。FastAPIがHTMLインターフェースを提供し、プロバイダーの確認、動画生成、タスクのポーリング、MP4ダウンロード用のJSONエンドポイントを公開します。
デフォルトのホストとポートでサーバーを起動します:
video-gen serveホストとポートを明示的に指定することもできます:
video-gen serve --host 127.0.0.1 --port 8000リロードを有効にしてサーバーを起動するには、次を使用します:
video-gen serve --host 0.0.0.0 --port 9000 --reloadWeb UIの機能
このインターフェースは、プロバイダーとモデルの選択、テキストから動画および画像から動画への入力、ネガティブプロンプト、長さ、アスペクト比、解像度の各設定に対応しています。また、タスクステータスのライブポーリング、動画プレビュー、MP4ダウンロード、現在のサーバーセッション中のインメモリタスク履歴も利用できます。
実用的なワークフローのヒント
- 生成前に確認する: プロバイダーやモデルを選ぶ前に、
video-gen providersとvideo-gen models PROVIDERを実行します。 - 認証情報の範囲を絞る: 現在のワークフローに必要なプロバイダーの認証情報だけを
.envファイルに追加します。 - 非同期タスクを追跡する:
statusコマンドとWebインターフェースのライブポーリングで生成状況を監視できます。 - ワークフローに合ったインターフェースを選ぶ: CLIはスクリプトやターミナルベースのジョブに便利で、Web UIはインタラクティブな操作とプレビューを提供します。
- 連携の保守を前提にする: プロバイダーAPIとモデルIDはこのSDKとは独立しており、変更される可能性があります。プロバイダーがサービスを更新した場合は、アダプターとモデルカタログを確認してください。
プロジェクト構成
リポジトリでは、クライアント、コマンドラインインターフェース、Webサーバー、モデルカタログ、プロバイダーアダプター、静的Webアセット、サンプル、テスト、ユーティリティコードが分離されています:
src/video_gen/
├── client.py
├── cli.py
├── web.py
├── catalog.py
├── static/index.html
├── providers/
└── utils/設定は .env.example で管理され、パッケージングとインストールの設定は pyproject.toml で定義されています。リポジトリには、examples/、tests/、およびオプションの mcp_server/ ディレクトリも含まれています。
まとめ
Video Gen Client は、Python 開発者が複数の動画生成プロバイダーを統一的に扱うための手段を提供します。仮想環境にインストールし、必要な認証情報を設定して、対応モデルを確認したうえで、CLI または付属の FastAPI Web UI からタスクを送信できます。本番環境で使用する場合は、モデル ID や API の動作がクライアントとは独立して変更される可能性があるため、プロバイダーの変更を監視してください。
