AIでブランドを守る"視覚言語"の作り方
この記事は、視覚言語を「実際にどう作って、どう使うか」の実践編です。
視覚言語の構成
視覚言語は1つの長いプロンプトではなく、
抽象度ごとに分けたファイル群として持っています。全体像は次の3層です。
大きな方向性
どんな空気感で見せるか、どんな構造を基本にするか、何をよしとし、何を避けるかを定義する層。制作ルール
上位の視覚方針を、色・shape・タイポグラフィなど、実際の制作で使えるルールに変換する層。実行時の指示
今回の制作物では何を作るのか、どのルールを強く効かせるのか、どこを例外的に調整するのかを指定する層。
上の層ほど抽象的で安定、下の層ほど具体的でその場限り。
私の場合は、次のファイルに分けています。
◆大きな方向性ファイル
design.md
視覚言語の中心。ブランドの方向性・トーン・固定ルール・NG方向を書く
visual-language.json
design.md をAIが参照しやすいよう構造化したもの
◆制作ルールファイル
color ファイル
使ってよい色や配色パターンを定義する。
shape ファイル
使ってよいshapeや、その使い方を定義する。
typography ファイル
文字の扱いを定義する。見出し・本文・ラベルの方向性や、避けたい文字表現を書く。
この層では、上位の視覚方針を、実際の制作で使えるルールに落とします。
詳しいファイル構成や作り方は長くなるので、この記事では役割の紹介に留めます。
◆実行時の指示ファイル
実行時の指示は、生成時にAIへ渡すプロンプトです。
よく作る制作物の指示は、テンプレートとして保存しておくと再利用しやすくなります。
使い方
すべてのファイルを毎回使うわけではありません。
実際の運用では、作りたいものに合わせて、必要なファイルだけを選んで渡します。
まず大きな方向性だけ合わせたいときは、design.md や visual-language.json を使います。デザイン案を広げたい段階では、あまり細かく縛りすぎない方がよいこともあります。
ただし、案出しでも「色だけはブランドに寄せたい」場合は、color file を追加します。逆に、shapeに強くこだわらないなら、shape asset までは渡しません。
文字を使わないビジュアルなら、typography file も不要です。
登録済みshapeを使って厳密に仕上げたいときだけ、shape library や source inventory、SVG asset を渡します。
最後に、実行時のプロンプトで調整します。
たとえば、
「今回は案出しなので自由度を残す」
「色はブランドルールに寄せる」
「shapeは厳密に使わなくてよい」
「UI表現は抑える」
といった指示を加えます。
ここからは、上位ファイルである design.md と visual-language.json の中身を見ていきます。
design.md の書き方
design.md は、視覚言語のいちばん上位に置く方針書です。
テンプレートにしたので、 [ ] カッコの中を書き換えて使えます。
# Design System / Visual Direction
## [視覚言語の名前]
## 1. このファイルの役割
このファイルは、[ブランド名] の制作物に共通する上位の視覚方針を定義する。
目的は、個別の制作物ごとに細かい見た目を固定することではない。
どの制作物でも、[ブランド名] らしい判断ができるようにするための基準を与えることである。
ここで決めるのは、細かい色や素材IDではなく、
どんな空気感で見せるか、何をよしとし、何を避けるか、という判断基準である。
--- ## 2. Core Idea
[ブランド名] の視覚言語は、
[対象サービス / プロダクト] を、
[こう見せたい] ものとして見せるためのものである。
[ブランド名] の本質は、特定のパーツそのものではない。
本質は、[構造 / 色 / 余白 / タイポ / 形 / トーン] によって成立する。
--- ## 3. Core Tone
### 目指すトーン
[- 明るい - 整理されている - 親しみやすい - 信頼感がある]
### 避けるトーン
[- かわいすぎる - 無機質すぎる - 安っぽい]
--- ## 4. Visual Roots / Source Lineage
この視覚言語は、以下の視覚的な源流を参照する。
[- neo-brutalism の輪郭線 - 例:幾何学的なグラフィック表現]
ただし、それらをそのまま再現しない。
避けるものは以下である。
[- ネオンやグローに寄せすぎる]
目指すのは、参照元の雰囲気をそのまま真似ることではなく、
[ブランド名] に合う形で再構成することである。
--- ## 5. Fixed Principles
以下は、媒体や制作物が変わっても基本的に維持する。
### 5.1 構造
[- モジュール構造を基本にする]
### 5.2 タイポグラフィ
[- 見出しは太く、読みやすくする]
### 5.3 色
[- アクセントカラーは制御して使う]
### 5.4 線・面・質感
[- フラットで明快な面を基本にする]
### 5.5 プロダクト / ブランドとしての説得力
[ブランド名] の制作物は、偶然できた装飾ではなく、
意図を持って設計されたように見えることを重視する。
--- ## 6. 表現の強度
制作物の目的に応じて、表現の強度を切り替える。
### 抑える場合
[記事内の抽象挿絵、ブランドイメージ、ノベルティなど]
この場合は、[使わない要素] を避ける。
ブランドらしさは、[色 / 構造 / 余白 / タイポ / 形] で表現する
### 中程度に使う場合
[LPの補助ビジュアル、機能紹介、説明図など] 必要な要素だけを使い、
装飾になりすぎないようにする。
### 強く使う場合
[プロダクト画面、機能説明、操作イメージなど]
実際に使えそうな構造として見せる。
ただし、テンプレート的で無個性な見た目にはしない。
--- ## 7. Variable Rules
以下は、制作物の目的に応じて変えてよい。
[- レイアウト - 情報密度 - コピー量 - アクセントカラーの主従 - 図形や装飾の量 - UI表現の強度 - 媒体形式]
--- ## 8. Element Library
### 常に使いやすい要素
[- 太い輪郭線 - フラットな幾何学面]
### 必要な場合だけ使う要素
[- cards - panels - browser frame]
--- ## 9. Output Guidance
### バナー
[- 一目で読める構成にする]
### LP / Web
[- ブランドイメージではUIを抑える]
### 記事内挿絵 / 抽象グラフィック
[- 解説図になりすぎない]
### ノベルティ / グッズ - - -
[- UI画面をそのまま載せない]
--- ## 10. What Makes This Work
この視覚言語が成立する理由は以下である。
[1. 構造が強い 2. 色が遊んでも骨格が崩れない 3. UIがなくてもブランド感が残る 4. 幾何学文法が統一感を生む 5. 楽しいが制御されている]
--- ## 11. What Breaks It
以下をやると、ブランドらしさが壊れやすい。
[- 輪郭線が弱い - 色数が多すぎる - かわいさが強すぎる - UIパーツを入れすぎる]
--- ## 12. Hard NG Directions
以下は明確に避ける。
[- 強いグラデーション - ネオン、グロー - ガラスモーフィズム]
--- ## 13. Fixed vs Variable Summary
### Fixed
[- 明るいニュートラル背景 - 濃色の輪郭線]
### Variable
[- レイアウト - 情報密度 - UI表現の強度]
--- ## 14. Operational Guidance
### 出力がかわいすぎる場合
[- 丸さを減らす - 輪郭線を強くする]
### 出力が冷たすぎる場合
[- アクセントカラーを足す]
### 出力が散らかる場合
[- 要素数を減らす - 余白を増やす - 色数を絞る]
### 出力がテンプレート的に見える場合
[- ブラウザ枠やカードを減らす]
--- ## 15. Suggested Prompting Workflow
AIに制作させるときは、以下の順番で参照する。
[- design.md を読む - visual-language.json を読む - 必要に応じて、色・shape・タイポグラフィの具体ファイルを読む…]
確認項目:
[- ブランドらしい構造になっているか - 色がぶれていないか… ]
--- ## 16. Short Definition for Reuse
[ブランド名] は、[対象となるサービス / プロダクト] を、
[主要な視覚要素] によって、
[目指す印象] として見せる視覚言語である。
--- ## 17. AI向け短いスタイルタグ
[ブランドらしさを表す短い言葉]
[構造を表す言葉]
[トーンを表す言葉]
[避けたい方向の逆を表す言葉]
[制作物に共通する印象]
各セクションの意味はこちら
* **このファイルの役割** … 何を定義するファイルかを書く
* **Core Idea** … ブランドをどう見せたいかを書く
* **Core Tone** … 目指す印象と避ける印象を書く
* **Visual Roots / Source Lineage** … 参考にする視覚的な源流を書く
* **Fixed Principles** … どの制作物でも守る基本ルールを書く
* **UI Expression Level** … UI表現をどの程度使うかの基準を書く
* **Variable Rules** … 制作物ごとに変えてよい要素を書く
* **Element Library** … 使いやすい視覚要素を整理する
* **Output Guidance** … 媒体ごとの注意点を書く
* **What Makes This Work** … この見た目が成立する理由を書く
* **What Breaks It** … ブランドらしさが崩れる条件を書く
* **Hard NG Directions** … 明確に避ける表現を書く
* **Fixed vs Variable Summary** … 固定要素と可変要素をまとめる
* **Operational Guidance** … 出力がずれたときの直し方を書く
* **Suggested Prompting Workflow** … AIに渡すファイルの順番とレビュー方法を書く
* **Short Definition for Reuse** … 視覚言語を短く説明できる定義を書く
* **AI向け短いスタイルタグ** … 生成時に補助的に使う短いタグを書くvisual-language.jsonの書き方
visual-language.json は、design.md に書いた視覚方針を、AIが参照しやすい形に構造化するファイルです。
文章で長く説明するのではなく、トーン、構成、色、タイポグラフィ、UI表現、避ける方向などを項目ごとに分けて持たせます。
{
"visual_language_name": "[視覚言語の名前]",
"version": "1.0",
"summary": "[この視覚言語を一文で説明する]",
"core_idea": {
"japanese": "[このブランドをどう見せたいか]",
"english": "[AI生成時に使いやすい英語の短い説明]"
},
"emotional_tone": {
"primary": [
"[目指す印象1]",
"[目指す印象2]",
"[目指す印象3]"
],
"avoid": [
"[避けたい印象1]",
"[避けたい印象2]",
"[避けたい印象3]"
]
},
"typography_system": {
"headline_role": "[見出しの役割]",
"body_role": "[本文や小さな文字の役割]",
"principles": [
"[文字で守ること1]",
"[文字で守ること2]",
"[文字で避けること]"
]
},
"color_system": {
"base_logic": "[色の基本方針]",
"principles": [
"[色で守ること1]",
"[色で守ること2]",
"[色で避けること]"
]
},
"composition_philosophy": {
"core": "[構図の基本方針]",
"principles": [
"[構成で守ること1]",
"[構成で守ること2]",
"[構成で避けること]"
]
},
"graphic_language": {
"universal_elements": [
"[常に使いやすい視覚要素1]",
"[常に使いやすい視覚要素2]",
"[常に使いやすい視覚要素3]"
],
"contextual_elements": [
"[必要な場合だけ使う要素1]",
"[必要な場合だけ使う要素2]",
"[必要な場合だけ使う要素3]"
]
},
"ui_expression_level": {
"default": "contextual",
"rule": "[UI表現をどう扱うか]",
"levels": {
"none": "[UIを使わない場合]",
"low": "[UIを弱く使う場合]",
"medium": "[UIを中程度に使う場合]",
"high": "[UIを強く使う場合]"
}
},
"non_negotiables": [
"[絶対に守る要素1]",
"[絶対に守る要素2]",
"[絶対に守る要素3]"
],
"avoid_rules": [
"[明確に避ける表現1]",
"[明確に避ける表現2]",
"[明確に避ける表現3]"
],
"review_checklist": [
"[生成後に確認すること1]",
"[生成後に確認すること2]",
"[生成後に確認すること3]"
]
}各項目の役割はざっくりこうです。
visual_language_name … 視覚言語の名前
summary … 視覚言語を一文で説明する
core_idea … ブランドをどう見せたいかを書く
emotional_tone … 目指す印象と避ける印象を書く
typography_system … 文字の役割と避ける表現を書く
color_system … 色の使い方の方針を書く
composition_philosophy … 構図やレイアウトの考え方を書く
graphic_language … 使いやすい視覚要素を整理する
ui_expression_level … UI表現をどの程度使うかの基準を書く
non_negotiables … 絶対に守る要素を書く
avoid_rules … 明確に避ける表現を書く
review_checklist … 生成後に確認する項目を書くポイントは、design.md の内容をそのままJSONに貼るのではなく、AIが判断しやすい単位に分解することです。
たとえば design.md で、
「楽しいが幼くしない」と書いていたら、
visual-language.json では、
{
"emotional_tone": {
"primary": ["playful", "friendly"],
"avoid": ["childish", "toy-like", "overly cute"]
}
}のように、目指す方向と避ける方向を分けて書きます。
visual-language.json は、人間に読ませる説明書というより、AIが制作時に参照する判断表です。そのため、長い文章よりも、短い項目と配列で整理しておく方が使いやすくなります。
おわりに
今回は、視覚言語を1つの長いプロンプトではなく、複数のファイルに分けて持つ考え方を書きました。
design.md と visual-language.json は、AIに細かく命令するためのものではなく、ブランドらしい判断に戻るための上位ファイルです。
流れ的にはこの上位方針を実制作で使えるルールの作り方ですが、
そのまえに、そもそも視覚言語使うことは意味あるのか?を実際に生成した画像をふまえて見てみたいと思います。
つづく。
関連記事
