Skip to main content
Once a transcription is ready, the API lets you list what you have, check a transcription’s status, fetch its text, download an export, and delete it. Every request uses your API key as a Bearer token.

Before you start

Mint an API key (see Authentication) and export it:
The Python examples use the requests package (pip install requests).

1. List your transcriptions

Fetch a paginated list of your transcriptions. The response includes each transcription’s id, name, and status. The list covers your whole account, including transcriptions you created in the Vook web app. To list only the work you submitted through the API, see List your transcription jobs.
The response is paginated:
Narrow the list with these optional query parameters:

List your transcription jobs

GET /api/v1/transcription-jobs lists only the jobs you submitted through the API. It takes the same query parameters as the transcription list and returns the same pagination fields, with one job per item. Read a job’s transcription_id with GET /api/v1/transcription-jobs/{id}.

2. Check a transcription’s status

Retrieve a single transcription by id to read its lifecycle status and whether its transcript is ready (has_transcription).
The status field reflects where your transcription is in its lifecycle:

3. Fetch the transcript

Once has_transcription is true, fetch the transcript text.
If the transcript is not ready yet, the request returns 409 with the error code job_not_completed. Wait for has_transcription to be true, then retry. On a transcription with no speech (status empty), the request returns 200 with plain_text set to null.

4. Download an export

Download the transcription as a ready-to-share file in the format you need. The endpoint returns the binary file, so write the response body to disk. Save the file with the extension of the format you requested. srt exports come back as text/plain. Three query parameters are required:
The export responds with:
show_timestamps and show_speakers are still required for an srt export, but they do not change the output: srt is a standard format that always carries timestamps and omits speaker labels.

5. Delete a transcription

Delete a transcription you no longer need by its id. A successful delete returns 204 with an empty body.
If the job that produces the transcription is still running, the request returns 409. Wait for the job to finish, then retry.

Next steps

Transcribe from a file

Create a transcription from your own audio or video.

API Reference

Try every endpoint interactively in the playground.