Docs / Schemas / audio-transcription / 0.7.0
Audio Transcription 0.7.0
Store text transcribed from an audio source. Supports timed segments, speaker identification, and non-verbal events.
This is an older version of audio-transcription.
The latest version is 0.8.0.
$idhttps:// oatschema.org/ 0.7.0/ audio-transcription - Latest
https:// oatschema.org/ audio-transcription - Versions
- Source
- v0.7.0 on GitHub
Schema
{ "x-license": { "id": "Apache-2.0", "notice": "Copyright 2025-2026 Dorsal Hub LTD", "url": "https://github.com/oatschema/oats/blob/main/LICENSE" }, "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://oatschema.org/0.7.0/audio-transcription", "title": "Audio Transcription", "version": "0.7.0", "description": "Store text transcribed from an audio source. Supports timed segments, speaker identification, and non-verbal events.", "type": "object", "properties": { "track_id": { "type": "string", "description": "(Optional) Identifier for the specific audio track or channel in the source file. Numeric identifiers are written as strings (e.g., '0').", "maxLength": 128 }, "producer": { "type": "string", "description": "The creator (model, tool or author) of this transcription (e.g., 'Whisper-v3', 'Manual Review').", "maxLength": 1024 }, "language": { "type": "string", "description": "The 3-letter ISO-639-3 language code of the transcription (e.g., 'eng', 'fra').", "pattern": "^[a-z]{3}$", "maxLength": 3 }, "duration": { "type": "number", "description": "The total duration of the source media in seconds.", "minimum": 0 }, "score_explanation": { "type": "string", "description": "Defines the meaning of the 'score' field.", "maxLength": 256 }, "text": { "type": "string", "description": "The full, concatenated transcribed text. Optional if detailed segments are provided.", "maxLength": 524288 }, "segments": { "type": "array", "description": "An array of timed text segments. Can be used for phrases, sentences, or individual words.", "maxItems": 100000, "minItems": 1, "items": { "type": "object", "properties": { "text": { "type": "string", "description": "The text for this segment.", "maxLength": 4096 }, "start_time": { "type": "number", "description": "Segment start time in seconds.", "minimum": 0 }, "end_time": { "type": "number", "description": "Segment end time in seconds. Must not be earlier than start_time.", "minimum": 0 }, "language": { "type": "string", "description": "The 3-letter ISO-639-3 language code of this particular segment (e.g., 'eng', 'fra').", "pattern": "^[a-z]{3}$", "maxLength": 3 }, "speaker": { "type": "object", "description": "The speaker of this segment.", "properties": { "id": { "type": "string", "description": "Identifier for the speaker. Numeric identifiers, such as diarization cluster numbers, are written as strings (e.g., '0').", "maxLength": 128 }, "name": { "type": "string", "maxLength": 128, "description": "Name of the speaker." }, "score": { "type": "number", "description": "Confidence that this segment belongs to this speaker (0 to 1).", "minimum": 0, "maximum": 1 } }, "required": [ "id" ], "additionalProperties": false }, "events": { "type": "array", "description": "Array of strings describing non-verbal sounds or events within the segment (e.g., '[music]', '(laughter)').", "items": { "type": "string", "maxLength": 128 }, "maxItems": 64 }, "score": { "type": "number", "description": "The confidence score for this segment's transcription, ranging from 0.0 (uncertain) to 1.0 (certain).", "minimum": 0, "maximum": 1 }, "attributes": { "type": "object", "description": "Arbitrary metadata relevant to this segment.", "maxProperties": 16, "propertyNames": { "maxLength": 128 }, "additionalProperties": { "anyOf": [ { "type": "string", "maxLength": 1024 }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } } }, "required": [ "text", "start_time", "end_time" ], "additionalProperties": false } }, "attributes": { "type": "object", "description": "Arbitrary metadata relevant to this transcription.", "maxProperties": 16, "propertyNames": { "maxLength": 128 }, "additionalProperties": { "anyOf": [ { "type": "string", "maxLength": 1024 }, { "type": "number" }, { "type": "boolean" }, { "type": "null" } ] } } }, "anyOf": [ { "required": [ "text" ] }, { "required": [ "segments" ] } ], "additionalProperties": false}
Examples
Records that pass validation against this schema.
audio-transcription-1
{ "track_id": "1", "language": "eng", "text": "Welcome back! Today, my guest is the renowned chef, Jean-Pierre. Thank you, it's a pleasure. You know, the secret is simple, c'est une question de respect pour le produit. It's all about respecting the product.", "segments": [ { "text": "Welcome back! Today, my guest is the renowned chef, Jean-Pierre.", "start_time": 0.5, "end_time": 4.75, "speaker": { "id": "host_maria", "name": "Maria" }, "events": [ "music" ], "score": 0.98 }, { "text": "Thank you, it's a pleasure. You know, the secret is simple,", "start_time": 5.1, "end_time": 8.25, "speaker": { "id": "2", "name": "Jean-Pierre" }, "score": 0.95 }, { "text": "c'est une question de respect pour le produit.", "start_time": 8.25, "end_time": 10.9, "language": "fra", "speaker": { "id": "2", "name": "Jean-Pierre" }, "score": 0.92 }, { "text": "[laughter]", "start_time": 11.0, "end_time": 11.8, "speaker": { "id": "host_maria", "name": "Maria" }, "events": [ "laughter" ] }, { "text": "It's all about respecting the product.", "start_time": 12.0, "end_time": 14.5, "speaker": { "id": "2", "name": "Jean-Pierre" }, "score": 0.96 } ]}
Fields
-
track_idstring(Optional) Identifier for the specific audio track or channel in the source file. Numeric identifiers are written as strings (e.g., '0').
- at most 128 characters
-
producerstringThe creator (model, tool or author) of this transcription (e.g., 'Whisper-v3', 'Manual Review').
- at most 1024 characters
-
languagestringThe 3-letter ISO-639-3 language code of the transcription (e.g., 'eng', 'fra').
- at most 3 characters
- matches
^[a-z]{3}$
-
durationnumberThe total duration of the source media in seconds.
- ≥ 0
-
score_explanationstringDefines the meaning of the 'score' field.
- at most 256 characters
-
textstringThe full, concatenated transcribed text. Optional if detailed segments are provided.
- at most 524288 characters
-
segmentsarray of objectAn array of timed text segments. Can be used for phrases, sentences, or individual words.
- 1 to 100000 items
-
textstring requiredThe text for this segment.
- at most 4096 characters
-
start_timenumber requiredSegment start time in seconds.
- ≥ 0
-
end_timenumber requiredSegment end time in seconds. Must not be earlier than start_time.
- ≥ 0
-
languagestringThe 3-letter ISO-639-3 language code of this particular segment (e.g., 'eng', 'fra').
- at most 3 characters
- matches
^[a-z]{3}$
-
speakerobjectThe speaker of this segment.
-
idstring requiredIdentifier for the speaker. Numeric identifiers, such as diarization cluster numbers, are written as strings (e.g., '0').
- at most 128 characters
-
namestringName of the speaker.
- at most 128 characters
-
scorenumberConfidence that this segment belongs to this speaker (0 to 1).
- 0 to 1
-
-
eventsarray of stringArray of strings describing non-verbal sounds or events within the segment (e.g., '[music]', '(laughter)').
- at most 64 items
- each at most 128 characters
-
scorenumberThe confidence score for this segment's transcription, ranging from 0.0 (uncertain) to 1.0 (certain).
- 0 to 1
-
attributesobjectArbitrary metadata relevant to this segment.
- at most 16 properties
- keys at most 128 characters
-
*string | number | boolean | nullAny other key.
- string: at most 1024 characters
-
attributesobjectArbitrary metadata relevant to this transcription.
- at most 16 properties
- keys at most 128 characters
-
*string | number | boolean | nullAny other key.
- string: at most 1024 characters
Rules:
-
At least one of
text,segmentsmust be present.Show the JSON Schema
{ "anyOf": [ { "required": [ "text" ] }, { "required": [ "segments" ] } ]}
Copyright 2025-2026 Dorsal Hub LTD. Licensed under Apache-2.0.