Zur Navigation springen

transcribe a video for dialogue editing

Starts a word-level transcription of a window of a video, the first step of a dialogue edit. Provide exactly one of sourceVideoUrl or sourceAudioUrl, both hosted in sync. storage (upload via POST /v2/assets/upload). Passing pre-extracted audio skips the server-side download and transcode. Poll GET /v2/transcriptions/{id} until status is COMPLETED, then pass the transcript and your edits to POST /v2/dialogue-edits. An identical source and window returns the existing job instead of starting a new one. An endMs past the end of the source is clamped to it, and the job echoes the effective end in sourceEndMs. Transcription is not billed.

Authentifizierung

x-api-keystring
API-Key-Authentifizierung via Header

Anfrage

This endpoint expects an object.
sourceVideoUrlstringOptional

URL of the source video, hosted in sync. storage (upload it via POST /v2/assets/upload first). Provide exactly one of sourceVideoUrl or sourceAudioUrl.

sourceAudioUrlstringOptional

URL of audio already extracted from the source, hosted in sync. storage. Skips the server-side audio extraction. Provide exactly one of sourceVideoUrl or sourceAudioUrl.

startMsintegerOptional
Start of the window to transcribe, in milliseconds from the start of the source. Defaults to 0. A start at or past the end of the source video returns a 422 naming startMs.
endMsintegerOptional
End of the window to transcribe, in milliseconds from the start of the source. Omit to transcribe to the end. The window cannot exceed 60 minutes. An end past the end of the source is clamped to it, and the job reports the end it used in sourceEndMs.
maxSourceSecondsintegerOptional

Refuse the source if it is longer than this many seconds. Useful when a later step, such as a dialogue edit (10 minute window), cannot consume a longer transcript. Cannot exceed the endpoint ceiling of 3600 seconds.

projectIdstringOptional
Optional id of a project in your organization to file the job under.

Antwort

Transcription job created successfully
idstring

Job id. Poll GET /v2/transcriptions/{id} with it.

statusenum
Job status. COMPLETED and FAILED are terminal.
Erlaubte Werte:
sourceStartMsinteger
Start of the transcribed window, in source milliseconds.
createdAtdatetime
When the job was created.
sourceVideoUrlstringOptional
The source video the job was created from. Null for jobs created from sourceAudioUrl.
sourceEndMsintegerOptional
End of the transcribed window, in source milliseconds. A requested end past the end of the source reads as the source's end when the source could be measured at creation. Null when the job transcribes to the end of the source.
transcriptobjectOptional

Word-level transcript. Word timings are in milliseconds from the start of the source video, not the window. Null until status is COMPLETED.

speakerCountintegerOptional

Number of distinct speakers detected. Dialogue edits currently support a single speaker; a count above 1 completes the job but a dialogue edit of that source is unsupported. Null until status is COMPLETED.

difficultyobjectOptional
Informational estimate of how hard the source is to edit cleanly, with the reasons behind it. Null while the job is running and for some older jobs. Do not gate behaviour on it.
errorobjectOptional
Why the job failed. Null unless status is FAILED.
startedAtdatetimeOptional
When the job started processing. Null until it starts.
finishedAtdatetimeOptional
When the job reached a terminal status. Null until it finishes.
revisionstringOptional
Content hash of the source and transcript this job produced. Present once the job has a transcript.
estimateobject or nullOptional
Expected completion time while the transcription is running. Null when the job is terminal or no estimate is available.
retryAfterMsintegerOptional

Milliseconds to wait before polling this job again, between 1,000 and 5,000. Present only while the job is PENDING or PROCESSING.

Fehler

401
Unauthorized Error
402
Payment Required Error
422
Unprocessable Entity Error
429
Too Many Requests Error
500
Internal Server Error