Pitch Deck

Price, then make, living portraits for the title intros.

A motion close is a person's LIVING PORTRAIT for their title intro: one WAN shot of their face and shoulders from their cast portrait, the person looking straight into the lens and holding still — breath, an occasional blink, lips closed — lit and graded like the deck (its Series Bible's look), at 480p, silent, 3 seconds on the 2 s bell (the flash's beat plus room), in shadow when the sequence keeps them in shadow. PRICED FIRST — TWO CALLS on the API and the CLI, two tools on MCP and in chat (quote_render_pitch_deck_title_motion_closes, then render_pitch_deck_title_motion_closes): without confirmed it prices every person whose intro is not yet their living portrait (motionClosesNeeded in the read: about 6 people × 3 s at 480p for a father and his sons), or the people named in names (a new take of someone who has one is priced again), and spends nothing; with confirmed: true it reserves exactly those lines and renders them. Allowed while the deck is in review or complete. When each lands it is checked like a take (a file that decodes, silent, its length) and the master is re-assembled with it, free; a render that fails or is refused is released (nothing charged). Read each one back as titleSequence.motionCloses (livingPortrait false: a moving close made before 2026-10-07, which no longer opens an intro). Refused before the price: a deck that has not rendered, no title sequence, every intro already its living portrait, a name the sequence does not have (400), a person whose living portrait is already on its way, a person with no cast portrait to render from, or a portrait prompt row not yet rolled out — with the fix in details.refusal. Requires Idempotency-Key. Scope: artifact:publish — a read-only key can neither spend nor ask what spending would cost.

post/pitch-decks/{jobId}/title-sequence/motion-closes

Request

  • Base URL: https://docs.sleeperhit.studio/api/v1
  • URL: https://docs.sleeperhit.studio/api/v1/pitch-decks/{jobId}/title-sequence/motion-closes
  • Auth: HTTP bearer

Headers

Idempotency-Keystring required

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

Request body

namesstring[]

The people to make one for, named as the title sequence names them. Left out: everyone in titleSequence.motionClosesNeeded.

confirmedboolean

Left out: price only, nothing reserved. True: reserve exactly the priced lines and render them.

Response

The price (no confirmed) or the queued living portraits.

quotedOnlyboolean required
queuedboolean
jobIdstring required
creditsnumber required
costLabelstring nullable
balanceAfternumber
sufficientboolean
notestring
namesstring[]
messagestring

Changes

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