Skip to content

Brand Context

Brand context is your brand's identity distilled into a format the AI can use. It ensures every piece of generated content matches your voice, visual style, and messaging guidelines.

Why Brand Context Matters

Without brand context, AI-generated content is generic. It might be well-written, but it won't sound like you.

Brand context solves this by providing:

  • Voice guidelines — How your brand speaks
  • Visual identity — How your brand looks
  • Content rules — What to say (and not say)
  • Examples — What good content looks like

Brand Context Structure

{
  "id": "brc_3yL0mPqR5wN9tU4v",
  "tenant_id": "tnt_xxx",

  "voice": {
    "tone": "professional yet approachable",
    "personality": ["knowledgeable", "helpful", "direct", "innovative"],
    "writing_style": "Clear, concise sentences. Active voice. Technical when needed, but accessible.",
    "formality": "business_casual",
    "humor": "subtle, never forced",
    "emoji_usage": "minimal, only when natural"
  },

  "visual_identity": {
    "primary_color": "#7c3aed",
    "secondary_color": "#f59e0b",
    "accent_colors": ["#10b981", "#3b82f6"],
    "logo_url": "https://cdn.amp.dev/brands/xxx/logo.svg",
    "image_style": "modern, clean, tech-focused",
    "photo_style": "authentic, diverse, professional",
    "illustration_style": "geometric, minimal, bold colors"
  },

  "messaging": {
    "tagline": "Build better APIs, faster",
    "value_propositions": [
      "Reduce API development time by 60%",
      "Built-in best practices and security",
      "Developer experience first"
    ],
    "key_differentiators": [
      "Only platform with automatic SDK generation",
      "99.99% uptime guarantee",
      "24/7 developer support"
    ]
  },

  "content_guidelines": {
    "topics": [
      "API design patterns",
      "Developer experience",
      "Technical tutorials",
      "Industry trends"
    ],
    "excluded_topics": [
      "Politics",
      "Religion",
      "Competitor criticism",
      "Pricing details",
      "Unreleased features"
    ],
    "hashtag_preferences": {
      "always_use": ["#DevTools"],
      "sometimes_use": ["#API", "#DeveloperExperience", "#TechTips"],
      "never_use": ["#FollowForFollow"]
    },
    "cta_style": "soft sell, value-first approach",
    "link_preferences": {
      "primary_destination": "https://docs.yourcompany.com",
      "use_utm_parameters": true
    }
  },

  "audience": {
    "primary": {
      "role": "Software Engineers",
      "seniority": "Mid to Senior",
      "interests": ["APIs", "Developer Tools", "Cloud Infrastructure"]
    },
    "secondary": {
      "role": "Engineering Managers",
      "interests": ["Team Productivity", "Technical Decisions"]
    }
  },

  "competitors": [
    {
      "name": "Competitor A",
      "positioning": "We offer better DX and faster onboarding",
      "never_mention": true
    }
  ],

  "examples": {
    "good_posts": [
      {
        "platform": "twitter",
        "text": "APIs shouldn't feel like puzzles. That's why we rebuilt ours from scratch—73% fewer support tickets later, here's what we learned:",
        "why_good": "Clear hook, specific metric, promises value"
      }
    ],
    "bad_posts": [
      {
        "platform": "twitter",
        "text": "Check out our amazing API! It's the best! 🚀🚀🚀",
        "why_bad": "Generic, no value, excessive emoji, salesy"
      }
    ]
  },

  "created_at": "2024-01-10T10:00:00Z",
  "updated_at": "2024-01-15T14:30:00Z"
}

Creating Brand Context

Automatic Extraction

The fastest way to create brand context is automatic extraction from your website:

curl -X POST https://api.amp.dev/v1/onboard/quick \
  -H "Authorization: Bearer $AMP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "website_url": "https://yourcompany.com",
    "additional_urls": [
      "https://yourcompany.com/about",
      "https://yourcompany.com/blog"
    ],
    "platforms": ["twitter", "linkedin"]
  }'

AMP will:

  1. Scrape your website and linked pages
  2. Extract visual identity (colors, fonts, imagery)
  3. Analyze copy for voice and tone patterns
  4. Identify key topics and messaging
  5. Build a complete brand context

Manual Configuration

For full control, configure brand context manually:

curl -X POST https://api.amp.dev/v1/brand \
  -H "Authorization: Bearer $AMP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "voice": {
      "tone": "professional yet approachable",
      "personality": ["knowledgeable", "helpful"],
      "writing_style": "Clear, concise. Active voice.",
      "formality": "business_casual"
    },
    "visual_identity": {
      "primary_color": "#7c3aed",
      "image_style": "modern, clean"
    },
    "content_guidelines": {
      "topics": ["API design", "developer tools"],
      "excluded_topics": ["politics", "competitors"]
    }
  }'

Hybrid Approach

Start with automatic extraction, then refine:

# 1. Extract initial context
curl -X POST https://api.amp.dev/v1/onboard/quick \
  -H "Authorization: Bearer $AMP_API_KEY" \
  -d '{"website_url": "https://yourcompany.com"}'

# 2. Review and update
curl -X PUT https://api.amp.dev/v1/brand/brc_xxx \
  -H "Authorization: Bearer $AMP_API_KEY" \
  -d '{
    "voice": {
      "tone": "more casual than detected"
    }
  }'

Voice Profile

The voice profile defines how your brand communicates.

Tone

Overall emotional quality:

Tone Best For
professional B2B enterprise
casual Consumer brands
technical Developer tools
inspirational Personal brands
playful Consumer apps

Personality Traits

Character attributes (select 3-5):

  • knowledgeable — Expert in the field
  • helpful — Focused on user value
  • direct — Gets to the point
  • innovative — Forward-thinking
  • friendly — Warm and approachable
  • confident — Self-assured
  • humble — Understated

Writing Style

Specific guidelines:

{
  "writing_style": "Short paragraphs. One idea per sentence. Technical terms okay, but always explain acronyms. Use 'you' to address the reader directly. Avoid passive voice."
}

Formality Levels

Level Description Example
formal Traditional business "We are pleased to announce..."
business_casual Professional but relaxed "Excited to share that..."
casual Conversational "Hey! Just dropped something cool..."
informal Very relaxed "yo we just shipped something wild"

Visual Identity

Controls how visual content is generated.

Color Palette

{
  "visual_identity": {
    "primary_color": "#7c3aed",
    "secondary_color": "#f59e0b",
    "accent_colors": ["#10b981", "#3b82f6"],
    "background_color": "#ffffff",
    "text_color": "#1f2937"
  }
}

Image Style

Describe the aesthetic for generated images:

{
  "visual_identity": {
    "image_style": "Clean, modern tech aesthetic. Geometric shapes. Bold flat colors. Minimal gradients.",
    "photo_style": "Authentic workplace photography. Diverse teams. Natural lighting. No obvious stock photos.",
    "illustration_style": "Abstract geometric. Bold primary colors. No drop shadows. Minimal detail."
  }
}

Content Guidelines

Topics

Define what content should cover:

{
  "content_guidelines": {
    "topics": [
      "API design best practices",
      "Developer productivity tips",
      "Industry news and trends",
      "Product tutorials and how-tos",
      "Team and company culture"
    ],
    "topic_weights": {
      "API design best practices": 0.3,
      "Developer productivity tips": 0.25,
      "Industry news and trends": 0.2,
      "Product tutorials and how-tos": 0.15,
      "Team and company culture": 0.1
    }
  }
}

Excluded Topics

What to never mention:

{
  "content_guidelines": {
    "excluded_topics": [
      "Political opinions",
      "Religious content",
      "Competitor names",
      "Internal pricing",
      "Unreleased features",
      "Customer data or specifics",
      "Employee personal information"
    ]
  }
}

Hashtag Strategy

{
  "content_guidelines": {
    "hashtag_preferences": {
      "always_use": ["#DevTools"],
      "platform_specific": {
        "twitter": ["#API", "#DeveloperExperience"],
        "linkedin": ["#SoftwareEngineering", "#TechLeadership"],
        "instagram": ["#coding", "#developer", "#tech"]
      },
      "never_use": ["#FollowForFollow", "#Like4Like"],
      "max_per_post": {
        "twitter": 3,
        "linkedin": 5,
        "instagram": 25
      }
    }
  }
}

Examples

Good and bad examples dramatically improve content quality.

Good Examples

{
  "examples": {
    "good_posts": [
      {
        "platform": "twitter",
        "text": "We analyzed 10,000 API designs. The ones developers loved had one thing in common: predictable error messages.\n\nHere's the pattern that works:",
        "why_good": "Data-driven hook, specific value, promises actionable insight"
      },
      {
        "platform": "linkedin",
        "text": "Last month, we shipped a feature that reduced our customers' API integration time from 2 weeks to 2 days.\n\nWe didn't add anything new. We removed 6 endpoints.\n\nSometimes the best feature is less complexity.",
        "why_good": "Story format, specific metrics, counterintuitive insight"
      }
    ]
  }
}

Bad Examples

{
  "examples": {
    "bad_posts": [
      {
        "platform": "twitter",
        "text": "Check out our new API! It's amazing and you'll love it! 🚀🔥💯",
        "why_bad": "No specific value, generic claims, excessive emoji"
      },
      {
        "platform": "linkedin",
        "text": "We're thrilled to announce the launch of our revolutionary platform that will change the way you think about APIs forever.",
        "why_bad": "Buzzwords, no specifics, sounds like every other announcement"
      }
    ]
  }
}

Updating Brand Context

Brand context can evolve:

curl -X PUT https://api.amp.dev/v1/brand/brc_xxx \
  -H "Authorization: Bearer $AMP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "voice": {
      "tone": "updated tone description"
    }
  }'

Changes affect all future content generation. Existing content is not regenerated.

Brand Context per Mission

Override brand context for specific missions:

curl -X POST https://api.amp.dev/v1/missions \
  -H "Authorization: Bearer $AMP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Conference Promotion",
    "brand_overrides": {
      "voice": {
        "tone": "more energetic and promotional"
      },
      "content_guidelines": {
        "hashtag_preferences": {
          "always_use": ["#TechConf2024"]
        }
      }
    }
  }'

Archivus: Brand Memory

AMP stores brand context in Archivus, a persistent brand memory system.

Voice Analysis

Archivus analyzes your existing content to extract voice patterns:

curl -X POST https://api.amp.dev/v1/brand/analyze-voice \
  -H "Authorization: Bearer $AMP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "source_urls": [
      "https://twitter.com/yourcompany",
      "https://linkedin.com/company/yourcompany"
    ],
    "sample_count": 50
  }'

Brand Sources

Connect external sources to keep brand context current:

curl -X POST https://api.amp.dev/v1/brand/sources \
  -H "Authorization: Bearer $AMP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "s3",
    "config": {
      "bucket": "your-brand-assets",
      "prefix": "guidelines/"
    },
    "watch": true
  }'

When brand guidelines change, AMP automatically updates the brand context.