概要
個人的には ComfyUI を利用することが多いのですが、シンプルな操作で画像生成ができる Fooocus についても試してみました。
Fooocus とは
Fooocus は、オープンソースの画像生成用フロントエンド/UIツールです。
必要最低限の操作で画像生成できるよう設計されていて、画像生成をこれから始めて試してみる方でも使いやすいと思います。
公式サイト
https://github.com/lllyasviel/Fooocus
現在は、限定的な長期サポート(LTS)フェーズに移行しており、大きな新機能拡張よりもバグ修正中心となっています。
画像生成の際のモデルには Stable Diffusion XL をベースにしたモデルが利用できます。
Windows 環境へのインストール
公式の GitHub には手動でのインストール方法が記載されていますが、ここでは Stability Matrix を用いてインストールしてみます。
日本語環境だと Fooocus のパッケージのインストール時にエラーになることがあるほか、NVIDIA GeForce RTX 5060Ti 環境だと画像生成時にエラーになるので、それぞれの回避も行います。
(1)
Stability Matrix をダウンロードして、Portable インストール用にフォルダを用意し配置します。
ここでは、C:\StabilityMatrix フォルダを作成して、そこに StabilityMatrix.exe を配置します。
すでに Stability Matrix の実行環境がある場合は、それを利用できます。
▼ 参考
以前 Stability Matrix で Stable Diffusion WebUI (AUTOMATIC1111 版) や ComfyUI をインストールした際の記事
(2)
[スタート] 右クリック – [ターミナル] をクリックして、Windows ターミナルを起動します。
(コマンドプロンプトか PowerShell を直接起動する形でも OK です。)
(3)
ターミナルで以下を実行します。
以下では、Fooocus のインストール時に日本語環境だと文字コードの違いによってエラーとなるので、UTF-8 を強制して Stability Matrix を起動しています。
(エラーは末尾に記載します。)
PowerShell の場合 (基本的にはこちらでよいはず)
cd C:\StabilityMatrix
$env:PYTHONUTF8 = "1"
.\StabilityMatrix.exe

コマンドプロンプトの場合
cd C:\StabilityMatrix
set PYTHONUTF8=1
StabilityMatrix.exe
(4)
Stability Matrix の GUI が起動します。
初めて Stability Matrix を利用する場合は、初回のセットアップウィザード中に Fooocus を選択すればインストールできます。
既存環境を利用する場合は、Stability Matrix を起動後、左側 [パッケージ] – 右下 [+パッケージの追加] から Fooocus で検索し、表示された [Fooocus] をクリック – [インストール] からインストール可能です。
以下は、初回起動のウィザードではインストールせずに、後からパッケージの追加をした際のスクリーンショットです。









一度 Fooocus がインストールできてしまえば、次回以降は、PYTHONUTF8 の設定は不要です。
(StabilityMatrix.exe をダブルクリックするだけで OK)
(5)
NVIDIA GeForce RTX 5060 Ti を利用した環境の場合は、Fooocus と一緒にインストールされる PyTorch が sm_120 に対応していないため、画像生成時にエラーになるので以下も実行します。
(エラーは末尾に記載します。)
Fooocus を Launch する前、停止した状態で実行します。
cd C:\StabilityMatrix\Data\Packages\Fooocus
.\venv\Scripts\activate
pip3 uninstall torch torchvision
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu130

Fooocus の実行と画像生成
(1)
インストールが完了したら、Fooocus を Launch します。
初回起動時は必要なモデルなどが自動的にダウンロードされます。
起動出来たら、ブラウザで http://127.0.0.1:7865/ にアクセスします。(自動で開かれると思います。)



(2)
デフォルトでは、非常にシンプルなインターフェースとなっています。
左下のプロンプト入力欄に入力し、[Generate] ボタンをクリックすると画像が生成されます。

(3)
[Input Image] のチェックを入れると画像を入力として、変化を加えた画像の生成などできるメニューが表示されます。







例えば、Preset を anime に変更して画像を生成すると以下のようになりました。

プリセットに anime にするとモデルが自動的にダウンロードされます。

メニューベースで、生成される画像を調整しながら、手軽に画像生成を試すには便利だと思います。
参考 (エラーと対処)
(1) Fooocus インストール時のエラー
PYTHONUTF8=1 を設定せずに Fooocus のインストールを試みると以下のエラーが発生しインストールが失敗します。
これは groundingdino-py 0.4.0 のビルド中のエラーで、日本語環境の Windows の文字コード (cp932) によって UnicodeDecodeError が発生します。
回避策として Python を UTF-8 モードで強制するために PYTHONUTF8=1 を一時的に有効にしてから Stability Matrix を起動しています。一度 groundingdino-py 0.4.0 のビルドができてしまえば、そのあとは UTF-8 の強制は必須ではなくなります。



エラーメッセージ抜粋
Using Python 3.10.18 environment at: venv
× Failed to build `groundingdino-py==0.4.0`
├─▶ The build backend returned an error
╰─▶ Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit
code: 1)
[stderr]
Traceback (most recent call last):
File "<string>", line 14, in <module>
File
"C:\StabilityMatrix\Data\Assets\uv\cache\builds-v0\.tmp3l9mbb\lib\site-packages\setuptools\build_meta.py",
line 331, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=[])
File
"C:\StabilityMatrix\Data\Assets\uv\cache\builds-v0\.tmp3l9mbb\lib\site-packages\setuptools\build_meta.py",
line 301, in _get_build_requires
self.run_setup()
File
"C:\StabilityMatrix\Data\Assets\uv\cache\builds-v0\.tmp3l9mbb\lib\site-packages\setuptools\build_meta.py",
line 512, in run_setup
super().run_setup(setup_script=setup_script)
File
"C:\StabilityMatrix\Data\Assets\uv\cache\builds-v0\.tmp3l9mbb\lib\site-packages\setuptools\build_meta.py",
line 317, in run_setup
exec(code, locals())
File "<string>", line 41, in <module>
UnicodeDecodeError: 'cp932' codec can't decode byte 0x97 in position
2879: illegal multibyte sequence
hint: This usually indicates a problem with the package or the build
environment.
Could not install Fooocus (StabilityMatrix.Core.Exceptions.ProcessException: pip install failed with code 1: 'Using Python 3.10.18 environment at: venv\n \u00d7 Failed to build `groundingdino-py==0.4.0`\n \u251c\u2500\u25b6 The build backend returned an error\n \u2570\u2500\u25b6 Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit\n code: 1)\n\n [stderr]\n Traceback (most recent call last):\n File "<string>", line 14, in <module>\n File\n "C:\StabilityMatrix\Data\Assets\uv\cache\builds-v0\.tmp3l9mbb\lib\site-packages\setuptools\build_meta.py",\n line 331, in get_requires_for_build_wheel\n return self._get_build_requires(config_settings, requirements=[])\n File\n "C:\StabilityMatrix\Data\Assets\uv\cache\builds-v0\.tmp3l9mbb\lib\site-packages\setuptools\build_meta.py",\n line 301, in _get_build_requires\n self.run_setup()\n File\n "C:\StabilityMatrix\Data\Assets\uv\cache\builds-v0\.tmp3l9mbb\lib\site-packages\setuptools\build_meta.py",\n line 512, in run_setup\n super().run_setup(setup_script=setup_script)\n File\n "C:\StabilityMatrix\Data\Assets\uv\cache\builds-v0\.tmp3l9mbb\lib\site-packages\setuptools\build_meta.py",\n line 317, in run_setup\n exec(code, locals())\n File "<string>", line 41, in <module>\n UnicodeDecodeError: 'cp932' codec can't decode byte 0x97 in position\n 2879: illegal multibyte sequence\n\n hint: This usually indicates a problem with the package or the build\n environment.\n'
at StabilityMatrix.Core.Python.UvVenvRunner.PipInstall(ProcessArgs args, Action`1 outputDataReceived)
at StabilityMatrix.Core.Models.Packages.BaseGitPackage.StandardPipInstallProcessAsync(IPyVenvRunner venvRunner, InstallPackageOptions options, InstalledPackage installedPackage, PipInstallConfig config, Action`1 onConsoleOutput, IProgress`1 progress, CancellationToken cancellationToken)
at StabilityMatrix.Core.Models.Packages.Fooocus.InstallPackage(String installLocation, InstalledPackage installedPackage, InstallPackageOptions options, IProgress`1 progress, Action`1 onConsoleOutput, CancellationToken cancellationToken)
at StabilityMatrix.Core.Models.Packages.Fooocus.InstallPackage(String installLocation, InstalledPackage installedPackage, InstallPackageOptions options, IProgress`1 progress, Action`1 onConsoleOutput, CancellationToken cancellationToken)
at StabilityMatrix.Core.Models.PackageModification.InstallPackageStep.ExecuteAsync(IProgress`1 progress, CancellationToken cancellationToken)
at StabilityMatrix.Core.Models.PackageModification.PackageModificationRunner.ExecuteSteps(IEnumerable`1 steps))
Windows の環境変数で設定しても同様に回避できるので、GUIベースでの操作がよい方は [スタート] – “環境変数” で検索 – [環境変数を編集] – 上側ユーザの環境変数 – [新規] から [変数名] : PYTHONUTF8 , [変数値] : 1 で作成する形でも OK です。
Fooocus がインストールできたら 環境変数の設定から PYTHONUTF8 は消してしまっても大丈夫です。
(2) NVIDIA GeForce RTX 5060 Ti で画像生成を試みた際のエラー
NVIDIA GeForce RTX 5060 Ti を利用した環境の場合、Fooocus と一緒にインストールされる PyTorch が RTX 5060 Ti の CUDA capability sm_120 対応していないため、画像生成時にエラーになります。
画像生成時のエラー

エラーメッセージ抜粋
[Fooocus] Preparing Fooocus text #1 ...
Traceback (most recent call last):
File "C:\StabilityMatrix\Data\Packages\Fooocus\modules\async_worker.py", line 1471, in worker
handler(task)
File "C:\StabilityMatrix\Data\Packages\Fooocus\venv\lib\site-packages\torch\utils\_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "C:\StabilityMatrix\Data\Packages\Fooocus\venv\lib\site-packages\torch\utils\_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "C:\StabilityMatrix\Data\Packages\Fooocus\modules\async_worker.py", line 1160, in handler
tasks, use_expansion, loras, current_progress = process_prompt(async_task, async_task.prompt, async_task.negative_prompt,
File "C:\StabilityMatrix\Data\Packages\Fooocus\modules\async_worker.py", line 738, in process_prompt
expansion = pipeline.final_expansion(t['task_prompt'], t['task_seed'])
File "C:\StabilityMatrix\Data\Packages\Fooocus\venv\lib\site-packages\torch\utils\_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "C:\StabilityMatrix\Data\Packages\Fooocus\venv\lib\site-packages\torch\utils\_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "C:\StabilityMatrix\Data\Packages\Fooocus\extras\expansion.py", line 120, in __call__
features = self.model.generate(**tokenized_kwargs,
File "C:\StabilityMatrix\Data\Packages\Fooocus\venv\lib\site-packages\torch\utils\_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "C:\StabilityMatrix\Data\Packages\Fooocus\venv\lib\site-packages\transformers\generation\utils.py", line 1664, in generate
self._prepare_special_tokens(generation_config, kwargs_has_attention_mask, device=device)
File "C:\StabilityMatrix\Data\Packages\Fooocus\venv\lib\site-packages\transformers\generation\utils.py", line 1513, in _prepare_special_tokens
if eos_token_id is not None and torch.isin(elements=eos_token_id, test_elements=pad_token_id).any():
RuntimeError: CUDA error: no kernel image is available for execution on the device
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.
Total time: 0.29 seconds
よく見ると Fooocus 起動時にもエラーが発生していることがわかります。

エラーメッセージ抜粋
C:\StabilityMatrix\Data\Packages\Fooocus\venv\lib\site-packages\torch\cuda\__init__.py:215: UserWarning:
NVIDIA GeForce RTX 5060 Ti with CUDA capability sm_120 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_50 sm_60 sm_61 sm_70 sm_75 sm_80 sm_86 sm_90.
If you want to use the NVIDIA GeForce RTX 5060 Ti GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/
回避方法はメッセージにあるように、sm_120 に対応した PyTorch をインストールすることです。
インストール用のコマンドは PyTorch のサイトで確認できます。

参考となれば、幸いです。
▼ 関連

