generate_brand_creative
Generate branded advertising images and designs using AI and company Brand DNA.
Writes creative
Creates or changes something in the account. Put it behind whatever review your agent uses.
What it does
Generate branded advertising images and designs using AI and company Brand DNA.
FLAT vs EDITABLE: this is the FLAT generator — it bakes the headline + CTA into the pixels and returns one finished PNG. For a creative the user can rearrange / retype / restyle before finalizing (the DEFAULT for a standalone "make me a creative" request), use generate_flexible_brand_creative instead. Use THIS flat tool when building an ad or feeding a campaign (the image flows straight into upload_image_creative -> create_update_image_ad, with no human edit-and-save step), or when a finished flat image / a batch of quick variations is explicitly wanted.
ALSO KNOWN AS: design ad, create ad image, make creative, generate banner, create advertisement visual, design campaign image, ad design, advertising artwork
KEYWORDS: design, creative, image, banner, ad, advertisement, visual, generate, create, artwork, graphic, brand, branded, logo, campaign asset
USE FOR:
- Creating new ad images/banners/creatives for campaigns
- Generating LinkedIn/Facebook/Instagram/Display ad visuals
- Making branded advertisements that match company style
- Designing campaign creative assets
WORKFLOW CONTEXT:
- PREREQUISITE: Call get_brand_kit first to check if brand exists
- NEXT STEPS: Use upload_image_creative to add to library, then create_update_image_ad
- PART OF: Campaign creation workflow (brand → creative → upload → ad → campaign)
COMMON QUERIES THAT NEED THIS:
- "create ads for my company"
- "design advertising images"
- "make branded banners"
- "generate creative for LinkedIn campaign"
- "I need ad visuals"
KEYWORDS: ad, advertisement, creative, image, banner, design, visual, brand, generate, create, linkedin, facebook, instagram, display, campaign asset
PROCESS: Checks for existing brand kit → (Creates brand kit only if missing) → Selects top 3 aligned reference ads → Enhances prompt with brand patterns → Generates optimized image → Returns URL (must upload before use in ads).
TEXT RULES:
- Wrap text in quotes: "Your Headline Here"
- Max 25 chars per phrase, 2-3 phrases max
- Good: "Boost ROI 30%" (13 chars) | Bad: "Supercharge Your Marketing Performance Today" (44 chars)
PLATFORMS: LinkedIn (16:9, B2B) | Facebook (1:1, eye-catching) | Instagram (4:5, mobile-first) | Display (16:9, high impact)
OUTPUT: Returns image URL. ALWAYS display/link the image for user to see.Arguments
| Argument | Type | Notes | |
|---|---|---|---|
domain |
string | required | Company domain to extract brand DNA from. Examples: 'docebo.com', 'metadata.io', 'bloomreach.com'. Do not include protocol (http/https). |
headline |
string | required | Primary headline text to display in the creative. Keep to 25 characters or fewer for optimal rendering (hard cap 40 — the image model truncates or garbles longer text). Used to select aligned reference ads and guide visual hierarchy. Examples: 'Boost ROI by 30%', 'AI-Powered Marketing', 'Drive More |
instructions |
string | required | Natural language instructions describing the desired creative. Will be enhanced with brand DNA patterns including proven layouts, CTAs, colors, and tones. Examples: 'Create a professional B2B ad with clean design', 'Generate announcement for new AI feature launch', 'Design case study visual with mod |
platform |
string | Target platform for the creative. Each platform has specific dimensions, text limits, and best practices that will be automatically applied. Default: 'linkedin' one of: linkedin, facebook, instagram, display, general |
|
include_logo |
boolean | Whether to include a logo overlay on the generated creative. Set to false to get the raw creative without any logo. Default: true | |
include_cta |
boolean | Whether to render a call-to-action (button or styled text link) in the creative. Set to false for surfaces that must not contain a CTA, e.g. stills that seed video ads, where the channel's ad unit provides the real CTA. Default: true | |
logo_position |
string | Force a specific logo position instead of using AI-recommended placement. If not provided, an AI model analyzes the creative to find the optimal position. one of: top-left, top-right, bottom-left, bottom-right |
|
logo_size_percent |
number | Logo width as a percentage of the image width (e.g., 15 means the logo occupies 15% of the image width). If not provided, the AI recommends an optimal size. Typical range: 10-30. | |
logo_url |
string | Optional direct URL to a logo image (e.g. the URL of a logo the user just uploaded in chat). When set, THIS logo is overlaid for this creative instead of the brand kit's logo or the one from Brandfetch. Use it when the user says things like 'use this logo' or 'use the logo I uploaded'. The uploaded | |
use_website_background |
boolean | Use the brand website's background color as the creative's dominant background; brand primary colors then appear as accents (CTA button, shapes, highlights). Default: true. Set false when the user wants a brand-colored or model-chosen background instead. Silently ignored when the brand kit has no re |
Request
curl
curl -s -X POST https://mcp-server.metadata.io/mcp \
-H "Authorization: $METADATA_PAT" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2025-11-25" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"generate_brand_creative","arguments":{"domain":"<domain>","headline":"<headline>","instructions":"<instructions>"}}}'
Response
No recorded response. This tool writes to the account, so it is never executed to build these docs.
The request above is still the exact shape to send. Nothing on this page is invented.
Related
Other creative tools: