画像生成AIの「ガチャ」から脱却する鍵はJSONによるプロンプト・アーキテクチャ。属性を構造化することで色漏れや意図しない解釈を防ぎ、再現性の高い生成が可能になります。まずはマスタースキーマをコピーして、あなたのイメージを「設計」することから始めましょう。
「素晴らしい構図だけど、指が6本ある」「指定した色が背景に漏れ出してしまった」……。
Stable DiffusionやChatGPTの画像生成などを使う中で、こうした「ガチャ(運要素)」に疲弊していませんか?
本記事では、プロンプトを自然言語の「文章」から、JSON形式の「構造化データ」へと進化させ、生成結果をエンジニアリング的に制御する最新手法を解説します。
ComfyUI・Stable Diffusionの基礎から押さえたい方は、ComfyUIの使い方完全入門もあわせてご覧ください。

1. なぜ「自然言語」ではなく「JSON」なのか?
初期の画像生成AIでは「サイバーパンクな都市の夜景」といった呪文(プロンプト)が主流でした。一方、ChatGPTの画像生成やFLUX.2のような新しいモデルは、言語モデルで指示を読むので、長く構造化した指示も渡せるようになりました。
1.1 LLMネイティブな解釈メカニズム
新しい画像生成モデルには、プロンプトを言語モデルで読むものがあります。たとえばFLUX.2 [klein]は、公式がテキストエンコーダーにQwen3 4B(言語モデル)を指定しています。言語モデルはJSONやYAMLのような構造化データも読めるので、属性ごとに区切った指示を渡せるのが利点です(構造化したほうが結果が良くなるかを、当サイトで比べたわけではありません)。
CLIPでプロンプトを読む従来のモデル(Stable Diffusion 1.5など)では、JSONの記号や階層は意味を持ちません。こうしたモデルでは、生成の前にタグ列へ変換します(4章)。
1.2 属性分離 (Disentanglement) による制御
最大のアドバンテージは「属性の分離」です。
例えば文章で「赤い車と青い服を着た男」と書くと、AIは「赤」と「青」を混同しがちです(Attribute Bleeding)。JSONでスコープを区切るのは、この混同を起こしにくくする狙いです(完全に防げるとは限りません)。
自然言語プロンプトで複数の要素を指定した際に、一つの属性(色、質感など)が意図しないオブジェクトに適用されてしまう現象。例:「赤い車と青い空」→ 車が紫がかる、空が赤みを帯びる、など。
2. コピペで使える「マスター・プロンプト・スキーマ」
Tech Otaku Labが提唱する、汎用性の高いJSON構造(スキーマ)を紹介します。これをテンプレートとして、main_subject や environment の中身を書き換えるだけで、一貫性のある画像生成が可能になります。
{
"meta": {
"usage_context": "product_photography",
"model_version": "dall-e-3"
},
"main_subject": {
"entity": "ヴィンテージの香水瓶",
"appearance": {
"material": "ガラスと真鍮",
"color": {
"dominant": "amber",
"accent": "gold"
}
}
},
"environment": {
"location": "大理石のカウンター",
"lighting": {
"type": "natural_light",
"direction": "side_lighting",
"shadows": "soft_diffused"
}
},
"camera_technical": {
"lens": "macro_100mm",
"aperture": "f/2.8",
"focus": "sharp_on_subject"
},
"style": {
"medium": "photorealistic",
"color_palette": ["#FFD700", "#FFFFFF"]
}
}
この構造のポイントは、「照明(Lighting)」と「カメラ設定(Camera Technical)」を独立させている点です。単に「綺麗な写真」と書くのではなく、f/2.8 や side_lighting と物理パラメータを指定することで、AIのレンダリングエンジンに対して具体的な「光の計算」を指示できます。
スキーマの各セクション解説
| セクション | 役割 | 具体例 |
|---|---|---|
| meta | 生成の文脈・管理情報 | 用途(商品撮影/イラスト)、モデルバージョン |
| main_subject | 主役の定義 | 対象物、素材、色、質感 |
| environment | 周囲の環境 | 場所、照明の種類・方向・影の質 |
| camera_technical | カメラの物理設定 | レンズ、絞り、焦点位置 |
| style | 表現スタイル | メディアタイプ、カラーパレット |
3. 自然言語 vs JSONプロンプト 比較分析
従来の手法と何が違うのか、メリット・デメリットを整理しました。
- 再現性が高い: パラメータの一部だけを変更してバリエーションを作れる
- 属性漏れを抑えやすい: 色や素材を対象ごとに書き分けられる
- 自動化に最適: プログラムで大量生成する際の管理が容易
- バージョン管理可能: Gitで履歴管理、差分確認ができる
- チーム共有が容易: 誰が見ても構造が理解できる
- トークン消費が多い: 括弧やキー名の分だけ文字数を消費する
- 創造性の低下: 曖昧さが減る分、AIによる「意外なアレンジ」は減る
- 記述が面倒: 手入力には向かない(LLMに書かせるのが前提)
- 学習コスト: JSON構造を理解する必要がある
4. 主要モデル別・実装ワークフロー
ChatGPT(画像生成)の場合
※ OpenAIはDALL·E 3を廃止し、APIから削除しています(OpenAIの公式のモデルのページ・2026年10月時点)。ChatGPTで画像を作る場合も、ここで書く手順はモデル名に依存しません。
ChatGPT上で使用する場合、JSONをそのまま貼り付けるだけでは不十分です。以下の「メタプロンプト」を添えて指示してください。
以下のJSON構造記述に基づいて詳細な画像生成プロンプトを作成し、 画像を生成してください。 JSON内の指定事項を厳守し、勝手な要素追加を行わないこと。 [ここにJSONを貼り付け]
Stable Diffusion / Midjourney の場合
これらのモデルはJSONをネイティブサポートしていません。そのため、「保存・管理はJSON、生成時はタグ変換」というワークフローを採用します。
ChatGPT等を使って、先ほどのJSONから (vintage perfume bottle), macro lens, f/2.8, side lighting... といったタグ列に変換させてから入力しましょう。
上記のマスタースキーマをベースに、生成したい画像の要素を定義します。
「このJSONをStable Diffusion用のプロンプトタグに変換して」と指示します。
変換されたタグをStable DiffusionやMidjourneyに入力して生成します。
生成された画像の情報(シード値、設定など)をJSONに追記して管理します。
5. 実践テクニック:JSONプロンプトの最適化
5.1 階層構造を活用したバリエーション生成
JSONの階層構造を利用すれば、特定の属性だけを変更した複数バリエーションを効率的に生成できます。
// ベースのJSON(color.dominant だけ変更)
"color": { "dominant": "amber" } // バージョンA
"color": { "dominant": "emerald" } // バージョンB
"color": { "dominant": "ruby" } // バージョンC
5.2 ネガティブプロンプトの構造化
「生成してほしくないもの」もJSON化することで、より明確な制御が可能です。
"exclude": {
"elements": ["人物", "テキスト", "ロゴ"],
"defects": ["歪み", "ノイズ", "低解像度"],
"styles": ["アニメ調", "漫画風"]
}
5.3 テンプレートライブラリの構築
用途別にJSONテンプレートを用意しておけば、作業効率が劇的に向上します。
- product_photography.json – 商品撮影用
- character_portrait.json – キャラクター肖像用
- landscape_scene.json – 風景シーン用
- technical_diagram.json – 技術図解用
6. 生成AIを快適に動かす環境を整える
JSONプロンプトを駆使して「究極の1枚」を生成するには、試行回数が重要です。ローカル環境(Stable Diffusion)で高速に生成を回すなら、VRAM容量の多いGPUを搭載したBTOパソコンが必須となります。
いきなりPCを新調せず試行回数だけ増やしたい場合は、Google Colab Pro(A100)などのクラウドGPUで回してから必要スペックを見極める手もあります。
推奨サイコム(Sycom)
構成のカスタマイズ幅が広く、VRAMの多いGPUや大容量メモリを指定して組めます。生成AI向けに冷却まで含めて詰めたい場合に向いています。
- GPU: RTX 5070 以上(VRAM 12GB以上)
- メモリ: 32GB以上(大量バッチ処理時)
- ストレージ: NVMe SSD 1TB以上(モデルとデータ用)
また、カフェや出先の公衆Wi-Fiから生成AIのサービスやクラウドに作業データを送るなら、通信を暗号化するVPNも選択肢です。
定番NordVPN
公衆Wi-Fiなどでの通信を暗号化して守れます。なお、提供地域が限られたサービスをVPNで使う使い方はおすすめしません(多くのサービスが利用規約で利用できる地域を定めています)。
7. まとめ:プロンプトは「書く」から「設計する」へ
画像生成AIは、遊びのフェーズから実務のフェーズへと移行しています。
JSON構造化プロンプトは、AIを「魔法の杖」から「精密な工作機械」へと変えるための鍵です。まずは先ほどのマスタースキーマをコピーして、あなたの作りたい世界観を定義してみてください。
すぐに試せるアクション:
- 上記のマスタースキーマをテキストエディタにコピー
main_subject.entityを自分の作りたいものに変更- ChatGPTに「このJSONから画像を生成して」と指示
- 結果を見て、JSONの値を微調整
次回予告:
このJSONプロンプトをPythonスクリプトで自動生成し、寝ている間に1000枚の画像を生成する「完全自動化ワークフロー」について解説予定です。

コメント