副業AI画像生成の課題|1件ずつ手作業では限界がくる
フリーランスや副業でAI画像生成を請け負う人が増えている。しかし、クライアントから「100枚のバリエーションが必要」「キャラクター20パターンを納品してほしい」といった大量発注を受けた際、Automatic1111で1枚ずつ手作業で生成していては時間がかかりすぎる。
実際、ランサーズやココナラでAIイラスト案件を受注した人の多くが「納期に間に合わない」「単価が低すぎて割に合わない」という壁にぶつかっている。1枚あたり5分かかる作業を100回繰り返せば8時間超。これでは時給換算で最低賃金を下回るケースも珍しくない。
一方で、バッチ処理とプロンプト自動化を導入した事業者は、同じ100枚を2時間以内に生成し、複数案件を並行で回せるようになったという報告が相次いでいる。作業効率の差が収益性に直結する現状がある。
バッチ処理が必要とされる背景|案件の大量化と納期の短縮化
AIイラスト市場の成長とともに、発注側の要求水準も変化している。2024年以降、企業のマーケティング部門やECサイト運営者からの「短納期・大量納品」ニーズが急増した。SNS広告用の素材を週単位で差し替えたい、商品バリエーションごとにイメージ画像を用意したい、といった要望が典型例だ。
株式会社矢野経済研究所の調査によれば、国内の生成AI市場は2026年に前年比180%成長と予測されている。画像生成分野も例外ではなく、受注単価は下落傾向にある一方で、発注量は増加している。この状況下で収益を維持するには、単位時間あたりの生成枚数を引き上げる必要がある。
手作業で対応できる案件は限られており、バッチ処理への移行は副業の継続可否を分ける分岐点になりつつある。
Automatic1111のバッチ処理機能|基本の3つのアプローチ
Automatic1111には複数のバッチ処理手段が用意されている。用途に応じて使い分けることで、作業効率を大幅に改善できる。
Batch機能(標準UI)
txt2imgタブの下部に「Batch count」と「Batch size」の設定項目がある。Batch countは連続生成回数、Batch sizeは1回の生成で同時に出力する枚数を指す。
- Batch count: 10に設定すれば、同じプロンプトで10回生成を繰り返す
- Batch size: VRAMに余裕があれば4や8に設定することで、1回の実行で複数枚を並列生成できる
ただし、この方法では全て同じプロンプトが使われるため、バリエーションを持たせるにはWildcardsやDynamic Promptsとの組み合わせが必要になる。
スクリプトのバッチ処理(Scripts > X/Y/Z plot)
プロンプトの一部を変数化し、組み合わせを自動生成する機能。例えば、ポーズ・表情・背景の3要素をそれぞれ5パターン用意すれば、125通りの画像を自動生成できる。
具体的な設定手順は以下の通り:
- Scripts欄で「X/Y/Z plot」を選択
- X軸に
Prompt S/R(検索置換)を指定 - 置換対象の文字列と置換後の候補をカンマ区切りで入力(例:
pose, standing, sitting, running)
この手法は比較検証にも有効で、LoRAの重み・サンプリング手法・CFG Scaleなどパラメータ違いの一覧画像を生成できる。
CSVからのプロンプト読み込み(拡張機能)
最も柔軟性が高いのが、CSV形式でプロンプト一覧を用意し、1行ずつ読み込んで生成する方法だ。sd-webui-prompt-from-file などの拡張機能を導入することで実現できる。
CSVの例:
prompt,negative_prompt,seed,steps
"a girl with red hair, smile, outdoor",ugly,12345,20
"a boy with blue eyes, serious, indoor",blurry,67890,25
列にはプロンプト・ネガティブプロンプト・シード値・ステップ数などを指定でき、案件ごとの要件をテンプレート化して再利用できる。クライアントから提供された指示書を直接CSVに変換すれば、コピペミスも防げる。
プロンプト自動化の実践テクニック|Wildcards・Dynamic Prompts・LoRA切替
バッチ処理の真価は、プロンプト自動化と組み合わせた時に発揮される。手作業では困難だった大量のバリエーション生成が現実的になる。
Wildcardsによるランダム置換
Wildcardsは __キーワード__ の形式でプロンプト内に変数を埋め込み、拡張機能がテキストファイルから候補をランダムに選んで置き換える仕組みだ。
例として wildcards/hair.txt に以下を記述する:
red
blue
blonde
black
プロンプトに a girl with __hair__ hair と書けば、生成のたびに髪色がランダムに変わる。表情・服装・背景・小物など、要素ごとにファイルを分けて管理すれば、組み合わせ爆発的にバリエーションを増やせる。
Dynamic Promptsの構文
より高度な制御には sd-webui-dynamic-prompts 拡張が有効だ。中括弧 {} とパイプ | で選択肢を直接プロンプト内に記述できる。
{red|blue|green} dress, {standing|sitting|lying}, {indoor|outdoor}
この1行から3×3×2=18通りの組み合わせが生成される。さらに {2$$option1|option2|option3} の構文で「3つの選択肢から2つをランダムに選ぶ」といった条件指定も可能だ。
案件で「同じキャラクターのポーズ違い10枚」を求められた場合、ポーズ部分だけをDynamic Promptsで記述すれば、他の要素を固定したまま一括生成できる。
LoRAの自動切替
複数のLoRAを使い分ける案件では、<lora:model_name:weight> タグをCSVやWildcardsで制御する。
CSV例:
prompt,lora
"a girl in school uniform","<lora:school_v1:0.8>"
"a girl in casual clothes","<lora:casual_v2:0.7>"
これにより、シーンごとに適切なLoRAを適用した画像を自動生成できる。クライアントが複数のキャラクターLoRAを持ち込む案件でも、CSV1つで管理できるため、手動切替のミスがなくなる。
【PR】
面倒な環境構築なしでStable Diffusionを使うなら
月990円〜でAUTOMATIC1111環境がブラウザだけで使える。GPU不要・スマホ対応・最短3分で画像生成開始。LoRA・ControlNet等の主要拡張も対応済み。
品質チェックの自動化|出力フィルタリングとリネーム処理
大量生成した画像の中には、手や顔の崩れ・構図の破綻など、納品に適さないものが一定割合で含まれる。手作業で1枚ずつ確認するのは非効率なため、自動化の仕組みを導入したい。
ADetailerによる顔・手の自動修正
sd-webui-adetailer 拡張を有効にすると、生成後に顔と手を自動検出してinpaintで修正される。設定項目は以下:
- ADetailer model: face_yolov8n.pt(顔用)、hand_yolov8n.pt(手用)
- Denoising strength: 0.3〜0.5(修正の強度)
- Inpaint only masked: 検出部分のみ再生成
バッチ生成時にこの機能を有効化しておけば、顔崩れや指の本数異常が大幅に減少する。完全ではないものの、後工程の確認時間を半分以下にできたという事例が多い。
画像分類スクリプトの活用
生成後、品質スコアで自動振り分けする方法もある。aesthetic-scorer などのツールを使い、美的評価が一定値以下の画像を別フォルダに移動させる。
Pythonスクリプト例(疑似コード):
for image in output_folder:
score = aesthetic_scorer.evaluate(image)
if score < 5.0:
move(image, "low_quality/")
これにより、目視確認すべき候補を絞り込める。完全自動化は難しいが、100枚中20枚だけ確認すれば済む状態にできれば、作業効率は5倍になる。
リネームとメタデータ埋め込み
納品時、ファイル名に生成条件を含めておくとクライアントの管理が楽になる。Automatic1111の設定で [seed]-[prompt_words] のようなパターンを指定すれば、生成時に自動命名される。
さらに、EXIF情報にプロンプト・モデル名・LoRA情報を埋め込んでおけば、後日の再現性も確保できる。納品物の信頼性が上がり、リピート受注につながりやすい。
【PR】高速生成環境の構築|ConoHa AI Canvasで時間短縮
バッチ処理を実運用するには、安定した計算環境が不可欠だ。ローカルPCでは長時間の連続稼働で熱暴走やフリーズのリスクがあり、納期直前のトラブルは避けたい。
クラウドGPUサービスの ConoHa AI Canvas は、Stable Diffusion環境がプリセットされており、Automatic1111が初期状態で利用できる。時間課金制のため、生成作業時だけ起動すればコストを抑えられる。
特に夜間バッチ処理を走らせたい場合、自宅PCの電気代や騒音を気にせず、クラウド上で完結できるメリットは大きい。100枚生成を就寝前に開始し、翌朝には完了している運用が可能になる。
それでもAIに懐疑的なあなたへ|自動化の限界と人間の役割
「バッチ処理で量産すれば質が下がるのでは」という懸念は理解できる。実際、完全自動化で全ての案件に対応できるわけではない。
クライアントが細かいディレクションを求める案件、ブランドイメージの一貫性が最重要視される案件では、1枚ずつ丁寧に調整する従来の手法が適している。バッチ処理は「効率化できる部分を自動化する」ための手段であり、全工程を置き換えるものではない。
また、自動生成した画像の最終チェックは人間が行うべきだ。クライアントの意図と合致しているか、著作権的な問題がないか、意図しない表現が含まれていないかは、現時点でAIに判断させるのは危険だ。
バッチ処理の導入は「単純作業を減らし、クリエイティブ判断に時間を使う」ための効率化であると捉えるべきだろう。自動化によって空いた時間で、提案資料の作成や追加バリエーションの試作に注力できれば、案件の質は逆に向上する。
よくある質問
Q1. Batch sizeを大きくするとVRAM不足でエラーが出る
VRAM使用量は画像サイズとBatch sizeに比例する。12GB以下のGPUでは、512×512サイズならBatch size 4、768×768なら2が目安。--medvram や --lowvram オプションをwebui-user.batに追加すると、速度は落ちるがメモリ効率が改善される。
Q2. CSVプロンプト読み込み時に日本語が文字化けする
CSVの文字コードをUTF-8(BOM付き)で保存する。Excel経由だとShift_JISになることが多いため、テキストエディタで開き直して保存し直すと解決する。
Q3. Wildcardsが反映されず、__keyword__がそのまま出力される
拡張機能 sd-webui-wildcards または sd-dynamic-prompts が正しくインストールされているか確認。拡張機能タブで有効化後、webUIを再起動する必要がある。
Q4. バッチ生成中にPCがフリーズする
長時間の連続稼働で熱暴走している可能性がある。GPU温度を監視し、80℃を超えるようなら冷却環境の改善が必要。または、Batch countを分割して10枚ずつ生成し、間に冷却時間を挟む運用も有効。
Q5. 同じシードでもバッチ処理すると結果が変わる
Batch size>1の場合、内部的に異なるシード値が振られる仕様がある。完全に同一の画像を再現したい場合は、Batch sizeを1に固定し、シード値を明示的に指定する。
関連記事
- Stable Diffusion XL完全ガイド|SDXL 1.0の使い方と高画質化テクニック
- LoRA学習の始め方|Stable Diffusionで独自スタイルを作る完全手順
- Stable Diffusion 3.5最新ガイド|新機能と実践的な使い方を解説
まとめ
Stable Diffusionのバッチ処理は、副業や受託案件の生産性を10倍以上に引き上げる可能性を持つ。Automatic1111標準のBatch機能に加え、CSVプロンプト読み込み・Wildcards・Dynamic Promptsを組み合わせることで、大量のバリエーション生成が現実的になる。
品質チェックの自動化やクラウドGPU環境の活用により、納期短縮と安定稼働を両立できる。ただし、完全自動化ではなく「効率化できる部分を自動化し、人間は判断業務に集中する」というバランスが重要だ。
まずは小規模案件で10〜20枚のバッチ生成を試し、ワークフローを確立してから本格導入すると失敗が少ない。自動化による時間創出を、提案力やポートフォリオ強化に再投資すれば、持続的な収益向上につながるだろう。


コメント