How a deck gets planned
the carousel lane of the v2 engine- 01ArcmodelThe deck is planned as a story first: how-to, listicle, myth-bust, problem and solution. The arc decides how many slides the idea deserves.
- 02BeatsmodelEach slide gets exactly one idea. A hook that earns the swipe, a rehook that stands alone when the feed shows slide two first, body slides that build, one closing ask.
- 03The frame dealcodeOne frame family for the whole deck: gallery, split, inset, or panel. Deterministic per brand and deck, gated so a family is never dealt with too few photo slides to carry it.
- 04Roles anchorcodeVariation comes from each slide's role, not from randomness. A hook anchors differently than a step, a step differently than the ask. Per-slide roulette reads as a tell; the judge punishes it.
- 05RendercodeSlide by slide, same deterministic layout engine as statics. Real photos lead; generated imagery stays name-free atmosphere.
- 06Set judgemodelThe deck is judged as one designed object, not eight images. Consistency is graded; the design tier ladder applies to the set.
Edit one slide, keep seven
per-slide compositions · surgical reviseThe deck remembers itself.
Every slide carries its own layered composition, and the deck's spec references each slide's background and rendered master. Ask for a change to slide three and the other seven are reused verbatim, backgrounds included, then the set is re-judged as a whole. Slide-level feedback re-renders a slide; set-level feedback re-renders the deck.
# Slide-level feedback is surgical
curl https://api.socialkit.sh/v1/revise-carousel-v2 \
-H "Authorization: Bearer $SOCIALKIT_KEY" \
-d '{
"businessContext": { "businessName": "Driftwood Roasters" },
"feedback": "slide 3 needs a stronger stat",
"spec": { ...from the generate }
}'
# Seven slides reused verbatim.
# The set re-judged as one object.
For agents
REST + MCP · one credit per deckPOST /v1/generate-carousel-v2 and POST /v1/revise-carousel-v2 over REST, or the generate_carousel and revise_carousel MCP tools. A whole deck is one credit, charged only on success. Pin user-chosen photos with pinnedPhotos and the engine ranks them for order but never drops them.