curl --request POST \
--url https://descriptapi.com/v1/export/transcript \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"project_id": "9f36ee32-5a2c-47e7-b1a3-94991d3e3ddb",
"format": "txt",
"include_speaker_labels": "changes"
}
'"<string>"{
"error": "invalid_input",
"message": "Invalid request body"
}{
"error": "unauthorized",
"message": "Missing or invalid authentication token"
}{
"error": "forbidden",
"message": "User does not have access to this resource"
}{
"error": "rate_limit_exceeded",
"message": "Too many requests. Please try again later."
}Export project transcript
Export the transcript from a project composition.
Supports plain text, Markdown, HTML, RTF, DOCX, and SRT (SubRip subtitle) formats. Options include speaker labels, timecodes, and markers.
The response body is the raw transcript file (binary for docx,
text otherwise) with a Content-Disposition: attachment header and
an X-Composition-Id header identifying the exported composition.
curl --request POST \
--url https://descriptapi.com/v1/export/transcript \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"project_id": "9f36ee32-5a2c-47e7-b1a3-94991d3e3ddb",
"format": "txt",
"include_speaker_labels": "changes"
}
'"<string>"{
"error": "invalid_input",
"message": "Invalid request body"
}{
"error": "unauthorized",
"message": "Missing or invalid authentication token"
}{
"error": "forbidden",
"message": "User does not have access to this resource"
}{
"error": "rate_limit_exceeded",
"message": "Too many requests. Please try again later."
}Authorizations
Personal API token created in Descript Settings → API Tokens. See the Authentication section for details.
Body
Transcript export request
Request to export the transcript from a project composition.
The ID of the project to export from.
"9f36ee32-5a2c-47e7-b1a3-94991d3e3ddb"
Transcript file format. The response body is the raw transcript file
in the requested format (binary for docx, plain text otherwise).
The srt format exports a SubRip subtitle file with timed captions.
txt, markdown, html, rtf, docx, srt Composition to export. If omitted, the first composition in the project is used.
Accepts any of the following formats:
- A full composition UUID (e.g.
39677a40-1c43-4c36-8449-46cfbc4de2b5) - A 5-character short ID from a Descript URL (e.g.
39677) - A full Descript project URL (e.g.
https://web.descript.com/{project_id}/39677)
"39677a40-1c43-4c36-8449-46cfbc4de2b5"
Speaker label mode.
off: No speaker labelschanges: Show speaker label when the speaker changesevery_paragraph: Show speaker label on every paragraph
off, changes, every_paragraph Include markers in the transcript.
Timecode options. When provided, timecodes are included in the output.
Show child attributes
Show child attributes
Response
Transcript exported successfully. The response body is the raw transcript file with the appropriate Content-Type for the requested format.
The X-Composition-Id response header contains the composition
UUID that was exported.
The response is of type string.

