Trailer

Add a trailer beat or a text card at a seam.

Changed on

Adds a new beat: atIndex is the position it takes, afterBeatIndex puts it just after that beat, and omitting both appends it to the end. NOT metered. With text ({ words, style? }) the beat is a TEXT CARD: its words in their style (absent: a statement), running as long as they take to read (2.5–6 s; words that cannot be read in 6 s are refused with the most the style carries); two text cards never sit side by side; a card between two shots stales neither; on a rendered trailer the master is stitched again with it, free (masterRebuild: restitching); the answer's text says how it plays. Without text the beat arrives blank, with no footage; direct it with beats/refine, then render it with beats/render-clip (priced). Returns insertedBeatIndex, the new beatCount, staleBeats and captureOnly. ON A TRAILER WITH NO SCREENPLAY (captureOnly: true) the beat is never rendered: make it a capture beat (compositionKind: 'capture' with a captureId) with beats/refine, or add a text card instead (text); approving or finishing the trailer is refused with trailer_capture_only, naming the beat, while it is blank. A trailer with no screenplay (POST /story-projects/{projectId}/trailers) is edited this way on its draft too, since no planner draws its beats; a screenplay trailer's draft keeps the plan its planner drew. Requires Idempotency-Key. Scope: story:write.

post/trailers/{jobId}/storyboard/add-beat

Request

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

Headers

Idempotency-Keystring required

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

Request body

atIndexinteger

Zero-based position the new beat takes.

afterBeatIndexinteger

Insert just AFTER this existing beat.

Response

The new beat's position + the beats now out of date.

successboolean required
beatCountinteger required

How many beats the cut has after the edit.

staleBeatsinteger[] required

Beats whose FOLLOWING beat changed, so their seam direction is out of date. Their footage stays playable.

movedTointeger

Where the moved beat ended up (move only).

insertedBeatIndexinteger

Where the new beat landed (insert only).

captureOnlyboolean

Insert only: the trailer has no screenplay, so the new beat is never rendered — make it a capture beat or a title card with beats/refine; approving or finishing it is refused with trailer_capture_only while it is blank.

masterRebuild'reassembling' | 'restitching'

Remove: the last blank beat of a rendered trailer with no screenplay was removed, so its held video is rebuilt (free): reassembling in review, restitching when finished. Insert of a text card on a rendered trailer: restitching, the master stitched again with it (free). Absent otherwise.

Changes

    • info

      added the new optional request property

    • info

      added the optional property to the response with the status