The per-clip prompt lifecycle. The engine refines the composed VIDEO prompt by chaining onto the base (turn-by-turn, never reset), you pin the result as a clip-scoped snapshot that survives reload, and Generate-clip runs that snapshot verbatim — not a fresh recompose from the shots.
Clip 1 · Full reel — Ingredients mode · Seedance 2.0. Everything below is scoped to this clip: its composed prompt, its refine history, and the snapshot Generate-clip will run. A sibling clip carries its own snapshot.
1Refine— each turn rewrites basePrompt by chaining onto it; the original direction is preserved
Shared media engine · per-clip prompt
Composed prompt — clip 1 (after 2 refine turns)
basePrompt + 2 turns · chained
15-second vertical reel: open on a soft-focus close-up of linen texture catching morning light; Aanya walks through a sunlit market, the shirt moving naturally; end on a clean packshot punch-in with the brand logo subtle, bottom-right. Photoreal, premium apparel look.
Push the whole reel to a warmer golden-hour grade.
Add a slower, lingering hold on the packshot for the CTA beat.
The highlighted clauses were added by refining — the base direction (gray) is carried forward, not discarded. Turn 2 builds on turn 1's text.
Refine the prompt
1make it warmer — golden-hour grade across the reel
2slower, lingering hold on the packshot for the CTA
Refining rewrites the text prompt on the cheap text path (your AI key / platform key) — it never spends a media credit. Each turn chains onto the previous prompt; Revert here rolls the snapshot back to that turn's text without losing the base.
2Pin to clip— freeze the refined prompt as a per-clip snapshot
This refined prompt is the source of truth for Clip 1's generation.
Pinned to this clip
Clip-1 prompt snapshot · v3 (base + 2 turns)
15-second vertical reel: open on a soft-focus close-up of linen texture catching morning light; Aanya walks through a sunlit market, the shirt moving naturally; end on a clean packshot punch-in with the brand logo subtle, bottom-right — pushed to a warm golden-hour grade, with a slower lingering hold on the packshot for the CTA beat. Photoreal, premium apparel look.
Stored on the clip — survives reload. Re-open this clip tomorrow and the same pinned text is here; refining again updates the snapshot in place.
A snapshot is a per-clip field, not a transient buffer — pinning is what makes refine durable.
Pinned promptGenerate-clip dequeues with the pinned snapshot as its prompt — the worker runs it exactly as pinned, including both refine turns. No recompose from shots at dequeue.
This is the only step that spends a media credit. It resolves your Higgsfield / Seedance connection via resolveMediaProviderKey — never the platform key — and sends the pinned snapshot as-is. Composing & refining above stay on the free text path.
Takes — each ran the pinned snapshot; shown for coexistence with the existing studio chrome
Take 1 · 15s
ran snapshot v3
Take 2 · 15s
ran snapshot v3
Take 3 · 15s
generating…
Why pin? Old behavior vs new
Before — recompose at dequeue
At Generate-clip time the worker recomposed the prompt from the shots every run. Anything you refined in the engine was a transient buffer that the recompose silently discarded — the generation never saw your golden-hour / packshot-hold edits. Two runs of the "same" clip could drift as shot text changed underneath.
Now — pinned snapshot drives it
The pinned per-clip snapshot is the prompt the worker runs, verbatim. Refine turns are baked into it and survive reload; recompose-from-shots is no longer the dequeue source. Re-pin only when you deliberately want to fold new shot direction back in — generation is now deterministic and faithful to what you reviewed.
The contract: what you see pinned is what generates. Refine on the cheap text path → Pin to freeze a durable clip snapshot → Generate-clip runs that snapshot as-is. The shots editor still informs composition, but it no longer overrides a pinned prompt at dequeue.