Skip to main content
Glama

create_multi_asset_ad

Create multi-asset ads with enforced identity and placement verification. Supports video or static images across full Meta, Facebook-only, or Instagram-only placements.

Instructions

Create an ad with enforced identity, multi-asset support, and verification.

Supports two asset modes (not mixed):

  • VIDEO: If 9:16 and/or 1:1 videos provided, creates ONE ad with asset_feed_spec and placement mapping. Single video = simple mode.

  • STATIC IMAGE: If 2+ of image_1x1_hash/image_4x5_hash/image_9x16_hash provided, creates ONE ad with asset_feed_spec and placement mapping. Single image hash not accepted here - use create_ad_creative instead.

Mixed video + image is blocked. Provide one type only.

INSTAGRAM GATE: Enforced via placement_mode.

  • full_meta (default): requires IG identity, BLOCKS if unavailable

  • facebook_only: explicit FB-only, no IG placements

  • instagram_only: requires IG identity, BLOCKS if unavailable

Args: account_id: Ad account ID. adset_id: Target ad set ID. page_id: Facebook Page ID. ad_name: Ad name. primary_text: Main ad copy. Required for manual, auto-generated for auto/hybrid. headline: Headline text. Auto-generated for auto/hybrid if empty. destination_url: CTA destination URL. cta_type: CTA type (default LEARN_MORE). video_9x16_id: Vertical video ID (for Stories/Reels). video_1x1_id: Square video ID (for Feed). description: Optional description. copy_mode: 'manual' (default), 'auto' (generate from vault), 'hybrid'. angle_name: Marketing angle for auto/hybrid copy generation. icp_name: Target ICP for auto/hybrid copy generation. funnel_stage: 'tofu', 'mofu', 'bofu' for copy structure.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
account_idYes
adset_idYes
page_idYes
ad_nameYes
primary_textNo
headlineNo
destination_urlNo
cta_typeNoLEARN_MORE
video_9x16_idNo
video_1x1_idNo
image_1x1_hashNo
image_4x5_hashNo
image_9x16_hashNo
descriptionNo
copy_modeNomanual
angle_nameNo
icp_nameNo
funnel_stageNotofu
placement_modeNofull_meta
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries the full burden. It discloses key behaviors: enforced identity, asset modes, copy generation modes, Instagram gate, and blocking conditions. However, it does not mention return values or error handling, which would enhance transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with sections and clear bullet points. It is fairly lengthy but each section adds necessary context. Could be slightly more concise by trimming redundant phrasing, but overall it's appropriately front-loaded and organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of 19 parameters and no output schema, the description covers modes, constraints, and conditional logic well. It lacks return value information and could mention error scenarios. Still, it provides sufficient context for an AI agent to understand usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 0% description coverage, so the description adds significant value. It explains the purpose and conditional requirements for many parameters (e.g., copy_mode, placement_mode, video/image hashes). Some parameters like account_id have minimal explanations, but overall it clarifies usage beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it creates an ad with enforced identity, multi-asset support, and verification. It specifies two asset modes (VIDEO and STATIC IMAGE) with explicit conditions, distinguishing it from sibling tools like create_ad_creative (single image) and update_ad.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use each mode, what is blocked (mixed video+image, single image hash), and the Instagram gate via placement_mode. It also references the alternative tool create_ad_creative for single image cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/brandu-mos/konquest-meta-ads-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server