A full ad campaign from one listing.
Pass a listing and your brand kit. Get every placement — feed, square, link, YouTube thumbnail and print flyer — sized, on-brand, with your headshot, broker attribution and the Equal Housing Opportunity mark.
POST/v1/studio/creatives/generate


- just_listed
- open_house
- price_improved
- just_sold
Every trigger, every placement
Just listed & open house
Launch creatives the moment a listing goes live, and again before the open house.
Price improved & just sold
Keep the campaign going through the listing’s whole lifecycle.
Compliance checks
Broker attribution, legal lines and the Equal Housing Opportunity logo in every result.
Every placement for one listing.
Sample listing, agent and brokerage are fictional; the headshot is AI-generated. Ads are real Studio API output.





One request. That’s the integration.
Authenticate with x-api-key or Authorization: Bearer — the same key as the Listings API.
- mls_idstring
- Pull photos and details from a listing. Or pass photo_url and property_details.
- photo_urlstring
- Hero photo, when not using mls_id.
- property_detailsobject
- address, price, beds, baths, sqft — anything left out is left off the ad.
- triggerenum
- just_listed · open_house · price_improved · just_sold
- directionenum
- magazine · bold · warm
- placementsenum[]
- feed_portrait · square · link · youtube · flyer
- include_carouselboolean
- Also return the rendered placements as an ordered carousel pack.
- brand_kitobject
- agent_name, brokerage_name, phone, license_number, agent_headshot_url, brand colors. Only what you pass appears on the ad.
- open_house{ day, time }
- Shown on open house creatives.
- highlightsstring[]
- Selling points to feature.
- webhook_urlstring
- Called with the finished job when processing completes.
Try Branded Ad Creatives in Studio.
Sign up or log in at studio.mlsapi.dev to run it on your own photos — then call the same endpoint from your code.
