Skip to content
OATSCHEMA

Docs / Schemas / audio-transcription / 0.4.0

Audio Transcription 0.4.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. Releases before 0.7.0 use the $id https://dorsalhub.com/schemas/open/audio-transcription and are served by DorsalHub.

$id
https://dorsalhub.com/schemas/open/audio-transcription
Latest
https://oatschema.org/audio-transcription
Versions
Source
v0.4.0 on GitHub

Schema

audio-transcription.json Raw
{    "x-license": {        "id": "Apache-2.0",        "notice": "Copyright 2025-2026 Dorsal Hub LTD",        "url": "https://github.com/dorsalhub/open-validation-schemas/blob/main/LICENSE"    },    "$schema": "https://json-schema.org/draft/2020-12/schema",    "$id": "https://dorsalhub.com/schemas/open/audio-transcription",    "title": "Audio Transcription",    "version": "0.4.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",                "integer"            ],            "maxLength": 128,            "description": "(Optional) Identifier for the specific audio track or channel in the source file."        },        "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,            "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.",                        "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",                        "properties": {                            "id": {                                "type": [                                    "string",                                    "integer"                                ],                                "maxLength": 128,                                "description": "Identifier for the speaker."                            },                            "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,                        "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,            "additionalProperties": {                "anyOf": [                    {                        "type": "string",                        "maxLength": 1024                    },                    {                        "type": "number"                    },                    {                        "type": "boolean"                    },                    {                        "type": "null"                    }                ]            }        }    },    "anyOf": [        {            "required": [                "text"            ]        },        {            "required": [                "segments"            ]        }    ],    "additionalProperties": false}

Fields

  • track_id ['string', 'integer']

    (Optional) Identifier for the specific audio track or channel in the source file.

    • at most 128 characters
  • producer string

    The creator (model, tool or author) of this transcription (e.g., 'Whisper-v3', 'Manual Review').

    • at most 1024 characters
  • language string

    The 3-letter ISO-639-3 language code of the transcription (e.g., 'eng', 'fra').

    • at most 3 characters
    • matches ^[a-z]{3}$
  • duration number

    The total duration of the source media in seconds.

    • ≥ 0
  • score_explanation string

    Defines the meaning of the 'score' field.

    • at most 256 characters
  • text string

    The full, concatenated transcribed text. Optional if detailed segments are provided.

    • at most 524288 characters
  • segments array of object

    An array of timed text segments. Can be used for phrases, sentences, or individual words.

    • at most 100000 items
    • text string required

      The text for this segment.

      • at most 4096 characters
    • start_time number required

      Segment start time in seconds.

      • ≥ 0
    • end_time number required

      Segment end time in seconds.

      • ≥ 0
    • language string

      The 3-letter ISO-639-3 language code of this particular segment (e.g., 'eng', 'fra').

      • at most 3 characters
      • matches ^[a-z]{3}$
    • speaker object
      • id ['string', 'integer'] required

        Identifier for the speaker.

        • at most 128 characters
      • name string

        Name of the speaker.

        • at most 128 characters
      • score number

        Confidence that this segment belongs to this speaker (0 to 1).

        • 0 to 1
    • events array of string

      Array of strings describing non-verbal sounds or events within the segment (e.g., '[music]', '(laughter)').

      • at most 64 items
      • each at most 128 characters
    • score number

      The confidence score for this segment's transcription, ranging from 0.0 (uncertain) to 1.0 (certain).

      • 0 to 1
    • attributes object

      Arbitrary metadata relevant to this segment.

      • at most 16 properties
      • * string | number | boolean | null

        Any other key.

        • string: at most 1024 characters
  • attributes object

    Arbitrary metadata relevant to this transcription.

    • at most 16 properties
    • * string | number | boolean | null

      Any other key.

      • string: at most 1024 characters

Rules:

  • At least one of text, segments must be present.
    Show the JSON Schema
    {  "anyOf": [    {      "required": [        "text"      ]    },    {      "required": [        "segments"      ]    }  ]}

Copyright 2025-2026 Dorsal Hub LTD. Licensed under Apache-2.0.