GET
/v1/schemas/elevenlabs/audio/v1%2Fspeech-to-text?kind=output
Accept:
Response body
0 properties · 0 required · 0 $defsThis schema isn’t a plain object with properties — showing the raw JSON instead.
application/json
{
"provider": "elevenlabs",
"activity": "audio",
"endpointId": "v1/speech-to-text",
"kind": "output",
"contentHash": "88ce36c53c4d504bf431b0f29fc1cd1a2ffcb7a05b25dcfc5bbac7e27eda1f31",
"specRevision": null,
"provenance": {
"sourceUrl": "https://api.elevenlabs.io/openapi.json",
"sourceHash": "56793d52b38081086c43910ec1916ff4bb286322250511820c239e4f46831396",
"fetchedAt": 1783328734,
"extractorVersion": "1"
},
"createdAt": 1783328734,
"supersededAt": null,
"schema": {
"anyOf": [
{
"$ref": "#/$defs/SpeechToTextChunkResponseModel"
},
{
"$ref": "#/$defs/MultichannelSpeechToTextResponseModel"
},
{
"$ref": "#/$defs/SpeechToTextWebhookResponseModel"
}
],
"title": "Response Speech To Text V1 Speech To Text Post",
"oneOf": [
{
"$ref": "#/$defs/SpeechToTextChunkResponseModel"
},
{
"$ref": "#/$defs/MultichannelSpeechToTextResponseModel"
}
],
"$defs": {
"AdditionalFormatResponseModel": {
"properties": {
"requested_format": {
"type": "string",
"title": "Requested Format",
"description": "The requested format."
},
"file_extension": {
"type": "string",
"title": "File Extension",
"description": "The file extension of the additional format."
},
"content_type": {
"type": "string",
"title": "Content Type",
"description": "The content type of the additional format."
},
"is_base64_encoded": {
"type": "boolean",
"title": "Is Base64 Encoded",
"description": "Whether the content is base64 encoded."
},
"content": {
"type": "string",
"title": "Content",
"description": "The content of the additional format."
}
},
"type": "object",
"required": [
"requested_format",
"file_extension",
"content_type",
"is_base64_encoded",
"content"
],
"title": "AdditionalFormatResponseModel"
},
"DetectedEntity": {
"properties": {
"text": {
"type": "string",
"title": "Text",
"description": "The text that was identified as an entity."
},
"entity_type": {
"type": "string",
"title": "Entity Type",
"description": "The type of entity detected (e.g., 'credit_card', 'email_address', 'person_name')."
},
"start_char": {
"type": "integer",
"title": "Start Char",
"description": "Start character position in the transcript text."
},
"end_char": {
"type": "integer",
"title": "End Char",
"description": "End character position in the transcript text."
}
},
"type": "object",
"required": [
"text",
"entity_type",
"start_char",
"end_char"
],
"title": "DetectedEntity"
},
"MultichannelSpeechToTextResponseModel": {
"properties": {
"transcripts": {
"items": {
"$ref": "#/$defs/SpeechToTextChunkResponseModel"
},
"type": "array",
"title": "Transcripts",
"description": "List of transcripts, one for each audio channel. Each transcript contains the text and word-level details for its respective channel."
},
"transcription_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Transcription Id",
"description": "The transcription ID of the response."
},
"audio_duration_secs": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Audio Duration Secs",
"description": "The duration of the audio that was transcribed across all channels in seconds."
}
},
"type": "object",
"required": [
"transcripts"
],
"title": "MultichannelSpeechToTextResponseModel",
"description": "Response model for multichannel speech-to-text transcription.",
"example": {
"transcripts": [
{
"language_code": "en",
"language_probability": 0.98,
"text": "Hello from channel one.",
"words": [
{
"end": 0.5,
"logprob": -0.124,
"speaker_id": "speaker_0",
"start": 0,
"text": "Hello",
"type": "word"
},
{
"end": 0.5,
"logprob": 0,
"speaker_id": "speaker_0",
"start": 0.5,
"text": " ",
"type": "spacing"
},
{
"end": 0.8,
"logprob": -0.089,
"speaker_id": "speaker_0",
"start": 0.5,
"text": "from",
"type": "word"
}
]
},
{
"language_code": "en",
"language_probability": 0.97,
"text": "Greetings from channel two.",
"words": [
{
"end": 0.7,
"logprob": -0.156,
"speaker_id": "speaker_1",
"start": 0.1,
"text": "Greetings",
"type": "word"
},
{
"end": 0.7,
"logprob": 0,
"speaker_id": "speaker_1",
"start": 0.7,
"text": " ",
"type": "spacing"
},
{
"end": 1,
"logprob": -0.078,
"speaker_id": "speaker_1",
"start": 0.7,
"text": "from",
"type": "word"
}
]
}
]
}
},
"SpeechToTextCharacterResponseModel": {
"properties": {
"text": {
"type": "string",
"title": "Text",
"description": "The character that was transcribed."
},
"start": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Start",
"description": "The start time of the character in seconds."
},
"end": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "End",
"description": "The end time of the character in seconds."
}
},
"type": "object",
"required": [
"text"
],
"title": "SpeechToTextCharacterResponseModel",
"example": {
"end": 0.1,
"start": 0,
"text": "H"
}
},
"SpeechToTextChunkResponseModel": {
"properties": {
"language_code": {
"type": "string",
"title": "Language Code",
"description": "The detected language code (e.g. 'eng' for English)."
},
"language_probability": {
"type": "number",
"title": "Language Probability",
"description": "The confidence score of the language detection (0 to 1)."
},
"text": {
"type": "string",
"title": "Text",
"description": "The raw text of the transcription."
},
"words": {
"items": {
"$ref": "#/$defs/SpeechToTextWordResponseModel"
},
"type": "array",
"title": "Words",
"description": "List of words with their timing information."
},
"channel_index": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Channel Index",
"description": "The channel index this transcript belongs to (for multichannel audio)."
},
"additional_formats": {
"anyOf": [
{
"items": {
"anyOf": [
{
"$ref": "#/$defs/AdditionalFormatResponseModel"
},
{
"type": "null"
}
]
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Additional Formats",
"description": "Requested additional formats of the transcript."
},
"transcription_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Transcription Id",
"description": "The transcription ID of the response."
},
"entities": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/DetectedEntity"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Entities",
"description": "List of detected entities with their text, type, and character positions in the transcript."
},
"audio_duration_secs": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Audio Duration Secs",
"description": "The duration of the audio that was transcribed in seconds."
}
},
"type": "object",
"required": [
"language_code",
"language_probability",
"text",
"words"
],
"title": "SpeechToTextChunkResponseModel",
"description": "Chunk-level detail of the transcription with timing information.",
"example": {
"language_code": "en",
"language_probability": 0.98,
"text": "Hello world!",
"words": [
{
"end": 0.5,
"logprob": -0.124,
"speaker_id": "speaker_1",
"start": 0,
"text": "Hello",
"type": "word"
},
{
"end": 0.5,
"logprob": 0,
"speaker_id": "speaker_1",
"start": 0.5,
"text": " ",
"type": "spacing"
},
{
"end": 1.2,
"logprob": -0.089,
"speaker_id": "speaker_1",
"start": 0.5,
"text": "world!",
"type": "word"
}
]
}
},
"SpeechToTextWebhookResponseModel": {
"properties": {
"message": {
"type": "string",
"title": "Message",
"description": "The message of the webhook response."
},
"request_id": {
"type": "string",
"title": "Request Id",
"description": "The request ID of the webhook response."
},
"transcription_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Transcription Id",
"description": "The transcription ID of the webhook response."
}
},
"type": "object",
"required": [
"message",
"request_id"
],
"title": "SpeechToTextWebhookResponseModel",
"example": {
"message": "Request accepted. Transcription result will be sent to the webhook endpoint.",
"request_id": "1234567890"
}
},
"SpeechToTextWordResponseModel": {
"properties": {
"text": {
"type": "string",
"title": "Text",
"description": "The word or sound that was transcribed."
},
"start": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Start",
"description": "The start time of the word or sound in seconds."
},
"end": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "End",
"description": "The end time of the word or sound in seconds."
},
"type": {
"type": "string",
"enum": [
"word",
"spacing",
"audio_event"
],
"title": "Type",
"description": "The type of the word or sound. 'audio_event' is used for non-word sounds like laughter or footsteps."
},
"speaker_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Speaker Id",
"description": "Unique identifier for the speaker of this word."
},
"logprob": {
"type": "number",
"title": "Logprob",
"description": "The log of the probability with which this word was predicted. Logprobs are in range [-infinity, 0], higher logprobs indicate a higher confidence the model has in its predictions."
},
"characters": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/SpeechToTextCharacterResponseModel"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Characters",
"description": "The characters that make up the word and their timing information."
},
"channel_index": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Channel Index",
"description": "The channel this word was spoken on (for multichannel audio). Null for single-channel transcriptions."
}
},
"type": "object",
"required": [
"text",
"type",
"logprob"
],
"title": "SpeechToTextWordResponseModel",
"description": "Word-level detail of the transcription with timing information.",
"example": {
"characters": [
{
"end": 0.1,
"start": 0,
"text": "H"
},
{
"end": 0.2,
"start": 0.1,
"text": "e"
},
{
"end": 0.3,
"start": 0.2,
"text": "l"
},
{
"end": 0.4,
"start": 0.3,
"text": "l"
},
{
"end": 0.5,
"start": 0.4,
"text": "o"
}
],
"end": 0.5,
"logprob": -0.124,
"speaker_id": "speaker_1",
"start": 0,
"text": "Hello",
"type": "word"
}
}
}
}
}Validate a payload
before you spend tokensshell
$ curl -X POST https://modelschemas.com/v1/validate \
-d '{"provider":"elevenlabs","endpointId":"v1/speech-to-text","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}