meta_ads_creatives_create_dynamic
Generate dynamic ad creative where Meta auto-assembles and optimizes combinations from 2–10 images, 1–5 each of headlines, bodies, and CTAs. Meta learns best mix at serve time, eliminating manual testing.
Instructions
Creates a Dynamic Creative — Meta auto-generates and optimises combinations from multiple images, headlines, bodies, and CTAs. Returns the new creative id. Mutating, reversible via rollback_apply. Use when you want Meta to learn the best-performing asset mix rather than testing manually. For static single-image ads use meta_ads_creatives_create; for explicitly-controlled multi-card layouts use meta_ads_creatives_create_carousel. Supply 2–10 images, 1–5 of each text field; Meta combines them at serve time.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| account_id | Yes | Meta Ads account ID in the format 'act_XXXXXXXXXX' (e.g. 'act_1234567890'). Optional — falls back to META_ADS_ACCOUNT_ID from the configured credentials. The leading 'act_' prefix is required. | |
| name | Yes | Creative name shown in Ads Manager. | |
| page_id | Yes | Facebook Page ID that the ad will be published as. Must be a page the authenticated user has permission to post from. Required by Meta for every creative — ads cannot run without a page identity. | |
| image_hashes | Yes | Image hashes to include in the rotation. 2–10 recommended for meaningful optimization; Meta accepts up to 10. Upload via meta_ads_creatives_upload_image / meta_ads_images_upload_file first. | |
| bodies | Yes | Primary body text variants. 1–5 accepted. Meta recommends ≤125 characters per body. | |
| titles | Yes | Headline variants. 1–5 accepted. ~40 characters fits most placements. | |
| link_url | Yes | Destination URL shared across all combinations. Must be HTTPS and domain-verified. | |
| descriptions | No | Optional link-caption variants (0–5). Not all placements render these. | |
| call_to_actions | No | Optional CTA variants (0–5). Values drawn from the same set as meta_ads_creatives_create (LEARN_MORE / SIGN_UP / SHOP_NOW / etc.). |