Templates & slots

Campaign templates are a published leaf plus a {{slot}} prompt — static-ads stills or ads-catalog-video — not Template Studio.

Last updated August 23, 2026

A campaign template is JSON on POST /campaigns/engage, not a Template Studio master.

{
  "baseSlug": "static-ads",
  "prompt": "Packshot of {{title}} — {{price}}. Clean seamless background.",
  "formatIds": ["square_11", "story_916"],
  "styleId": "ims_example"
}

Or video:

{
  "baseSlug": "ads-catalog-video",
  "prompt": "UGC-style clip of {{title}} on a kitchen counter. {{description}}",
  "aspectRatio": "9:16"
}

baseSlug is one of:

LeafOutputExtra fields
static-adsCatalog stills (Images Ad)formatIds (≤4; one variant each)
ads-catalog-videoCatalog video (Gemini→Kling)aspectRatio: 16:9 / 9:16 / 1:1

Optional styleId pins a Discover style (ims_*) on stills.

Slots

Tokens in prompt resolve at engage to literals on the stamped graph (self-contained members — no live feed lookup later).

TokenSource
{{id}}SKU
{{title}}title
{{description}}description (empty if omitted)
{{price}}verbatim price string
{{custom_label_0}}{{custom_label_4}}custom labels

Unknown tokens → campaign_unknown_slots (fail closed). There is no {?sale_price} conditional language, spoken formatter, or hook-variant rotation on this DCO engage path. (Hook variant batteries are live on the directed video path: pass hookVariants 2–5 on a General Video engage to get that many first-scene hooks against one shared body.)

Seeds

Members diversify Seedream/image seeds (FANOUT_SEED_STRIDE) so variants do not share one seed.

What is not here

AI Template Studio pitches, automatic slot extraction, robustness probes, and template versioning were legacy kernel DCO. They are not on platform-api. Pick a Discover leaf and write the prompt template yourself — or generate one SKU in chat and copy the working brief into prompt with slots.

Hook variants are a partial exception: DCO-engage hook rotation is absent, but the directed video path supports hookVariants (2–5) — several first-scene hooks against one shared body, in a single engage.