cut a clip's face track
transcriptions_slice-speaker-face-trackCuts a matched speaker's face track to a lipsync clip's frame range and returns a public JSON URL of per-frame face boxes for speaker.faceTrackUrl, so the clip lip-syncs exactly that person.
Instructions
Cut one matched speaker's face track to the frames of one lipsync_create-timeline clip and return {url}: a public JSON file of per-frame face boxes to pass as that clip's speaker.faceTrackUrl, so the clip lipsyncs exactly that person. Use it after transcriptions_get-speaker-analysis reports the speaker matched; not for uncertain speakers (a 422 error), whose clips use speaker detect or a point on the face instead. Frames are [startFrame, endFrame) counted from the first frame of the source file, not of the transcription window, and the track is resampled by time onto your fps. Each call writes a new file and returns a new url; it is free, 60 calls a minute. url is null, and no file is written, when the face is on none of those frames: use detect for that clip, or keep it unlipsynced with lipsync: false where lipsync_create-timeline offers that field. A changed transcript revision is a 409 error: read the analysis again.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Transcription id from transcriptions_create. | |
| fps | Yes | Frame rate of the video the timeline lipsyncs, as assets_get-playback-metadata reports it; the face track is resampled by time onto this grid. | |
| skip | No | Optional range { startFrame, endFrame } (end exclusive) strictly inside the clip that a cut removed from its footage. Those frames are left out of the file, so it keeps one box per remaining frame. Usually omitted. | |
| endFrame | Yes | Frame after the clip ends (exclusive): the timeline clip endFrame + 1. | |
| revision | Yes | The revision returned by transcriptions_get-speaker-analysis, so the call matches that analysis. | |
| speakerId | Yes | A matched speaker id from transcriptions_get-speaker-analysis. | |
| startFrame | Yes | First frame of the clip, inclusive, counted from the first frame of the source file: the timeline clip's startFrame. |