Carousel Studio — per-slide deep engine host (E4e)

Carousel Image

E4c made the Image Studio the deep host of the shared media engine; E4d brought it to the Video Studio per clip. E4e brings the same pattern to the Carousel Studio — but per slide. A carousel is an ordered set of single-image slides (flat images — no per-resource checklist, unlike video). Each slide now hosts a composed-prompt GeneratePanel (Higgsfield-only model picker · editable composed prompt · guide · refine-with-history · pinned snapshot) that replaces the old per-slide prompt textarea and the single whole-carousel model select — each slide owns its own provider/model and its own refine history. The candidate grid (3-up), Upload tile and Deliver-to-ad stay unchanged below. The shadcn studio chrome hosts a distinct #7c3aed engine card inside each slide pane. Light app theme · clickable. No caching — refresh for latest.

Studio shadcn chrome
The Carousel Studio's own surface — the slide rail, the active slide pane, the 3-up candidate grid, the Upload tile and the Deliver-to-ad control. Headlines & links stay on the ad. This is the host; it carries over from the carousel-studio slide editor, restructured into the E4d shell convention.
The #7c3aed engine card
The shared media engine (gua-*) — the composed-prompt GeneratePanel (Higgsfield-only ProviderModelPicker · editable composed prompt · guide · .rhist refine history · scope badge) — mounted inside the slide pane as a deliberate, contained seam. The panel remounts per slide; same engine as Image Studio E4c, scoped to one slide.
What changed in E4e. Each slide now hosts the shared media engine — a composed prompt + chat-refine with history (a .rhist you can Revert to any turn), pinned per slide so Generate runs exactly that prompt. The GeneratePanel replaces two old controls at once: the per-slide prompt textarea and the single whole-carousel model select — now each slide owns its own provider/model (a per-slide override) and its own refine history, because the panel remounts per slide. The studio also now continues the planner-side slide plan (theme / overlay) instead of re-storyboarding — the plan flows in as continuity, not a fresh draft. The 3-up candidate grid, the Upload tile and Deliver-to-ad stay unchanged below — coexistence, not replacement. Provider-key boundary: compose & refine ride the free text path (your AI key / platform key); per-slide Generate resolves creds via resolveMediaProviderKey and spends a media credit — never the platform key. Note: carousel slides are single flat images — there is no per-resource checklist here (that is video-only).
Pages — Summer Sale · Carousel example
00
Design system
The two surfaces side by side: the studio atoms (.card, .btn/.btn.accent, .section-h, the slide rail & 3-up candidate grid) and the #7c3aed engine atoms (.engine-wrap, .epanel, .pchip, .ptextarea, .guide, .rhist/.revert, .ebadge.scope). The contract for the seam.
Open
01
Slide work (overview)
The new slide pane ordering end-to-end: left slide rail + the evolved right pane. The composed-prompt GeneratePanel mounts inside the studio chrome and replaces the old prompt textarea + whole-carousel model select; the 3-up candidates, Upload and Deliver-to-ad stay below — one slide hosting the whole engine.
Flagship Open
02
Composed prompt & refine
The per-slide GeneratePanel in detail: the editable composed prompt + guide, the refine row on the free text path, and a .rhist history you can Revert to any turn. The refined prompt pins to this slide's snapshot so Generate runs exactly it — never a media credit until you generate.
Open
03
Plan continuity
The studio now continues the planner-side slide plan (theme · overlay · order) instead of re-storyboarding. Each slide's plan flows into the engine as the seed of the composed prompt — continuity, not a fresh draft — so the carousel and the plan never drift.
Open
04
Per-slide model
The single whole-carousel model select is gone: each slide owns its own provider/model. A Higgsfield-only ProviderModelPicker lives in every slide's panel as a per-slide override — pick Nano Banana Pro on the hero, something cheaper on a flat-lay — because the panel remounts per slide.
Open
05
States & snapshot
Every per-slide engine state in one place: no model picked (panel gated), composing, refined & pinned, generated & candidate selected, uploaded-instead. Plus the snapshot contract — the composed/refined prompt pins per slide so Generate runs exactly it, and the rail's ready vs pending dots stay true.
Open
The seam. Every page keeps the Carousel Studio's shadcn chrome (slide rail, slide pane, 3-up candidate grid, Upload, Deliver-to-ad) hosting the gua-* #7c3aed engine — the composed-prompt GeneratePanel that remounts per slide — as a deliberate, contained seam, exactly like Image Studio E4c. A carousel is a flat, ordered set of single-image slides, so there is no per-resource checklist (video-only). Start at Slide work (overview) for the full slide pane, then drill into the composed prompt & refine, plan continuity, the per-slide model, and the states/snapshot contract.