Trailer

Direct how a trailer beat's text (or a closing card) moves.

Say in plain words how one beat's on-screen text should move — "type it out letter by letter, then draw an underline beneath it" — and it is compiled into the bounded motion spec the master draws for that beat (its look becomes directed). NOT metered and NOT confirmed: it costs no credits and renders nothing, and re-directing REPLACES the treatment rather than adding to it, so there is nothing a confirmation would protect. Your own words are saved beside the compiled spec, so the next direction is not authored blind. A rendered trailer's master is stitched again with it, free; watch it with GET …/beats/{beatIndex}/text-preview. In a product film a direction that breaks a product-film rule (nothing bounces, turns, glitches or sparkles) is refused (409) with the reason. A beat with nothing to move is refused with a 409 before anything is compiled — a beat that is footage only, or one whose caption is still empty — and the refusal names the fix. With a closingElement (quote, comingSoon, productionCredit) instead of a beatIndex it directs one of the closing sequence's cards, or puts it back in its own type with clear: true; the master draws the card, so a rendered trailer is stitched again with it (free). A trailer's closing sequence's words are directed in the writer's own words through the trailer's direct-text-motion call with a closingElement instead of a beatIndex: quote, comingSoon or productionCredit ("Coming Soon wide and slow, a faint vignette breathing behind it"). The same director compiles the sentence into a motion-text spec (face, colour, size, motion and a quiet background) and saves it with the sentence on the closing sequence (textMotion). The words stay the closing's: a direction says how they look, never what they say. clear: true puts a card back in its own type. Free: an LLM call, no credits; a rendered trailer's master is stitched again with it, and nothing else renders. Requires Idempotency-Key. Scope: story:write.

post/trailers/{jobId}/storyboard/direct-text-motion

Request

  • Base URL: https://docs.sleeperhit.studio/api/v1
  • URL: https://docs.sleeperhit.studio/api/v1/trailers/{jobId}/storyboard/direct-text-motion
  • Auth: HTTP bearer

Headers

Idempotency-Keystring required

Customer-generated stable identifier for safe retries of idempotent POST requests.

Request body

beatIndexinteger

Zero-based index of the beat whose on-screen text should move.

closingElement'quote' | 'comingSoon' | 'productionCredit'

Instead of a beat: one of the closing sequence's cards — quote (with where it is from), comingSoon, or productionCredit.

directionstring

How the text should move, in the writer's own words — e.g. "type it out letter by letter, then draw an underline beneath it". Required unless clear is true.

cleartrue

With closingElement: put the card back in its own type.

Response

The direction now on the beat.

successboolean required
beatIndexinteger

The beat directed (a beat direction).

directionstring nullable required

The writer's own words, saved beside the compiled spec so the next direction is not authored blind; null when a closing card was put back in its own type.

closingElement'quote' | 'comingSoon' | 'productionCredit'

The closing card directed (a closing direction).

lookstring nullable

What the master draws for a directed closing card, read from the stored spec. Null when it was put back in its own type.

reassemblingboolean

True when the trailer's master is stitched again with it (a rendered trailer; free — no beat renders).

Changes

No recorded changes to this operation across all 2 revisions of this API.