Start an app capture: its presigned upload URL.
A capture is an MP4 screen recording of a web app: H.264, constant 30 fps, at most 1920×1080, tagged bt709 (its sound, when it has any, in AAC), up to 512 MB. Every file is checked after its upload; one that does not conform is rejected with the command that re-encodes it. The file never passes through the API: create answers a presigned PUT URL that works for an hour (send exactly the declared bytes with content-type: video/mp4), then finalize checks the stored file and marks the capture ready or rejected (with rejectionReason). Free. The answer's upload is where to PUT the file (with upload.headers); eventsUpload and checkpointUploads are the recorder's side files when declared. Then POST /story-projects/{projectId}/captures/{captureId}/finalize. A capture names the stored tour it ran (tourId, one of this project's tours: its feature is copied onto the capture) and the product feature it shows (featureId, a product Bible episode id — alone, or exactly the tour's own feature); featureName on every read is the feature's name in the Bible as it reads now. Unknown fields are refused with 400 validation_failed. Requires Idempotency-Key.
Request
- Base URL: https://docs.sleeperhit.studio/api/v1
- URL: https://docs.sleeperhit.studio/api/v1/story-projects/{projectId}/captures
- Auth: HTTP bearer
Headers
Customer-generated stable identifier for safe retries of idempotent POST requests.
Request body
Response
The capture (uploading) and where to upload its file.
Changes
No recorded changes to this operation across all 1 revision of this API.