Skip to main content
Glama

create_multi_asset_ad

Create an ad with multiple assets (video or static images), enforced Instagram identity, and optional auto-generated copy for Facebook and Instagram 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?

Despite no annotations, the description discloses important behaviors: enforced identity, support for two asset modes, blocking of mixed video+image, and placement mode effects (full_meta requires Instagram identity and blocks if unavailable). However, it does not mention output format or error behavior.

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, bullet points, and lists, and front-loads the purpose. It is thorough but concise given the complexity; a minor redundancy exists (repeating 'not mixed' twice).

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?

The description covers core logic (asset modes, placement, copy modes) and parameter details, addressing Instagram gate and copy generation modes. It lacks information on return value or error handling, but the absence of an output schema makes this acceptable. Overall, it is complete for the tool's complexity.

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

Parameters5/5

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

With schema description coverage at 0%, the description compensates fully by explaining each parameter's purpose, default values, and constraints (e.g., copy_mode options, placement_mode options, conditions for video vs image hashes). This adds significant meaning beyond the schema's titles.

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 'Create an ad with enforced identity, multi-asset support, and verification' and distinguishes itself from sibling 'create_ad_creative' by noting that single image hash should use that tool instead. It explicitly defines two asset modes (VIDEO and STATIC IMAGE) and their conditions.

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 this tool (e.g., for multi-asset ads or single video) and when to use an alternative (single image hash should use create_ad_creative). It also details placement modes and their implications for Instagram identity requirements.

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