Ad Formats¶
Pablo supports three types of ad creatives: image ads, video ads, and carousel ads, with different asset placements for optimal display across Meta platforms.
Image Ads¶
Single-image ads with one primary asset, plus optional placement-specific formats.
Creating Image Ads¶
Notion
1. Set `ad_media_type` = `static` (`image` also works) 2. Upload the image to the `ad_asset` property 3. Optional: add `ad_asset_mid` for 4:5 ratio and/or `ad_asset_vertical` for 9:16 ratio 4. Populate all other [required fields](schema.md) 5. [Trigger your webhook automation](../integrations/notion.md)API
{
"ad_name": "Summer Sale Hero",
"ad_headline": "50% Off Everything",
"ad_body": "Limited time summer sale. Shop now!",
"ad_cta_label": "SHOP_NOW",
"ad_link_url": "https://example.com/sale",
"ad_media_type": "static",
"ad_asset_url": "https://cdn.example.com/summer-hero.jpg",
"destination_ad_account_id": "123456789",
"destination_adset_id": "987654321",
"destination_template_ad_id": "555666777"
}
Refer to Meta's specifications for Image Ads.
Video Ads¶
Video-based creatives. The thumbnail is generated automatically from the video — there is no thumbnail field to supply.
Creating Video Ads¶
Notion
1. Set `ad_media_type` = `video` 2. Upload the video to the `ad_asset` property 3. Optional: add `ad_asset_mid` for 4:5 ratio and/or `ad_asset_vertical` for 9:16 ratio 4. Populate all other [required fields](schema.md) 5. [Trigger your webhook automation](../integrations/notion.md)API
{
"ad_name": "Product Demo Video",
"ad_headline": "See It In Action",
"ad_body": "Watch our 30-second product demo",
"ad_cta_label": "WATCH_MORE",
"ad_link_url": "https://example.com/demo",
"ad_media_type": "video",
"ad_asset_url": "https://cdn.example.com/demo.mp4",
"destination_ad_account_id": "123456789",
"destination_adset_id": "987654321",
"destination_template_ad_id": "555666777"
}
Refer to Meta's specifications for Video Ads.
Carousel Ads¶
Multi-card swipeable ads with 2–10 cards. Cards can be images, videos, or a mix — each card's type is detected automatically.
Creating Carousel Ads¶
Notion
1. Set `ad_media_type` = `carousel` 2. Upload 2–10 files to the `ad_asset` property (order matters — card order follows upload sequence) 3. Optional: add matching files to `ad_asset_vertical` for a 9:16 version of each card 4. Populate all other [required fields](schema.md) 5. [Trigger your webhook automation](../integrations/notion.md)API
{
"ad_name": "Product Collection Carousel",
"ad_headline": "New Collection",
"ad_body": "Swipe to explore our latest products",
"ad_cta_label": "SHOP_NOW",
"ad_link_url": "https://example.com/collection",
"ad_media_type": "carousel",
"ad_asset_url": [
"https://cdn.example.com/product-1.jpg",
"https://cdn.example.com/product-2.jpg",
"https://cdn.example.com/product-3.jpg"
],
"destination_ad_account_id": "123456789",
"destination_adset_id": "987654321",
"destination_template_ad_id": "555666777"
}
Rules and notes:
- Card order is determined by upload sequence
- At least 2 cards; Meta caps carousels at 10 — extra cards are dropped with a warning
- Mid (4:5) assets are not supported on carousels alongside main assets — supplying both is a validation error
- If vertical (9:16) cards are supplied, the vertical count must equal the main count
- When multiple headlines are provided, cards can carry different headlines; the CTA is shared across all cards
- Each card links to the same destination URL
Multiple Text Options¶
ad_headline, ad_body, and ad_description each accept more than one option — either as an array (API) or via the numbered fields ad_headline_2…ad_headline_5, ad_body_2…ad_body_5, ad_description_2…ad_description_5 (Notion-friendly). Meta supports up to 5 options per slot.
When any slot has more than one option, Pablo builds a standard ad with Meta's multiple text options (optimization_type: DEGREES_OF_FREEDOM) — Meta picks the best combination per impression. This is not Dynamic Creative: the ad lives happily in a normal adset next to normal ads.
Trade-off: for image and video ads, using multiple text options disables placement-specific asset customization. One asset is chosen (main → mid → vertical fallback) and used across all placements. Choose multiple text options or S/M/V placement assets — not both. See Placement Assets.
Reference¶
- Field Schema - All fields, types, and validation rules
- Placement Assets - Asset optimization and placement priorities
- Notion Integration - Notion-specific setup
- API Integration - REST API documentation