---
title: "generate_flexible_brand_creative. Metadata MCP tool reference"
url: https://metadata.io/developers/tools/generate_flexible_brand_creative
description: "Generate an EDITABLE, layered brand creative: a clean AI background scene (no baked text) plus AI-placed, editable text/CTA/logo layers. Writes tool on the Metadata MCP server, with its full JSON Schema."
source: metadata.io
---

# generate_flexible_brand_creative

Generate an EDITABLE, layered brand creative: a clean AI background scene (no baked text) plus AI-placed, editable text/CTA/logo layers.

Writes [creative](https://metadata.io/developers/tools/#cat-creative)

## What it does

## Arguments

| Argument | Type |   | Notes |
|---|---|---|---|
| `domain` | string | required | Company domain for brand DNA (e.g. 'metadata.io'). No protocol. |
| `instructions` | string | required | Natural-language direction for the background scene and overall creative (e.g. 'clean B2B scene for an AI analytics launch'). |
| `platform` | string |   | Target platform (sets the default aspect ratio). Default: 'linkedin'.one of: `linkedin`, `facebook`, `instagram`, `reddit`, `display`, `general` |
| `aspect_ratio` | string |   | Canvas shape, overriding the one 'platform' implies. Pass this whenever the user names a size or shape: '1:1' for square (e.g. 1080x1080), '16:9' for wide/landscape, '9:16' for a full-height story, '4:5' for portrait. Omit to keep the platform's default shape.one of: `1:1`, `16:9`, `9:16`, `4:5` |
| `headline` | string |   | Headline copy to place as an editable layer. |
| `subheadline` | string |   | Optional subheadline copy. |
| `body` | string |   | Optional supporting body copy. Pass ONLY when the user explicitly asked for body copy — extra layers crowd the layout. |
| `cta` | string |   | Optional call-to-action button text (e.g. 'Learn more'). |
| `disclaimer` | string |   | Optional fine-print/disclaimer copy. Pass ONLY when the user explicitly asked for a disclaimer. |
| `include_logo` | boolean |   | Add a brand logo layer (resolved from the brand kit). Default: true. |

## Request

**Request template, not a complete runnable example.** Replace placeholders, empty objects, arrays, and zero values with valid account-specific inputs. Read required fields and nested constraints in the full schema. Confirm the account, connected channels, and referenced assets before calling a write tool.

## Response

## Related

Other creative tools:

- [archive_ad](https://metadata.io/developers/tools/archive_ad) Destructive
- [create_update_carousel_ad](https://metadata.io/developers/tools/create_update_carousel_ad) Destructive
- [create_update_convo_ad](https://metadata.io/developers/tools/create_update_convo_ad) Destructive
- [create_update_document_ad](https://metadata.io/developers/tools/create_update_document_ad) Destructive
- [create_update_google_ads_ad](https://metadata.io/developers/tools/create_update_google_ads_ad) Destructive
- [create_update_image_ad](https://metadata.io/developers/tools/create_update_image_ad) Destructive
- [create_update_linkedin_message_ad](https://metadata.io/developers/tools/create_update_linkedin_message_ad) Destructive
- [create_update_microsoft_ads_ad](https://metadata.io/developers/tools/create_update_microsoft_ads_ad) Destructive

[Browse the tool catalog](https://metadata.io/developers/tools/) · [machine-readable index](https://metadata.io/developers/tools.json)
