Artifacts · carousel

The deck.

A carousel is not eight images. It is one designed object with a story arc, a frame contract, and a role for every slide. The v2 engine plans it, renders it, and judges it as a set.

One deck, start to finish

all eight slides · swipe →

A complete generated deck for a fictional coffee roaster, in swipe order, unretouched. One frame family throughout; each slide's anchor comes from its role. This is the consistency the contract buys.

Slide 1 of the generated deck for Driftwood Roasters
1 · hook
Slide 2 of the generated deck for Driftwood Roasters
2 · rehook
Slide 3 of the generated deck for Driftwood Roasters
3 · step 1
Slide 4 of the generated deck for Driftwood Roasters
4 · step 2
Slide 5 of the generated deck for Driftwood Roasters
5 · step 3
Slide 6 of the generated deck for Driftwood Roasters
6 · turn
Slide 7 of the generated deck for Driftwood Roasters
7 · proof
Slide 8 of the generated deck for Driftwood Roasters
8 · cta

Driftwood Roasters, fictional. Judged STRONG as a set on first generation.

How a deck gets planned

the carousel lane of the v2 engine
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 05RendercodeSlide by slide, same deterministic layout engine as statics. Real photos lead; generated imagery stays name-free atmosphere.
  6. 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 revise

The 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.

~/socialkit · curl
bash
# 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 deck

POST /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.

Visual quickstartPrevious: the image postNext artifact: the reel