Trailer

Price, then run, the finish of a trailer.

Finishes the cut: every selected take is upscaled from its 480p render to the delivery class — 720p unless the writer asked for 1080p (deliveryResolution, else the trailer's own class) — the on-screen text layers are composited over the finished cut, and the finished master is stitched. Nothing is generated again, and a take already finished at the class is reused, not charged twice. TWO CALLS, PRICE FIRST: sent WITHOUT confirmed it prices the finish and reserves nothing (quotedOnly: true, the lines, and a warnings entry per flagged take the writer kept); sent again with confirmed: true it reserves exactly those lines and starts the finish (finishing, then complete). Refused before the price while any call has no selected take (a call with no accepted take: render it again), and while the master the writer is looking at FAILED its video coverage (trailer_video_coverage_failed, details.videoCoverage: the score, the bar and the findings with their fixes) — unless acknowledgeVideoCoverage: true, which only the writer's own choice to finish anyway may set. Coverage still running, one that could not run, or one of an earlier master never holds the finish: the quote's warnings say so. A trailer with no screenplay is finished from its app captures and title cards with no take to upscale, and is refused (trailer_capture_only, naming the beats) while any beat is blank or no beat plays a capture. Review or complete (finishing again at a new class) only. Requires Idempotency-Key. Scope: artifact:publish.

post/trailers/{jobId}/finish

Request

  • Base URL: https://docs.sleeperhit.studio/api/v1
  • URL: https://docs.sleeperhit.studio/api/v1/trailers/{jobId}/finish
  • Auth: HTTP bearer

Headers

Idempotency-Keystring required

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

Request body

deliveryResolution'720p' | '1080p'

Omit to finish at the trailer's delivery class (720p unless chosen).

confirmedboolean

Omit (or false) to get the finish price WITHOUT spending anything. Send true only after the writer has seen that price and said go.

acknowledgeVideoCoverageboolean

Finish although the master the writer is looking at FAILED its video coverage (otherwise refused with 409 trailer_video_coverage_failed, details.videoCoverage carrying the score, the bar and the findings). Send true ONLY after the writer has seen those findings and chosen, in their own words, to finish anyway — never on your own.

Response

The finish price (no confirmed) or the running finish.

quotedOnlyboolean required
queuedboolean

Confirmed call only.

jobIdstring required
deliveryResolution'720p' | '1080p' required
creditsnumber required
costLabelstring nullable

Quote only.

takesinteger

Confirmed call only: how many selected takes the finish upscales.

warningsstring[] required

One per selected take the writer kept although it was flagged (a line not heard or in another character's voice, an opening off its plan).

balanceAfterinteger

Quote only. Studio Credits the writer would have left once this is spent: the balance available now (as Billing shows it) minus the price. Negative means they are that many short.

sufficientboolean

Quote only. True when the available balance covers the price. False means the writer must top up first (the note names the Billing link) — do not confirm; the reserve would refuse.

notestring

Quote only: the price in the writer's words and how to proceed.

messagestring

Confirmed call only.

Changes

No recorded changes to this operation across all 1 revision of this API.