前回、Mac StudioでComfyUIとKrea2を動かし、画像生成までたどり着きました。

ところが、ブラウザでは使えるのに、Comfy Desktopアプリが起動しない問題が残っていました。今回は、その後日談です。

▶ 前回の記事:Mac StudioでComfyUIとKrea2を動かすまで

■ 5分待っても起動しない

Desktop版に表示されたのは、こんなメッセージでした。

Timed out waiting for port 8000 after 300s

ComfyUIのサーバーが起動するのを5分待ったものの、接続できなかったという意味です。

さらに、アプリがすぐに閉じる状態にもなりました。ターミナルから直接起動すると、具体的なエラーが出ました。

No space left on device

ディスクの空き容量不足です。

■ 内蔵SSDの空きが109MB!

調べてみると、内蔵SSDの空き容量は、わずか109MB。ほぼ満杯でした。

実際に、起動時に必要なロックファイルなどを作れないというエラーが出ていました。

一方、外付けSSDのHanye2Tには約1.6TBの空きがあります。そこで、大きなファイルを調べて外付けへ移すことにしました。

  • ダウンロードフォルダ:約29GB
  • ホームフォルダ内のモデル:約21GB
  • ミュージックフォルダ:約74GB
  • アプリケーション全体:約46GB

まず、失敗したダウンロードの途中ファイル2本、合計約21GBを外付けへ移し、空きを確保しました。

■ 容量を使っていたLogic Proの音源

さらに大きかったのは、Logic Proのサウンドライブラリでした。

約73GBの「Logic Pro Library.bundle」を外付けへ移し、Logic Proの設定画面でも移動先が認識されていることを確認しました。

ただし、この段階では内蔵SSDの空きは大きく増えませんでした。

調査を続けると、別の場所にも約64GBのLogic用データが残っていました。こちらも外付けへコピーし、内容が一致することを確認しました。

元の場所から外付けを参照するように設定し、既存の曲を開いて音が鳴ることを確認してから、内蔵側の退避データを削除しました。

最終的に、内蔵SSDの空き容量は約92GBになりました。

なお、移動したのは音源データです。Logic Proアプリ本体は内蔵SSDに残しています。音源を使うときは外付けSSDの接続が必要です。

■ それでもタイムアウトは残った

容量不足は解消しましたが、Desktop版の300秒タイムアウトは、まだ発生しました。

ここは問題を分けて考える必要があります。

容量不足で必要なファイルを作れなかったことは、ログで確認できています。

しかし、サーバーの起動が5分以内に終わらなかった理由までは、分かりませんでした。

■ ターミナルから起動して確認

そこで、Desktop版と同じPython環境、ComfyUI本体、モデルの参照設定を使って、ターミナルから起動しました。

すると、起動完了の表示が出ました。

To see the GUI go to: http://127.0.0.1:8000

ブラウザで開き、保存していたKrea2のワークフローを実行すると、画像生成まで成功しました。

続いてManagerを有効にして起動。こちらも正常に起動しました。

その後、ターミナル側のComfyUIを停止してから、改めてComfy Desktopを起動しました。

今度はDesktop版も起動し、画像生成までできました!

■ なぜターミナルで動かしたら起動できた?

ここは、まだ断定できません。

ターミナル版とDesktop版は同じPython環境を使っています。一度読み込んだファイルがOSのキャッシュに残り、次の起動が速くなった可能性はあります。

ただし、これは推測です。ターミナルで何かの設定を修復したわけではなく、Managerが原因だったと確認できたわけでもありません。

現時点で確認できたのは、次のことです。

  • 内蔵SSDの容量不足が起動を妨げていた
  • 空きを確保した後、ターミナルから起動できた
  • Managerを有効にしても起動できた
  • その後、Desktop版でも起動と画像生成に成功した

Macの再起動後にも毎回正常に起動するかは、今後の確認事項です。

起動トラブルを追っていたら、内蔵SSDの大掃除になりました。AIモデルだけでなく、音源や失敗したダウンロードも、かなりの容量を使っていました。

ひとまず、Comfy DesktopからKrea2で画像を生成できる状態になりました。

Apple Silicon(Mac)環境でAI画像生成に挑戦し、試行錯誤を繰り返しながら到達した結論とノウハウをすべてまとめました!

 

同じようにMacで画像生成を試してエラーやリンク切れにハマっている方の参考になれば幸いです。

 

■ 1. 最終的にやりたかったこと・目的

 

・使用環境:Mac Studio(M5)+ mflux(Apple Silicon / MLX環境) ・データ保存:外付けSSD(/Volumes/Hanye2T/)へキャッシュを直接配置 ・理想のワークフロー:

 

  1. 数枚の画像やスタイル指定で、満足のいく「SFW(通常)美女」を描く

  2. 制限解除(NSFW)の仕組みを組み込み、無制限な表現を試みる

■ 2. 試行錯誤と失敗の記録(ハマったポイント)

 

当初はベースモデルに「制限解除LoRA」と「画風・質感LoRA」を複数重ねがけするアプローチを試みましたが、エラーの連続でした。

 

【失敗1】Civitai等でのLoRAダウンロード不可(404エラー) 利用規約やアクセス制限の変更により直リンクが無効化されており、狙ったLoRAファイルが取得できない現象が発生。

 

【失敗2】手動ダウンロード時のファイル破損 Hugging Faceなどでブラウザから直リンク保存した際、.safetensors の実体ではなくWebのHTMLページが保存されてしまい、ファイルが壊れるトラブル。

 

【失敗3】mfluxでのテンソル不一致(Shape Mismatch) 手動で入手した非公式LoRAの内部構造が mflux(MLX規格)や量子化モデル(q4等)と適合せず、読み込み時にエラーで停止。

 

【失敗4】情報探しの難航(Discord・Reddit) 年齢制限(18+)の設定漏れでDiscordサーバーに入れなかったり、海外コミュニティで直リンクを探すも検閲削除でリンク切れが多発。

 

■ 3. 成功への到達点と導き出した結論

 

数々の失敗を経て、「LoRAの個別追加を諦め、最初から制限解除された統合ベースモデルを使う」 という解決策にたどり着きました。

 

【成功の決定打】

 

  1. 統合モデルの直接利用 shauray/flux.1-dev-uncensored-q4 などの量子化済み統合モデルを使用。 最初から制限解除がモデル内に焼き込まれているため、追加LoRAなしでプロンプト(呪文)だけで表現をコントロール可能に。

  2. コマンド1発で外付けSSDへキャッシュ 手動でファイルを置くのではなく、HF_HOME 環境変数を指定して mflux に自動取得・変換させる。

■ 4. 実際に成功した実行手順(Mac用)

 

ターミナルで以下のコマンドを実行するだけで、エラーなく安全に動作します。

 

export HF_HOME="/Volumes/Hanye2T/huggingface_cache"

 

mflux-generate --model shauray/flux.1-dev-uncensored-q4 --prompt "a detailed photograph of a beautiful woman, high quality, 8k" --steps 20 --seed 42

 

■ 5. 今後の展開(動画化 Wan 2.1 への接続)

 

動画生成AI(Wan 2.1等)はMac環境においてVRAM消費が非常に大きいため、複数のLoRAをかけて直接動画を生成するのはハードルが高くなります。

 

そのため、今後は 「FLUX(mflux)で理想の1枚を生成し、それをWan 2.1(Image-to-Video)に読み込ませて動画化する」 アプローチで表現の幅を広げていく予定です!

Mac Studioで、画像生成AIのComfyUIを動かしてみた。最初はアプリが起動しない。起動してもモデルが見つからない。ようやく生成ボタンを押せたと思ったら、今度はFP8のエラー。

それでも、一つずつ確認して、最後には全身の人物画像を生成できた。ダウンロードとファイルの配置も含めて、今回の作業をまとめておく。

※これは私の環境での作業記録。同じ症状でも原因が同じとは限らない。コマンド中のユーザー名やフォルダ名は、自分の環境に合わせて読み替える必要がある。

■ 使用した環境

  • Apple Silicon搭載Mac Studio、メモリ64GB
  • macOS 27.0
  • ComfyUI 0.41.0
  • Python 3.12.11/PyTorch 2.14.1
  • モデル保存先:外付けSSD「Hanye2T」

ComfyUIのPython環境は内蔵ストレージのDocuments配下。容量の大きなモデルは外付けSSDに置いている。

■ 1.Comfy Desktopが起動しない

最初に出たのは、次のエラーだった。

Timed out waiting for port 8000 after 300s

300秒待っても、ComfyUIのサーバーが8000番ポートで応答しなかった、という意味だ。これだけでは、止まった原因までは分からない。

uvというPython環境管理ツールも確認した。Macには複数のuvがあり、バージョンも違っていたが、それぞれ単体では実行できた。uvのバージョン違いが今回の原因だったとは断定できない。

また、私のアプリ名は「Comfy Desktop.app」だった。「ComfyUI.app」という名前で探すと見つからなかった。

■ 2.ターミナルから直接起動して原因を調べる

Desktopアプリの画面だけでは状況が分かりにくかったので、ターミナルからComfyUI本体を起動した。すると、より具体的なエラーが見えた。

NumPy 2.5.4に対して、インストール済みのSciPyが要求していたのは「NumPy 2.3未満」。さらに、NumPyのファイルを読み込む途中でTimeoutErrorが発生していた。

そこで、ComfyUI専用のPython環境に入っているNumPyを入れ直した。

/Users/tetsuyanoguchi/.local/bin/uv pip install --python /Users/tetsuyanoguchi/Documents/ComfyUI/.venv/bin/python3 --reinstall 'numpy>=1.26,<2.3'

結果は、NumPy 2.5.4から2.2.6への変更。次のコマンドでSciPyの読み込みも確認できた。

/Users/tetsuyanoguchi/Documents/ComfyUI/.venv/bin/python3 -u -c 'from scipy.ndimage import gaussian_filter; print("読み込み成功")'

「読み込み成功」と表示された。ただし、バージョンの不整合とファイル読み込みのタイムアウトが、同じ原因だったかまでは確認できていない。

■ 3.ブラウザーでComfyUIを開く

今回、最終的に使った起動コマンドはこちら。

/Users/tetsuyanoguchi/Documents/ComfyUI/.venv/bin/python3 -u /Users/tetsuyanoguchi/ComfyUI-Installs/ComfyUI/ComfyUI/main.py --base-directory /Users/tetsuyanoguchi/Documents/ComfyUI --port 8000 --extra-model-paths-config "/Users/tetsuyanoguchi/Library/Application Support/Comfy Desktop/instance-model-paths/inst-1792209746324.yaml"

最後の「--extra-model-paths-config」が重要だった。これは、外付けSSDのモデル保存場所を登録した設定ファイルを読み込む指定。この設定ファイル名は環境ごとに異なる。

最初はこの指定を付けずに起動したため、SSD側のモデルが一覧に出てこなかった。付けて起動すると、ログに外付けSSDの各モデルフォルダが追加された。

次の表示が出たら、ブラウザーでアドレスを開く。

To see the GUI go to: http://127.0.0.1:8000

http://127.0.0.1:8000

サーバーの実行中は、ターミナルがプロンプトに戻らないのが正常。停止するときは、そのターミナルでControl+Cを押す。

なお、起動ログではcomfyui-ollamaの読み込みに約120秒かかっていた。起動に時間がかかる要素の一つだが、これだけで全てのタイムアウトを説明できるわけではない。

■ 4.Krea-2のテンプレートを開く

ComfyUI左側の「Templates」から「Krea-2: Text to Image」を選択。開いたワークフロー名は「image_krea2_turbo_t2i」だった。

大きな「Text to Image (Krea-2 Turbo)」ノードの中に、モデルの読み込み、文章の処理、画像生成などがまとめられている。

下部のunet_name、clip_name、vae_nameから、使用するファイルを選ぶ。最初はモデル不足の表示が出たので、必要なファイルをダウンロードした。

■ 5.モデルのダウンロード

今回は、テンプレートで案内された標準ファイルと、別途ダウンロードしたコミュニティ配布のセットがあった。両方をダウンロードしたため、名前が似ていて分かりにくくなった。

テンプレートが案内していた標準ファイル

  • krea2_turbo_fp8_scaled.safetensors
  • qwen3vl_4b_fp8_scaled.safetensors
  • qwen_image_vae.safetensors
  • krea2_darkbrush.safetensors(スタイル用LoRA)

標準配布先:Comfy-Org/Krea-2

今回、生成に使用したコミュニティ配布セット

Quiho/Krea2_NSFW_Uncensored_Complete

  • moodyKrea2Mix_v3-Global-FP8.safetensors:約13.49GB
  • qwen3VL4BAbliteratedComfyui_FP8.safetensors:約4.83GB
  • qwenImageVAE_BF16.safetensors:約253.8MB

最初はtorrentで進まなかったが、その後ダウンロードできた。入手したファイルは、外付けSSDの次のフォルダで確認した。

/Volumes/Hanye2T/download/Krea2_NSFW_Uncensored_Complete

ファイルサイズはFinder表示のおおよその値。ダウンロードが完了し、途中のファイルではないことを確認してから配置する。今回のセットは標準配布とは別のものなので、標準ファイルと同一だと考えて名前だけ変更することはしなかった。

■ 6.ファイルを正しいフォルダに配置する

私のモデル保存先の親フォルダは、こちら。

/Volumes/Hanye2T/AI/ComfyDesktop/Models

その中で、次のように配置した。

  • diffusion_models:moodyKrea2Mix_v3-Global-FP8.safetensors
  • text_encoders:qwen3VL4BAbliteratedComfyui_FP8.safetensors
  • vae:qwenImageVAE_BF16.safetensors
  • loras:krea2_darkbrush.safetensors

ダウンロード用フォルダに置いただけでは、今回の設定ではComfyUIの一覧に出なかった。モデルの種類ごとのフォルダに入れる必要があった。

MacのFinderでは、ファイルを選んで⌘+C、移動先を開いて⌘+Option+Vで移動できる。⌘+Vならコピーになる。

ここで一つ落とし穴があった。ファイルをコピーした後、移動先のパス文字列をコピーすると、クリップボードがパスに置き換わってしまう。ファイルをコピーした後は、フォルダをクリックでたどるか、「フォルダへ移動」でパスを手入力する。

配置したらComfyUIへ戻り、文字入力欄以外をクリックしてRキーでモデル一覧を更新。今回の環境では、これで追加したファイルを選べるようになった。

■ 7.ワークフローの設定

生成に使った設定は次のとおり。

  • unet_name:moodyKrea2Mix_v3-Global-FP8.safetensors
  • clip_name:qwen3VL4BAbliteratedComfyui_FP8.safetensors
  • vae_name:qwenImageVAE_BF16.safetensors
  • prompt_enhance:false
  • LLM_thinking_mode:false
  • enable_lora:false
  • 画像の比率:1:1、約1メガピクセル

まずは文章の自動拡張とLoRAを使わず、基本の生成を確認することにした。

ただし、enable_loraがfalseでも、画面にはkrea2_darkbrush.safetensorsの不足が残っていた。このファイルもlorasフォルダに配置して一覧を更新すると、不足の表示が消えた。

■ 8.生成時にFP8エラー

ようやくRunを押せたが、今度はKSamplerで失敗。

RuntimeError: Undefined type Float8_e4m3fn

エラーログでは、拡散モデルの重みをFP8から変換する処理で止まっていた。

実は起動トラブルの切り分け中に、Apple Silicon向けのFP8対応拡張「ComfyUI-AppleSilicon-FP8」を一時的に退避していた。

配布元:ComfyUI-AppleSilicon-FP8

この拡張を元のcustom_nodesフォルダに戻し、ComfyUIを再起動した。今回実行した復元コマンドはこちら。

mv -n /Users/tetsuyanoguchi/Documents/ComfyUI/ComfyUI-AppleSilicon-FP8-paused /Users/tetsuyanoguchi/Documents/ComfyUI/custom_nodes/ComfyUI-AppleSilicon-FP8

これは、私がその名前で退避したフォルダを戻すためのコマンド。新規インストール用ではない。

再起動後にブラウザーのComfyUIを読み直してRunを押すと、画像が表示された。今回の環境では、この拡張を戻した状態で生成に成功した。

■ 9.プロンプトを調整する

動作確認の後、成人女性の人物画像を生成。顔を若々しく、薄化粧にする指定を追加すると、今度は顔のアップになってしまった。

そこで、プロンプトの先頭に「全身」「頭からつま先まで」「両足が見える」「カメラを離す」と構図を明記した。

最終的に気に入った画像が出たプロンプトはこちら。

Full-body fine art nude photograph, head-to-toe framing, both feet fully visible, camera at a distance, ample space above the head and below the feet. A beautiful adult woman in her late twenties, elegant natural proportions, graceful standing pose, relaxed shoulders, soft flowing hair, youthful adult face, minimal natural makeup, gentle smile. Warm soft studio lighting, neutral beige backdrop, realistic skin texture.

顔の印象だけでなく、画面にどこまで収めるかも文章で指定する。その調整で、希望に近い全身画像になった。

設定が整ったワークフローは、⌘+Sで「Krea2_Moody」として保存した。

■ 今回分かったことと、まだ分からないこと

  • モデルファイルは、ダウンロード後の配置先が重要。
  • ターミナルから起動すると、エラーの具体的な箇所を確認できる。
  • 外付けSSDを使う場合、モデル保存場所の設定も読み込む必要がある。
  • 今回のFP8モデルは、AppleSilicon-FP8拡張を戻した状態で生成できた。
  • Comfy Desktop自体の300秒タイムアウトについては、完全な原因特定と解消確認には至っていない。現在はターミナル起動+ブラウザーで使用している。

外付けSSDが熱かったので故障も疑ったが、今回のログだけでSSD故障とは判断できない。NumPyの不整合、モデルの検索先、FP8処理と、別々の問題を一つずつ確認する作業になった。

最初は何をしているのか分からなくなるほどだったが、最後は画像が出た。次は、この保存したワークフローを出発点に、人物や光、背景を調整していきたい。