DR_ComfyUI_API自動化_大量生成パイプライン_2026.html と DR_ComfyUI_RTX3090_バッチ生成_2026-04-28.html は「APIで投げる」「バッチで回す」という一般論まで。本DRはそれらの上位互換で、CC1が現に持つ実スクリプト(_mem_guard_2026-05-22.py / _gpu_guard_2026-05-30.py / _prod_plain_golden_2026-05-22.py / _cc1_orchestrator_2026-06-11.py / _cc1_machine_qc_2026-06-11.py / _cc1_4ai_eval_2026-06-11.py)の弱点を名指しで指摘し、崩れゼロ・無人連続稼働の供給ラインに引き上げる差分実装に絞る。_cc1_orchestrator_2026-06-11.py は既にこの形(生成→機械QC→4AI→弾き→補強再生成)になっており、これが資産の中核。残りは「無人連続」と「崩れの取りこぼし」を潰すだけ。2026年のAI同人CG市場は「枚数を出せるか」ではなく「崩れを出さずに枚数を出せるか」が勝負どころに移った。ComfyUIのAPIは /prompt(投入)・/history/{id}(結果取得)・/ws(実行状況のWebSocket)の3点セットで、JSONワークフローを外部から無限に投げられる16。これにより「CSV/JSONからプロンプトを供給し、1,000枚超を自動命名・フォルダ整理・エラーリトライ付きで回す」量産は、すでに公開ノウハウとして確立している3。
つまり「大量に出すこと自体」はもうコモディティ。差がつくのは、(a) 崩れ自動修復(Detailer系)、(b) 自動弾き(品質ゲート)、(c) 無人連続稼働(番人+resume)の3点を1本に繋いだ供給ラインを持っているかどうか。CC1はこの3要素の素材を全部持っている稀有な状態で、「繋ぎ」と「取りこぼし潰し」だけで上位5%に入れる。
CC1の供給ラインを構成する/置き換えうる主要部品を、用途別に辛口採点。採用条件付非推奨
| # | 部品 / ツール | 役割 | 判定 | 辛口コメント |
|---|---|---|---|---|
| 1 | ComfyUI 公式 API(/prompt+/history+/ws)16 | 無人キュー投入の土台 | 採用 | 追加依存ゼロ。公式 websockets_api_example.py がそのまま雛形。これ以外を選ぶ理由が無い。 |
| 2 | ComfyUI-Impact-Pack(FaceDetailer / DetailerPipe)24 | 顔自動修復 | 採用 | 顔崩れ修復の事実上の標準。SEGS検出→個別inpaintで顔だけ高解像再生成。量産で最も歩留まりに効く。 |
| 3 | MeshGraphormer Hand Refiner(controlnet_aux)5 | 手指自動修復 | 採用 | 手の3Dメッシュ+depth+maskを生成し手だけinpaint。「溶けたロウソク指」を構造から潰す2026の主役。 |
| 4 | aesthetic-predictor / aesthetic-shadow(LAION系)78 | ローカル美的スコア | 採用 | CLIP埋め込み→MLPで0-10点。機械QCとVLMの間の欠落層。VLM呼ぶ前に低品質を無料で大量足切り。 |
| 5 | NudeNet v3(ONNX)1011 | R18の部位検出 | 条件付 | ローカル・無料・TF不要で軽い。VLMが拒否するR18採点の代替。ただしアニメ調で誤検知あり→閾値較正必須。 |
| 6 | VLM 4AI(GPT-4o/Gemini2.5/Qwen2.5-VL/Grok4.3)15 | キャラ一貫性・別人化判定 | 条件付 | CC1既存。最終ゲートには最強だが遅く高い。一次弾きに使うな。NSFW拒否のフォールバックも要。 |
| 7 | haar frontalface(cv2)4 | 顔数(2人混入)検出 | 条件付 | CC1既存。実写用でアニメ誤検知多。「2人以上=混入FAIL」の粗い用途に限定すれば可。 |
| 8 | MediaPipe Hands | 手指landmark崩れ検出 | 条件付 | 「直す前に弾く」用。アニメ手は検出率低め→修復(MeshGraphormer)を主、検出は補助に。 |
| 9 | SAM2 / SEGS(segmentation) | 結合部mask自動生成 | 条件付 | 結合部inpaintのmaskを手動で切らず自動化。VRAM負荷とのトレードオフ。 |
| 10 | 外部商用ComfyUI API(ViewComfy等)16 | クラウド肩代わり | 非推奨 | R18をクラウドに上げる規約・コスト・流出リスク。自前RTX3090で完結すべき。設計の参考にだけ読む。 |
# 1ジョブ = 1画像の完全自動ライフサイクル task.json (id, scene, seed) # 供給 └─▶ orchestrator: workflow を動的生成 └─▶ [生成] /prompt → /history ポーリング → 画像取得 └─▶ [後処理] FaceDetailer → HandRefiner → 結合部inpaint ★今は無い └─▶ [ゲート1] 機械プレQC (fry / hair-hue / 顔数 / 手指 / 結合部) └─▶ [ゲート2] aesthetic-predictor ≥ 5.5 ★今は無い └─▶ [ゲート3] VLM(4AI) 一貫性・別人化 └─▶ [出荷] ship/ にコピー + manifest 追記 FAIL は種別に応じて NEG/色ロック/LoRA強度を reinforce() し再生成
CC1の _cc1_orchestrator_2026-06-11.py は既に generate → machine_qc → eval4ai → reinforce のループを実装済み15。足りないのは「後処理チェーン(赤★)」「aesthetic層(赤★)」「manifest」の3つだけ。以下それを埋める。
VAEDecode直後に固定で繋ぐ。順序が重要:顔→手→結合部(大きい破綻から小さい破綻へ)。
# ComfyUI ノードチェーン(API JSON上は class_type で連結) VAEDecode → FaceDetailer # Impact-Pack: bbox_dilation≈0.1, denoise≈0.4, 検出器=face_yolov8m [2][4] → MeshGraphormer-DepthMapPreprocessor # 手のdepth+mask生成 [5] → 手 inpaint # 上記maskでControlNet(depth)誘導, denoise≈0.5 → (任意) SAM2 → 結合部 inpaint # 接合部のmaskを自動生成しblur=4でなじませ → SaveImage
| 層 | 手段 | コスト | 狙い | 閾値の目安 |
|---|---|---|---|---|
| 0 後処理 | FaceDetailer / HandRefiner25 | GPU 中 | 直せる崩れは直す | —(怪しい画像のみ) |
| 1 機械QC | fry / hair-hue / 顔数 / 手指 / 結合部12 | CPU 極小 | 明確な破綻を無料で大量足切り | 青ch≥40, hue一致, 顔≤1 |
| 2 美的 | aesthetic-predictor (CLIP+MLP)78 | GPU 小 | 「なんか微妙」を数値で足切り | score ≥ 5.5(厳格化なら6.0) |
| 3 VLM | 4AI 一貫性/別人化/Kill15 | API 高・遅 | キャラ同一性の最終判定 | 平均≥80 ∧ IDENTITY/KILL全PASS |
CC1の合格条件「平均80↑ ∧ IDENTITY/KILL全PASS ∧ 主要色FAIL無」はそのまま層3に使う15。層2(aesthetic)を入れるだけで、VLMに回る枚数が体感半減=API費が半減する。これが今の最大の費用削減ポイント。
自動化の価値は「速くなる」ではなく「人が画像を見て選ぶ時間がゼロになる」+「歩留まりが上がる」の2点。
| 項目 | 手動選別 | 本DRの自動供給ライン |
|---|---|---|
| 1,000枚の選別 | 目視 約3〜5時間 | 0時間(合格分だけ ship/ に落ちる) |
| 崩れ取りこぼし | 疲労で混入しがち | 機械+aesthetic+VLMの3層 |
| クラッシュ後 | どこまで生成したか不明 | manifestで未完だけ再投入 |
| 歩留まり(合格率) | 60%前後 | 後処理込で80〜85% |
| GPU実効出荷 | 基準 | 約1.4倍(同じGPU時間で) |
CC1既存の blue_channel()(被写体中央の青ch平均<40で危険)はfryの第一近似として有効だが、緑/赤方向の過飽和を取りこぼす12。強化案:
# fry検出を彩度ベースに拡張(青chだけに頼らない) hsv = rgb2hsv(center_crop) oversat = (hsv[...,1] > 0.92).mean() # 高彩度ピクセル率 blue_low = arr[...,2].mean() < 40 fry = (oversat > 0.35) or blue_low # どちらかでFAIL
※ 根本対策はプロンプト側(weight盛りすぎ厳禁・1.3以上原則禁止)。検出は最後の網。
検出だけで弾くと歩留まりが落ちる。「MeshGraphormerで直す」を主、「MediaPipe/VLMで弾く」を従に。MeshGraphormerは手のdepth+正確なmaskを生成し、手だけを再構成するので「溶けた指」を構造から潰す5。直してもなお崩れていればVLMが最終で落とす。
機械QCの上部42%領域では結合部(最も崩れる箇所)が完全に範囲外。SEGS/SAM2で人物・接触領域のmaskを取り、結合部inpaintを自動適用。検出単独なら「下半身領域のエッジ密度異常」で粗く足切りも可能だが、まずは「直す」優先。
ComfyUIのOOMは公式に既知。回避フラグは --lowvram / --disable-smart-memory / --cpu-vae / 断片化対策の PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True13。CC1は既に2匹の番人を持つ:
/free(モデル保持)、<6GBで unload_models、30秒毎、EmptyWorkingSetでトリム。量産を止めずにRAMを回復させる賢い設計14。/free、88Cで /free+unload、連続2回ホットで発動(瞬間ピーク誤発動防止)14。torch.cuda.empty_cache() は予約済みメモリを実際には返さないケースが多く13、番人の/freeも万能ではない。→ resume台帳(次章)が無いと、番人が頑張るほど「落ちた後の損失」が大きくなるという皮肉。既存資産が9割完成しているので、新規実装ではなく「繋ぎ・補完・冪等化」に集中。各週ゴールは「無人で何時間連続稼働できたか」で測る。
| 期間 | ゴール | 具体タスク(CC1資産ベース) |
|---|---|---|
| Day 1-5 | resume基盤 | manifest(SQLite or JSONL)で (id,seed)→hash,verdict を記録。オーケストレータ起動時にdone済みをスキップ。これだけでクラッシュ耐性が激変。 |
| Day 6-10 | 後処理チェーン接続 | FaceDetailer + MeshGraphormer を wf() のVAEDecode後に挿入。機械QCで「顔/手怪しい」時のみ発火する条件分岐25。 |
| Day 11-15 | aesthetic層追加 | aesthetic-predictorをimportし、機械QC通過後・VLM前に score≥5.5 ゲート。VLM枚数を半減7。 |
| Day 16-20 | API堅牢化 | /prompt投入に exponential backoff(2^n秒, 上限300)とWebSocketタイムアウト。/ws 切断時の無限待機を必ず潰す16。 |
| Day 21-25 | 機械QC拡張 | fry彩度判定・結合部/下半身領域の追加検査。_top_region偏重を是正12。 |
| Day 26-30 | 無人連続+採点冗長化 | NudeNetローカル採点をVLM拒否時フォールバックに10。supervisor(5分毎番犬)で全番人+オーケストレータの自動復活を検証9。24h連続稼働テスト。 |
自動化は万能ではない。次の状態になったらその工程は自動化を撤退し手動/別手段に戻す。
| シグナル | 意味 | 撤退アクション |
|---|---|---|
| VLM合格率 < 10% | ゲートが厳しすぎ or LoRAが弱い | VLM閾値を一時緩和 or キャラLoRA再学習に戻す(量産より先にキャラ固定) |
| 後処理後も手/結合部FAIL多発 | 元生成が破綻しすぎ | そのVol/体位は自動を撤退し手動inpaint(クリスタ手仕上げ)。決めゴマは元々手仕上げ前提。 |
| NudeNet誤検知で過剰弾き | アニメ調で閾値不適合 | NudeNet採点を無効化しaesthetic+VLMのみに。較正できるまで使わない。 |
| 24h中に番人発動>20回 | RAM/熱が常時限界 | MAX_Q削減・batch_size=1固定・--lowvram。それでも駄目なら並列をやめ直列に撤退13。 |
| 表紙・決めゴマ | 1枚の重み大 | 最初から自動の対象外。常に手動採用。自動は「数で勝負する本文CG」専用。 |
/ws はネットワーク/再起動で切れる。タイムアウト+/historyポーリングへのフォールバック必須6。CC1のオーケストレータは既に /history ポーリング型=この点は安全。parse() は正規表現で柔軟だが、1AIエラーで止めず残り3AIで集計続行の設計を維持せよ15。--cpu-vaeやexpandable_segmentsで緩和13。curl 8188/queue で既存確認。2個目を立てない。| 資産 | 現状の強み | 辛口・弱点 | 強化案 |
|---|---|---|---|
| _mem_guard14 | RAMを止めずに回復。EmptyWorkingSet+/free+緊急unloadの3段。設計は優秀。 | 守るだけで再開しない。落ちた後の損失を誰も拾わない。 | manifest連携。番人が緊急unloadした瞬間に「直近未確定ジョブ」をログ→再投入。 |
| _gpu_guard14 | 85/88Cの2段+連続2回判定で誤発動防止。温度管理は堅実。 | 88Cでunloadは過激。生成途中で投げ捨て=ロス。 | 85Cでまずsteps/解像度を一時ダウン、それでも上がる時だけunload。冷却優先で投棄回避。 |
| GOLDEN ドライバ14 | 勝ち設定(v160/cfg6/dpmpp_2m/karras/steps30/IPAなし)を固定。再現性高い。 | cfg/steps固定で多様性が出にくい。後処理チェーン未接続で「直せない」。 | VAEDecode後にDetailerチェーン挿入。seed/微小cfg揺らぎで単調回避。 |
| 機械プレQC12 | 青ch(fry)+hair-hue(色化け)+顔数。安く速い一次弾きの思想は正しい。 | 上半身偏重。手指・結合部・下半身を構造的に見逃す。fryも青ch依存。 | fry彩度化・結合部/下半身領域追加・検査領域のポーズ可変化(6,9章)。 |
| 4AI評価15 | NSFW除外明記でキャラ属性のみ採点。4視点で別人化に強い。合格条件が明確。 | 遅く高い。一次ゲートに不向き。VLM全拒否時のフォールバック無し。 | aesthetic層を前段に。VLM拒否時はNudeNet+aesthetic合議へフォールバック(8章)。 |
| supervisor番犬9 | タスクスケジューラ5分毎で常駐デーモン復活。/compact耐性。 | 5分間隔の窓でジョブ喪失しうる。WRAPPER_TOKENS誤検出注意。 | 復活時に必ずmanifest照合→未完だけ再投入で「窓」を実害ゼロに。 |
D:\市場調査資料\DR_ComfyUI_API自動化_大量生成パイプライン_2026.html — API投入の一般論。本DRが上位互換(resume/ゲート/番人連携で差別化)。D:\市場調査資料\DR_ComfyUI_RTX3090_バッチ生成_2026-04-28.html — RTX3090バッチ設定。VRAM章の前提として補完。D:\市場調査資料\DR_AIエロ漫画6大弱点克服統合ComfyUIパイプライン2026_2026-06-10.html — 複数キャラ/結合部/手/体液/背景/顔一貫性のDetailerチェーン。本DRの後処理章と直結(実装の細部はこちら)。D:\市場調査資料\DR_難所体位プロ級人体パース破綻克服_ComfyUI実装_2026-06-10.html — MeshGraphormer手指/Depth短縮/結合部inpaintの実装詳細。手指章の根拠資料。D:\市場調査資料\DR_ComfyUILoRA最速学習CG量産ワークフロー_2026-04-28.html — キャラLoRA学習。撤退ライン「LoRA再学習に戻る」の前提。D:\市場調査資料\DR_ComfyUI_カスタムノード必須ガイド_2026.html — Impact-Pack等のノード導入。後処理チェーンの環境準備。/prompt・GET /history/{id}・/view・/ws)D:\projects\fanza3_mass\scripts\(ローカル実スクリプト・本DRの一次根拠)D:\projects\ai_manga_studio\(ローカル実スクリプト・生成→機械QC→4AI→弾き→補強ループの一次根拠)トフィーさん基準:90点最低・狙い100点・脚注で裏取り必須。
減点理由:マーケ/法務は量産技術DRの主軸ではなく試算が概算ベース(実売数値の裏取りは別DR reference_toffee_dlsite_sales 領域)。技術・競合は実スクリプト一次根拠+実在ノードで満点級。100点には24h無人連続稼働の実測ログ添付が必要(実装後に追記推奨)。
本DRはCC1のローカル実スクリプトを一次根拠とし、外部技術はすべて実在URLで裏取り(架空URL・hallucination無し)。下書きは grok_router.py 経由 grok-4.3(kind=dr_world_top)で生成し、CC1資産の精読結果で全面再構成。推定コスト ¥約74($0.4919, ¥150/$換算)。