Skip to main content
brand.json ファイルは、ブランドがアイデンティティを主張し、発見可能なブランド情報を確立するための標準化された方法を提供します。異なるユースケースに対応するため、相互に排他的な4つのバリアントをサポートします。
brand.json はブランドアイデンティティデータの正規ソースです。ここで定義されるブランドオブジェクト(ロゴ、カラー、トーン、タグライン)は AdCP 全体で使用される単一のブランド定義です。タスクはドメインと brand_id でブランドを参照する — システムは brand.json またはレジストリから完全なアイデンティティを解決します。

ファイルの場所

ブランドは brand.json ファイルを次の場所にホストする:
https://example.com/.well-known/brand.json
RFC 8615 の well-known URI 慣例に従う。

バリアント

brand.json ファイルは相互に排他的な4つのバリアントをサポートする:

1. 権威ある場所へのリダイレクト

別の URL にホストされた brand.json を指す:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/brand.json",
  "authoritative_location": "https://adcontextprotocol.org/brand/abc123/brand.json"
}
使用場面:
  • brand.json が中央集権的にホストされている場合(例: サービスプロバイダーによる)
  • CDN 配布が必要な場合
  • マネージドブランドサービス

2. ハウスリダイレクト

完全なブランドポートフォリオを含むハウスドメインを指す:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/brand.json",
  "house": "nikeinc.com",
  "note": "Regional site - see house for brand portfolio"
}
オプションフィールド:
  • region: ISO 3166-1 alpha-2 国コード(例: “CN”)
  • note: 説明テキスト
使用場面:
  • ブランドドメインがより大きなハウスに所有されている場合
  • 地域/ローカライズされたドメインがメインハウスを指す場合
  • レガシードメインが正規ドメインにリダイレクトする場合

3. ブランドエージェント

ブランド情報を提供する MCP エージェントを指定します:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/brand.json",
  "version": "1.0",
  "brand_agent": {
    "url": "https://agent.acme.com/mcp",
    "id": "acme_brand_agent"
  }
}
オプションフィールド:
  • contact: 連絡先情報
ブランドがエージェントを持つ場合、エージェントがブランドアイデンティティデータの権威あるソースとなります。

4. ハウスポートフォリオ

すべてのブランドとプロパティを含む完全なブランド階層:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/brand.json",
  "version": "1.0",
  "house": {
    "domain": "nikeinc.com",
    "name": "Nike, Inc.",
    "architecture": "hybrid"
  },
  "brands": [
    {
      "id": "nike",
      "names": [{"en": "Nike"}],
      "keller_type": "master",
      "properties": [
        {"type": "website", "identifier": "nike.com", "primary": true}
      ]
    }
  ]
}

ハウス定義

ハウスオブジェクトは法人組織を表します:
フィールド必須説明
domainstringYesハウスのプライマリドメイン
namestringYes表示名
namesarrayNoローカライズされた名前
architectureenumNobranded_househouse_of_brands、または hybrid

ブランド定義

brands 配列内の各ブランド:
フィールド必須説明
idstringYesブランド識別子(小文字英数字とアンダースコア)
namesarrayYesローカライズされた名前(以下参照)
keller_typeenumNomastersub_brandendorsedindependent
parent_brandstringNo親ブランドの id
propertiesarrayNoブランドが所有するデジタルプロパティ
brand_agentobjectNoブランドアイデンティティデータを提供するエージェント { url, id }
rights_agentobjectNo権利ライセンスエージェント { url, id, available_uses, right_types, countries }
logosarrayNoブランドロゴアセット
colorsobjectNoブランドカラーパレット
fontsobjectNoブランドタイポグラフィ
toneobjectNoブランドの声とメッセージガイドライン(voiceattributesdosdonts
taglinestringNoブランドのタグラインまたはスローガン
visual_guidelinesobjectNo生成クリエイティブシステム向けの構造化ビジュアルルール

名前配列

名前は言語コードでローカライズされます:
{
  "names": [
    {"en": "Nike"},
    {"en": "The Swoosh"},
    {"zh": "耐克"},
    {"ja": "ナイキ"}
  ]
}
言語ごとに複数のエントリが許可されます(エイリアス用)。

Keller タイプ

マーケティング理論によるブランドアーキテクチャの分類:
タイプ説明
masterハウスの主要ブランドNike, Inc. の Nike
sub_brand親ブランド名を引き継ぐNike SB
endorsed独立したアイデンティティ、親に支持される”by Nike” の Air Jordan
independentハウスから独立して運営Converse

ビジュアルガイドライン

visual_guidelines オブジェクトは、生成クリエイティブシステムがブランドに沿ったアセットを一貫して制作するために使用できる構造化ルールを提供します。これらはブランド定数 — キャンペーンごとに変わりません。
ビジュアルガイドラインは基本的なアイデンティティフィールド(colorsfontslogos)を補完します。Colors はブランドパレットが 何であるか を定義し、ビジュアルガイドラインはその 使い方 を定義します。Fonts はフォントファミリーを定義し、ビジュアルガイドラインはタイプスケールを定義します。

写真

ブランドの写真が選択または生成される際の見た目をコントロールする:
{
  "photography": {
    "realism": "natural",
    "lighting": "soft daylight",
    "color_temperature": "warm",
    "contrast": "medium",
    "depth_of_field": "medium",
    "subject": {
      "people": {
        "age_range": "25-45",
        "diversity": "mixed",
        "mood": ["confident", "relaxed"]
      },
      "product_focus": "in-use",
      "setting": "outdoor"
    },
    "framing": {
      "subject_position": "center-left",
      "crop_style": "waist-up",
      "perspective": "eye-level"
    }
  }
}
フィールド説明
realismenumnaturalstylizedhyperrealabstract
lightingstring照明スタイルの説明
color_temperatureenumwarmneutralcool
contrastenumlowmediumhigh
depth_of_fieldenumshallowmediumdeep
subjectobject被写体ガイドライン(人物、製品フォーカス、設定)
framingobjectカメラフレーミングルール(位置、クロップ、視点)
preferred_aspect_ratiosarray推奨アスペクト比(例: ["16:9", "4:5", "1:1"]
tagsarray追加のスタイル記述子

グラフィックスタイル

ブランドのグラフィックとイラストのビジュアル言語を定義します:
{
  "graphic_style": {
    "style_type": "flat_illustration",
    "stroke_style": "rounded",
    "stroke_weight": "2px",
    "corner_radius": "12px"
  }
}
スタイルタイプ: flat_illustrationgeometricgradient_mesheditorial_collagehand_drawnminimal_line_art3d_renderisometricphotographic_composite
フィールド説明
style_typeenumflat_illustrationgeometricgradient_mesheditorial_collagehand_drawnminimal_line_art3d_renderisometricphotographic_composite
stroke_styleenumroundedsquaremixednone
stroke_weightstringストローク幅(例: 2px
corner_radiusstring角丸要素のコーナー半径(例: 12px
tagsarray追加のスタイル記述子

シェイプ

ビジュアルアイデンティティの一部として使用されるブランドシェイプ:
{
  "shapes": {
    "primary_shape": "circle",
    "secondary_shapes": ["rounded_rectangle", "diagonal_wave"],
    "usage": {
      "max_per_layout": 2,
      "overlap_allowed": true
    }
  }
}
フィールド説明
primary_shapestringプライマリブランドシェイプ(例: circlerounded_rectanglehexagon
secondary_shapesarrayブランドのビジュアル語彙のセカンダリシェイプ
usage.max_per_layoutintegerレイアウトあたりの最大シェイプ数
usage.overlap_allowedbooleanシェイプの重なりを許可するか

アイコノグラフィー

アイコンスタイルシステムと使用ルール:
{
  "iconography": {
    "style": "outline",
    "stroke_weight": "2px",
    "corner_style": "rounded",
    "usage": {
      "max_per_frame": 3,
      "size_ratio": "1:8"
    }
  }
}
フィールド説明
styleenumoutlinefilledduotoneflatglyphhand_drawn
stroke_weightstringアイコンストローク幅(例: 2px
corner_styleenumroundedsquaremixed
usage.max_per_frameintegerクリエイティブフレームあたりの最大アイコン数
usage.size_ratiostringアイコンとレイアウトのサイズ比(例: 1:8

コンポジション

オーバーレイ、テクスチャー、バックグラウンドのレイアウトルール:
{
  "composition": {
    "overlays": {
      "gradient_style": "linear",
      "gradient_direction": "45deg",
      "opacity": "70%"
    },
    "texture": {
      "style": "subtle_grain",
      "intensity": "low"
    },
    "backgrounds": {
      "types_allowed": ["solid_color", "gradient", "image"]
    }
  }
}
テクスチャースタイル: nonesubtle_grainnoisepaperfabricconcrete。強度: lowmediumhigh バックグラウンドタイプ: solid_colorgradientblurred_photoimagevideopatterntransparent

グラフィックエレメント

ブランドアイデンティティの一部である再利用可能な装飾的または構造的ビジュアルエレメント — 破れた紙の端、ウォーターマーク、ディバイダー、バックグラウンドパターン:
{
  "graphic_elements": [
    {
      "name": "Paper Tear",
      "type": "frame",
      "description": "Torn paper edge used as section dividers and photo frames. Use primarily vertical orientation.",
      "orientation": "vertical",
      "colors": ["#a75230", "#f6f1f1", "#fba007"],
      "max_per_layout": 2
    },
    {
      "name": "Location Sketch Watermark",
      "type": "watermark",
      "description": "Light hand-drawn building sketch behind content, visible through the logo area",
      "colors": ["#a75230"]
    }
  ]
}
フィールド必須説明
namestringYesエレメント名
typeenumNoborderdividerframewatermarkpatterntexture_overlaydecorative
descriptionstringNoレイアウトでのエレメントの使用方法
orientationenumNohorizontalverticalany
colorsarrayNoこのエレメントに使用できるカラー
max_per_layoutintegerNoレイアウトあたりの最大インスタンス数

モーション

動画、アニメーションディスプレイ、インタラクティブフォーマット向けのモーションとアニメーションルール:
{
  "motion": {
    "transition_style": "dissolve",
    "animation_speed": "moderate",
    "easing": "ease-in-out",
    "text_entrance": "fade",
    "pacing": "lingering",
    "kinetic_typography": false
  }
}
フィールド説明
transition_styleenumcutdissolveslidewipezoomfade
animation_speedenumslowmoderatefast
easingstringデフォルトのイージング関数(例: ease-in-outspringlinear
text_entranceenumfadetypewriterslide_upslide_leftscalenone
pacingenumlingeringmoderatefast_cuts
kinetic_typographybooleanアニメーション/キネティックタイポグラフィを許可するか
tagsarray追加のモーションスタイル記述子

ロゴ配置

自動クリエイティブ制作のためのロゴ配置とクリアスペースルール:
{
  "logo_placement": {
    "preferred_position": "bottom-left",
    "min_clear_space": "0.5x",
    "min_height": "40px",
    "background_contrast": "any"
  }
}
フィールド説明
preferred_positionenumtop-lefttop-centertop-rightbottom-leftbottom-centerbottom-rightcenter
min_clear_spacestringロゴ高さの倍数(例: 0.5x1x)または固定値(例: 16px)としての最小クリアスペース
min_heightstring判読性のための最小ロゴ高さ(例: 40px
background_contrastenumlight_onlydark_onlyany

カラーウェイ

カラーが一緒にどう機能するかを定義する名前付きカラーペア。クリエイティブブリーフで「プライマリカラーウェイを使用して」と参照できるようになり、各カラーを個別に指定する必要がない:
{
  "colorways": [
    {
      "name": "primary",
      "foreground": "#FFFFFF",
      "background": "#FF6600",
      "accent": "#0066CC",
      "cta_foreground": "#FFFFFF",
      "cta_background": "#0066CC"
    },
    {
      "name": "inverted",
      "foreground": "#FF6600",
      "background": "#FFFFFF",
      "accent": "#0066CC",
      "border": "#FF6600"
    }
  ]
}
フィールド必須説明
namestringYesカラーウェイ名(例: "primary""inverted""dark"
foregroundhex colorYesテキスト/前景色
backgroundhex colorYes背景色
accenthex colorNoアクセントカラー
cta_foregroundhex colorNoコールトゥアクションのテキスト色
cta_backgroundhex colorNoコールトゥアクションのボタン色
borderhex colorNoボーダー色
channelsarrayNoこのカラーウェイが適用されるチャンネル(例: ["online"]["print", "pos"])。ユニバーサルカラーウェイの場合は省略。

タイプスケール

異なるテキストの役割のサイズとウェイトを定義するタイポグラフィスケール:
{
  "type_scale": {
    "base_width": "1080px",
    "heading": {
      "font": "primary",
      "size": "48px",
      "weight": "700",
      "line_height": "1.1"
    },
    "subheading": {
      "font": "primary",
      "size": "24px",
      "weight": "600",
      "line_height": "1.3"
    },
    "body": {
      "font": "secondary",
      "size": "16px",
      "weight": "400",
      "line_height": "1.5"
    },
    "caption": {
      "font": "secondary",
      "size": "12px",
      "weight": "400",
      "line_height": "1.4"
    },
    "cta": {
      "font": "primary",
      "size": "18px",
      "weight": "700",
      "text_transform": "uppercase",
      "letter_spacing": "0.05em"
    }
  }
}
font フィールドはブランドの fonts オブジェクトで定義されたフォントの役割("primary""secondary")を参照するか、フォントファミリー名を直接指定できます。 サイズがピクセルの場合、これらのサイズが設計された参照キャンバスを示すために base_width を使用します。生成システムは他のキャンバスサイズに比例してスケーリングする — 1080px 幅向けに設計された 48px の見出しは、320px のモバイルリーダーボードでは 14px にスケーリングされます。

アセットライブラリ

管理されたアセットライブラリ(アイコンセット、イラストシステム、画像コレクション)への参照。URL は人間アクセス用 — ブランドポータル、プレスキット、ブラウザで開ける DAM ランディングページ。
{
  "asset_libraries": [
    {
      "name": "Brand Illustrations v2",
      "type": "illustration_system",
      "url": "https://brand.example.com/illustrations",
      "description": "Flat illustration system with defined color guide",
      "color_guide": {
        "roles": ["base", "shadow_1", "shadow_2", "highlight_1", "highlight_2", "stroke"],
        "palettes": [
          {
            "name": "orange",
            "colors": {
              "base": "#FF6600",
              "shadow_1": "#CC5200",
              "shadow_2": "#993D00",
              "highlight_1": "#FF8533",
              "highlight_2": "#FFB380",
              "stroke": "#662900"
            }
          }
        ]
      }
    }
  ]
}
フィールド必須説明
namestringYesアセットライブラリの表示名
typeenum推奨icon_setillustration_systemimage_libraryvideo_librarytemplate_library
urlstring (URI)Yesアセットライブラリへの URL(人間アクセス用)
descriptionstringNoライブラリの内容と使用方法の説明
color_guideobjectNoライブラリで使用されるカラーロールとパレット
color_guide は生成システムにライブラリで使用されるカラーパレットを提供する — ライブラリにアクセスせずにブランドに沿ったイラストやアイコンを制作するのに役立つ。

制限

ビジュアルの禁止事項とガードレール — tone.donts のビジュアル版。生成システムに避けるべきことを伝える:
{
  "restrictions": [
    "Never place text over the product",
    "Do not use black backgrounds",
    "No stock photography of people on phones",
    "No split-screen layouts"
  ]
}

プロパティ定義

プロパティはブランドが所有するデジタルタッチポイントだ:
フィールド必須説明
typeenumYesプロパティタイプ(以下参照)
identifierstringYesドメインまたはアプリ ID
storeenumNoアプリストア(applegoogle など)
regionstringNoISO 国コードまたは global
primarybooleanNoプライマリプロパティか?

プロパティタイプ

AdCP の property-type enum に準拠:
  • website
  • mobile_app
  • ctv_app
  • desktop_app
  • dooh
  • podcast
  • radio
  • streaming_audio

解決アルゴリズム

ドメインを正規ブランドに解決するには:
  1. https://{domain}/.well-known/brand.json を取得
  2. バリアントを確認:
    • authoritative_location: その URL から取得し、ステップ2から継続
    • house(文字列): ハウスドメインから取得し、ステップ2から継続
    • brand_agent: エージェント URL を返す(エージェントがブランド情報を提供)
    • house(オブジェクト)+ brands: プロパティ内でドメインを検索
  3. ハウスポートフォリオの場合、クエリドメインをプロパティに含むブランドを見つける
  4. 正規ブランド情報を返す
最大リダイレクト深度: 3 ホップ。

完全な例

小規模ビジネス

{
  "$schema": "https://adcontextprotocol.org/schemas/v3/brand.json",
  "version": "1.0",
  "house": {
    "domain": "bobsburgers.com",
    "name": "Bob's Burgers LLC"
  },
  "brands": [
    {
      "id": "bobs_burgers",
      "names": [{"en": "Bob's Burgers"}],
      "keller_type": "master",
      "properties": [
        {"type": "website", "identifier": "bobsburgers.com", "primary": true}
      ],
      "logos": [
        { "url": "https://bobsburgers.com/logo.svg", "tags": ["icon"] }
      ],
      "colors": { "primary": "#FF6B35" }
    }
  ]
}

エージェント付きエンタープライズ

{
  "$schema": "https://adcontextprotocol.org/schemas/v3/brand.json",
  "version": "1.0",
  "brand_agent": {
    "url": "https://brand-agent.enterprise.com/mcp",
    "id": "enterprise_brand_agent"
  },
  "contact": {
    "name": "Enterprise Brand Team",
    "email": "brand@enterprise.com"
  }
}

マルチブランドポートフォリオ

{
  "$schema": "https://adcontextprotocol.org/schemas/v3/brand.json",
  "version": "1.0",
  "house": {
    "domain": "nikeinc.com",
    "name": "Nike, Inc.",
    "architecture": "hybrid"
  },
  "brands": [
    {
      "id": "nike",
      "names": [{"en": "Nike"}, {"zh": "耐克"}, {"ja": "ナイキ"}],
      "keller_type": "master",
      "properties": [
        {"type": "website", "identifier": "nike.com", "primary": true},
        {"type": "website", "identifier": "nike.cn", "region": "CN"},
        {"type": "mobile_app", "store": "apple", "identifier": "com.nike.omega"}
      ]
    },
    {
      "id": "air_jordan",
      "names": [{"en": "Air Jordan"}, {"en": "Jordan"}, {"en": "Jumpman"}],
      "keller_type": "endorsed",
      "parent_brand": "nike",
      "properties": [
        {"type": "website", "identifier": "jordan.com", "primary": true},
        {"type": "website", "identifier": "jumpman23.com"},
        {"type": "mobile_app", "store": "apple", "identifier": "com.nike.snkrs"}
      ]
    },
    {
      "id": "converse",
      "names": [{"en": "Converse"}],
      "keller_type": "independent",
      "properties": [
        {"type": "website", "identifier": "converse.com", "primary": true}
      ]
    }
  ],
  "contact": {
    "name": "Nike Brand Team",
    "email": "brand@nike.com"
  }
}

権利付きタレントエージェンシー

ライセンス可能な権利を持つアスリートブランドを管理するタレントエージェンシー:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/brand.json",
  "version": "1.0",
  "house": {
    "domain": "lotientertainment.com",
    "name": "Loti Entertainment",
    "architecture": "house_of_brands"
  },
  "brands": [
    {
      "id": "daan_janssen",
      "names": [{"en": "Daan Janssen"}],
      "description": "Dutch Olympic speed skater, 2x gold medalist",
      "industries": ["sports"],
      "logos": [
        {
          "url": "https://cdn.lotientertainment.com/janssen/headshot.jpg",
          "variant": "primary"
        }
      ],
      "brand_agent": {
        "url": "https://rights.lotientertainment.com/mcp",
        "id": "loti_entertainment"
      },
      "rights_agent": {
        "url": "https://rights.lotientertainment.com/mcp",
        "id": "loti_entertainment",
        "available_uses": ["likeness", "voice", "endorsement"],
        "right_types": ["talent"],
        "countries": ["NL", "BE", "DE"]
      }
    }
  ]
}
rights_agent フィールドは MCP 呼び出しなしにクローラーにライセンス可能なものを伝える — 利用可能な用途、権利タイプ、国。バイヤーエージェントはレジストリで「音声ライセンスに利用可能なオランダ人アスリート」を検索し、インデックス化された brand.json データからマッチを見つけることができます。

地域ドメインリダイレクト

nike.cn/.well-known/brand.json に:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/brand.json",
  "house": "nikeinc.com",
  "region": "CN"
}

キャッシュ

推奨キャッシュ TTL:
  • 正規ファイル: 24時間
  • リダイレクトファイル: 24時間
  • 失敗した検索: 1時間

ベストプラクティス

  1. シンプルに始める: 最小限の brand.json から始め、必要に応じて複雑さを追加します
  2. 子会社にはリダイレクトを使用する: ブランドドメインをハウスドメインに向ける
  3. すべてのプロパティをリストアップする: 地域ドメイン、アプリ、レガシードメインを含めます
  4. 名前を最新に保つ: ローカライズされた名前と一般的なエイリアスを含めます
  5. ビジュアルガイドラインはオプション: 生成システムがブランドに沿ったアセットを一貫して制作する必要がある場合に追加します。カラーウェイと制限から始める — これらは即座に最大の効果を発揮します。
  6. ポートフォリオを簡潔に保つ: 多くのブランドを持つハウスポートフォリオでは、必要なブランドにのみビジュアルガイドラインを含めます。大きなポートフォリオのすべてのブランドに完全なビジュアルガイドラインを含めると、ファイルサイズが大幅に増加します。