Create transcription
Transcribes audio into text. Compatible with the OpenAI /v1/audio/transcriptions API.
Accepts an audio file (max 25 MB) as multipart/form-data and returns the transcript in the requested response_format. Swap the model string to change the model; use /v2/models/all to discover audio transcription models.
Speaker separation. Models whose supports_diarization is true in /v2/models/all separate speakers: send diarize=true (and optionally num_speakers as an upper bound) with response_format=verbose_json, and the response adds a segments array of speaker turns. Speakers are named speaker_0, speaker_1, … in order of first appearance, on every model. words (word timestamps) are added where the model reports word timing; a model that only reports speaker turns returns segments without words. On a model without speaker separation, diarize is ignored. timestamps_granularity, tag_audio_events and temperature are ElevenLabs Scribe options. The json/text formats always return the plain transcript. Subtitle formats such as srt and vtt are not supported.
Example request
curl https://api.deutschlandgpt.de/v2/audio/transcriptions \
-X POST \
-H "Authorization: Bearer $DGPT_API_KEY"curl https://api.deutschlandgpt.de/v2/audio/transcriptions \
-X POST \
-H "Authorization: Bearer $DGPT_API_KEY"import os, requests
response = requests.post(
"https://api.deutschlandgpt.de/v2/audio/transcriptions",
headers={"Authorization": f"Bearer {os.environ['DGPT_API_KEY']}"},
)
print(response.json())import os, requests
response = requests.post(
"https://api.deutschlandgpt.de/v2/audio/transcriptions",
headers={"Authorization": f"Bearer {os.environ['DGPT_API_KEY']}"},
)
print(response.json())const response = await fetch('https://api.deutschlandgpt.de/v2/audio/transcriptions', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.DGPT_API_KEY}`,
},
});
console.log(await response.json());const response = await fetch('https://api.deutschlandgpt.de/v2/audio/transcriptions', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.DGPT_API_KEY}`,
},
});
console.log(await response.json());Response
{
"text": "string"
}{
"text": "string"
}Transcription result. The media type depends on response_format.
Also available as text/plain
The response takes one of the following shapes:
Variant 1
Returned when response_format is json (default).
textstringrequiredThe transcribed text.
Variant 2
Returned when response_format is verbose_json. words and segments appear only on the ElevenLabs Scribe path.
textstringrequiredThe transcribed text.
wordsobject[]optionalWord-level timestamps. Present where the model reports word timing (ElevenLabs Scribe unless timestamps_granularity is none; other speaker-separating models when diarize=true). Never invented for a model that reports only speaker turns.
wordstringrequiredThe transcribed word or sound.
startnumberoptionalStart time of the token in seconds.
endnumberoptionalEnd time of the token in seconds.
typestringrequiredToken type. audio_event marks non-speech sounds such as laughter (see tag_audio_events).
speakerstringoptionalIdentifier of the speaker of this token. Present only when diarize=true.
segmentsobject[]optionalSpeaker turns: consecutive speech of one speaker, with start/end in seconds. Present when diarize=true ran on a model whose supports_diarization is true.
speakerstringoptionalIdentifier of the speaker for this segment.
textstringrequiredThe text spoken in this segment.
startnumberoptionalStart time of the segment in seconds.
endnumberoptionalEnd time of the segment in seconds.
usageobjectrequiredaudioSecondsnumberrequiredDuration of the input audio in seconds, as reported by the provider.
costInEuronumberrequiredAmount deducted from the workspace credit balance for this request, in EUR.
Response headers
X-Request-IDstringUnique request identifier (req_<id>). Include in support tickets.
Response codes
Transcription result. The media type depends on response_format.
Invalid request — missing file, file exceeds 25 MB, or provider error.
Unauthorized — missing or invalid API key.
Insufficient credits.
API key lacks permission for this model.
Model not found or not configured for this workspace.
Server error.