Catalog Video overview

Feed × template variants on platform-api — up to 24 SKUs per engage, stills or catalog video, dashboard + REST + MCP.

Last updated August 12, 2026

Catalog Video on Wavemaker Platform is DCO as a run group: one product feed file × one template → up to 24 variants in a single dco-campaign FanOut × SubWorkflow. Each variant is a full leaf run (static-ads stills or ads-catalog-video video). campaignId is the run-group id.

This is not the retired kernel Catalog Video (Template Studio, Shopify connectors, hosted CDN feeds, 10k-SKU fatigue rotation). Those /api/v1/dco/* routes return HTTP 410.

For the operator contract, see docs/platform/catalog/legacy-deliverable-parity.md § DCO campaigns.

Where to start

  • Dashboard: Campaigns (legacy /campaigns 301s here) lists engages and per-SKU tiles. Engage itself is API/MCP — the pane is status + download, not a shop-URL wizard.
  • REST: POST $PLATFORM_API_URL/campaigns/engage (runs:write).
  • MCP: engage_campaign / get_campaign.
  • One product: Discover leaf ads-catalog-video (or chat Images Ad / static-ads) — skip campaigns.

How it works

  1. Upload a feed — CSV or JSON already in Files (feedFileId). Merchant-style columns: id/sku, title, price, image_link (or image_file_id), optional custom_label_0..4. See Connect your catalog.
  2. Choose a leaf + prompt templatebaseSlug: static-ads (stills, optional formatIds) or ads-catalog-video (video, optional aspectRatio). Slots like {{title}} / {{price}} fill per row. See Templates & slots.
  3. Engage — platform validates rows and ingest images before any credit reserve. Over 24 variants → 422 campaign_variant_cap_exceeded (zero spend). Dual-meter preflight is the same honesty as POST /runs.
  4. Watch + downloadGET /campaigns/{campaignId} (or the Campaigns pane) returns SKU-keyed status and files. See Delivery.

Caps (honest)

LimitValue
Variants per engage24 (rows × formatIds, hard cap)
formatIds on stills≤ 4
Feed row selectionoptional rowIds; omit = every valid row
Scheduled sync / hosted feedsNot shipped on platform — re-engage
Shopify / Merchant connectorsNot shipped — export CSV/JSON yourself

Need more than 24 SKUs? Run another engage (new Idempotency-Key) with the next rowIds slice.

Built for every catalog size

  • A handful of SKUs — pick rowIds, engage once, approve in Campaigns.
  • A shelf, not a warehouse — slice the feed into ≤24-variant batches.
  • Integrators — REST + MCP; poll the run group. See API & MCP.

Quality

Each variant is a normal directed leaf: same QC gates as a chat stills or catalog-video run. Feed validation is fail-closed (missing id/title/image → 422 with rowErrors). Unknown {{slots}} fail the matrix before spawn.