Skip to main content
REQUIRED: You MUST call select_meta_campaign_type first and complete ALL phases it describes (audience targeting research via search_meta_targeting/browse_meta_targeting, asset discovery via discover_meta_assets, and user approval) BEFORE calling this tool. IMPORTANT: This tool creates REAL campaigns that will spend money once activated. Campaign is created in PAUSED status for review. DO NOT USE for video ads - use create_meta_video_campaign instead. DO NOT USE for carousel/multi-image - use create_meta_carousel_campaign instead. This tool creates a complete Meta campaign with:
  1. Campaign (objective, budget)
  2. Ad Set (targeting, placements, schedule)
  3. Ad Creative (image, text, CTA)
  4. Ad (linking creative to ad set)
When to use this tool:
  • “Create a Facebook ad campaign”
  • “Launch an Instagram image ad”
  • “Set up a Meta traffic campaign”
  • “Create an ad with this image”
Required Parameters:
  • campaign_name: Name for the campaign
  • budget_daily: Daily budget in USD (min $1, recommend $5-20 for testing)
  • primary_text: Main ad text (recommended 125 chars for optimal display, longer text shows with “See More”)
  • headline: Headline below image (max 255 chars, recommended 40)
  • landing_page_url: Where users go when clicking
Image Source (choose ONE):
  • asset_bundle_id: From validate_and_prepare_meta_assets (recommended for new images)
  • existing_image_hash: From discover_meta_assets (for reusing existing images)
  • image_url: Direct URL (uploaded during creation - use validate_and_prepare for better error handling)
Optional Parameters:
  • facebook_page_id: Auto-detected from connected account. Only provide if multiple pages.
  • instagram_account_id: Auto-detected if linked. Enable Instagram placements.
  • objective: OUTCOME_TRAFFIC (default), OUTCOME_SALES, OUTCOME_LEADS, OUTCOME_AWARENESS
  • call_to_action: LEARN_MORE (default), SHOP_NOW, SIGN_UP, etc.
  • locations: Country codes (default: [‘US’]) or location objects from search_meta_targeting
  • age_min/age_max: Age targeting (18-65)
  • genders: [‘male’], [‘female’], or null for all
  • pixel_id: Meta Pixel ID for conversion tracking (required for OUTCOME_SALES)
  • pixel_event_name: Conversion event (PURCHASE, LEAD, etc.)
  • story_image_url: Different image for Stories/Reels (9:16, 1080x1920px). Uses asset_feed_spec.
  • right_column_image_url: Different image for Right Column (1.91:1, 1200x628px). Uses asset_feed_spec.
Multi-Placement Creatives: If the user wants different images for different placements (Feed, Stories, Right Column), provide story_image_url and/or right_column_image_url. The main image will be used for Feed. This uses Meta’s asset_feed_spec with asset_customization_rules instead of object_story_spec. After Creation — IMPORTANT:
  • This tool created 1 campaign + 1 ad set + 1 ad.
  • To add MORE ad sets (different targeting, audiences, or formats), use add_meta_ad_set with the returned campaign_id
  • To add MORE ads to the same ad set (A/B test copy/creative), use add_meta_ad with the returned ad_set_id
  • NEVER call this create tool again for the same campaign — that creates a SEPARATE campaign

OpenAPI

/api-reference/openapi.json post /api/v1/tools/create_meta_image_campaign/execute