InvokeAIは、Stable Diffusion系モデルを使った画像生成のためのローカル実行型エンジンです。React製WebUIとPythonバックエンドを組み合わせ、txt2img・inpainting・ワークフロー編集などをブラウザから操作できます。SD1.5からFlux.2、Qwen Imageまで幅広いモデル群をサポートし、商用製品の基盤としても使われています。
バックエンドはPython(uv管理、pyproject.toml/uv.lock)で構成され、docker/Dockerfileを見るとUbuntu 24.04上にPython 3.12とPyTorchを`uv sync --extra ${GPU_DRIVER}`でインストールしています。フロントエンドはinvokeai/frontend/web以下のpnpmプロジェクトで、Viteでビルドされた静的ファイルがバックエンドに同梱されます。起動すると`invokeai-web`コマンドがローカルサーバーを立ち上げ、REST APIとWebUIを提供する構成です。画像生成処理はノードベースのInvocationアーキテクチャ(docs/development/Architecture/invocations.mdx)で組み立てられ、UI上のワークフローエディタとノードグラフが同じ実行エンジンにつながっています。Docker Compose(docker-compose.yml)ではcuda・cpu・rocmの3プロファイルが用意され、GPUドライバーに応じて`docker compose --profile`を切り替えます。
- STEP 01
公式ランチャー(invoke-ai/launcher)をダウンロードするか、Docker Composeで`docker compose up`を実行すると、まずGPUドライバー(cuda/cpu/rocm)の選択とモデルのダウンロードが求められます。
- STEP 02
初回起動時にUbuntu 24.04ベースイメージのビルドが走り、pnpmでフロントエンドをVite buildする工程が実行されるため、数分から数十分の待ち時間が発生します。
- STEP 03
起動が終わるとブラウザで`localhost:9090`にアクセスし、Unified Canvasやtxt2img画面でプロンプトを入力して生成を試せます。
- STEP 04
モデルマネージャー画面からSD1.5・SDXL・Flux系など好みのモデルを選び、初回はHugging Faceからの重みダウンロードが発生します(`.env`のHF_HOMEでキャッシュ先を指定可能)。
- STEP 05
ノードエディタに切り替えると、Workflows機能で生成パイプラインをブロック単位で組み替えられる様子を確認できます。
- STEP 06
マルチユーザーモードを有効にした場合は、管理者アカウント作成画面(docs記載のadmin-setup.png相当)が最初に表示されます。
ローカルWebUI上でtxt2img・img2img・inpainting・outpaintingを実行でき、生成画像はギャラリー・ボード機能でメタデータ付きで管理されます。ノードベースのワークフローを保存・共有できるほか、生成に使ったプロンプトや設定をメタデータから復元できます。
GPU前提の設計で、CUDA/ROCm環境がない場合はcpuプロファイルでも動きますが生成速度は大幅に落ちると想定されます(README・dockerfile記載の構成から推測)。
モデルの重みは同梱されておらず、初回利用時に別途ダウンロードが必要です。ライセンスファイル(LICENSE-SD1+SD2.txt等)が複数存在する点からも、モデルごとにライセンス条件が異なることがわかります。
フロントエンドのビルドにNode.js 22系とpnpm 10系が必要で、`.nvmrc`やcorepack指定からバージョン依存がやや厳格に見えます。
本レビューはファイルツリーとREADME・代表ファイルの範囲での分析であり、実際の生成品質や推論速度はハードウェア環境に強く依存するため、実機での検証が別途必要です。
Stable Diffusion系モデルをGUIで本格的に使いたい人、特にキャンバス編集やノードワークフローまで求める人に向いています。構成はDockerfile・docker-compose・pyproject.toml・pnpm設定など実運用を意識した作りで、CI(python-tests, frontend-tests等の各種workflow)も整備されているため、README記載の機能一覧は裏付けがあると判断できます。ただしモデルダウンロードとGPU環境構築は利用者側の作業として残るため、「インストールすればすぐ高速に動く」という前提では見ない方が安全です。}Wait I forgot closing quote properly - need to fix final string.Correcting: