LESSON 30分

ストーリー

田中VPoE
画像認識の次は画像生成だ。テキストから画像を生成する技術は、マーケティングや商品開発で大きなインパクトがある
あなた
DALL-EやStable Diffusionですよね。広告バナーとか商品イメージの生成に使えそうです
田中VPoE
その通り。ただし業務利用には「品質の安定性」「ブランドガイドライン準拠」「著作権リスク」など、個人利用とは違う考慮点がある
あなた
プロンプトの書き方次第で品質が大きく変わりそうですね
田中VPoE
まさにそこが鍵だ。業務で使える画像を安定的に生成するためのプロンプト設計とワークフローを学ぼう

画像生成モデルの概要

主要モデルの比較

モデル提供元特徴推奨用途
DALL-E 3OpenAI指示理解力が高い、テキスト描画可能概念図、説明用画像
Stable Diffusion XLStability AIオープンソース、カスタマイズ可能ブランド特化画像
MidjourneyMidjourney芸術性が高いクリエイティブ素材
Imagen 3Google高品質、安全フィルタビジネス素材
FluxBlack Forest Labs高速、高品質大量生成

生成の仕組み(Diffusionモデル)

テキストプロンプト


[テキストエンコーダ(CLIP等)]


ノイズ画像 → [デノイジング(ノイズ除去)を繰り返す] → 生成画像
             ↑ テキスト条件で誘導

DALL-E APIの使い方

基本的な画像生成

from openai import OpenAI

client = OpenAI()

def generate_image(prompt: str, size: str = "1024x1024") -> str:
    """DALL-E 3で画像を生成"""
    response = client.images.generate(
        model="dall-e-3",
        prompt=prompt,
        size=size,          # 1024x1024, 1024x1792, 1792x1024
        quality="hd",       # standard or hd
        style="natural",    # natural or vivid
        n=1
    )
    return response.data[0].url

業務用プロンプトテンプレート

# 商品画像の背景生成
PRODUCT_BG_TEMPLATE = """
Product photography of {product_name}.
Clean white background, professional studio lighting.
Shot from {angle} angle.
High resolution, sharp focus on the product.
Minimalist style, e-commerce ready.
No text or watermarks.
"""

# マーケティングバナー
BANNER_TEMPLATE = """
Marketing banner for {campaign_name}.
Style: {brand_style} (modern, clean, professional).
Color palette: {primary_color} and {secondary_color}.
Layout: {layout_type} (horizontal/vertical/square).
Mood: {mood} (energetic/calm/trustworthy).
No text overlay needed (text will be added separately).
"""

# SNS投稿用画像
SNS_TEMPLATE = """
Social media post image for {platform} (Instagram/Twitter).
Theme: {theme}.
Style: {style} (flat illustration/photo-realistic/abstract).
Aspect ratio: {ratio} (1:1 for Instagram, 16:9 for Twitter).
Bright, eye-catching, scroll-stopping visual.
"""

プロンプト設計のテクニック

構造化プロンプト

効果的な画像生成プロンプトは以下の要素を含みます。

[主題] + [スタイル] + [構図] + [照明] + [色調] + [品質指定] + [除外条件]
要素説明
主題何を描くか”a modern office workspace”
スタイルどんな雰囲気か”minimalist, Scandinavian design”
構図カメラアングル”bird’s eye view, centered”
照明光の加減”soft natural lighting from left”
色調カラーパレット”warm tones, pastel colors”
品質指定解像度等”high resolution, sharp focus”
除外条件含めないもの”no people, no text”

ネガティブプロンプト(Stable Diffusion)

# Stable Diffusion WebUI API経由
import requests

def generate_with_sd(
    prompt: str,
    negative_prompt: str = "",
    steps: int = 30,
    cfg_scale: float = 7.0
) -> bytes:
    """Stable Diffusionで画像を生成"""
    payload = {
        "prompt": prompt,
        "negative_prompt": negative_prompt or (
            "low quality, blurry, distorted, watermark, "
            "text, logo, deformed, ugly, duplicate"
        ),
        "steps": steps,
        "cfg_scale": cfg_scale,
        "width": 1024,
        "height": 1024,
        "sampler_name": "DPM++ 2M Karras"
    }

    response = requests.post(
        "http://localhost:7860/sdapi/v1/txt2img",
        json=payload
    )
    return response.json()["images"][0]  # Base64

ControlNetによる制御

ControlNetとは

生成画像の構図やポーズを制御する技術です。

入力画像(エッジ/深度/ポーズ)


[ControlNet] → Diffusionプロセスを制御 → 構図を維持した生成画像

主なControlNetモード

モード入力用途
Canny Edgeエッジ画像輪郭を維持した画像生成
Depth深度マップ立体構造を維持
OpenPose骨格検出結果ポーズを維持
Scribbleラフスケッチスケッチからの画像生成
Reference参照画像スタイルの維持

業務での活用例

【商品画像のバリエーション生成】

元の商品写真 → [Canny Edge抽出] → エッジ画像

プロンプト: "同じ商品、異なる背景"  ─────┤

                              [ControlNet + SD]


                              背景違いの商品画像 × N枚

業務利用の注意点

著作権とライセンス

モデル生成画像の権利商用利用注意点
DALL-E 3利用者に帰属OpenAI利用規約に準拠
Stable Diffusionモデルライセンスに依存モデルによる学習データの権利問題
Midjourneyプランによる有料プランで可無料プランは制限あり

品質管理のワークフロー

生成 → 自動品質チェック → 人間レビュー → 承認 → 利用

         ├── ブランドガイドライン準拠チェック
         ├── 不適切コンテンツフィルタ
         └── 解像度・アスペクト比の確認

ブランド一貫性の維持

# ブランドガイドラインに基づくプロンプト管理
BRAND_GUIDELINES = {
    "color_primary": "#2563EB",
    "color_secondary": "#F59E0B",
    "style": "modern, clean, professional",
    "forbidden_elements": ["cartoon style", "dark themes", "violent imagery"],
    "required_elements": ["clean background", "professional lighting"]
}

def build_brand_compliant_prompt(base_prompt: str) -> str:
    """ブランドガイドラインに準拠したプロンプトを生成"""
    guidelines = BRAND_GUIDELINES
    enhanced = f"{base_prompt}. Style: {guidelines['style']}. "
    enhanced += f"Color scheme: {guidelines['color_primary']} and {guidelines['color_secondary']}. "
    enhanced += ". ".join(guidelines["required_elements"]) + ". "
    enhanced += "Avoid: " + ", ".join(guidelines["forbidden_elements"])
    return enhanced

まとめ

項目内容
主要モデルDALL-E 3(指示理解力)、SD XL(カスタマイズ)、Midjourney(芸術性)
プロンプト設計主題 + スタイル + 構図 + 照明 + 色調 + 品質 + 除外条件
ControlNet構図やポーズを制御して一貫した画像生成
業務利用著作権、ブランドガイドライン、品質管理ワークフローが重要

チェックリスト

  • 主要な画像生成モデルの特徴と使い分けを理解した
  • 業務用プロンプトの構造化テンプレートを作成できる
  • ControlNetの主要モードと業務活用法を把握した
  • 著作権リスクと品質管理のワークフローを説明できる

推定所要時間: 30分