Salad Transcription API · Schema
Salad Transcription Job
Schema for a Salad Transcription API job request and response.
Audio TranscriptionCaptionsDiarizationGPUSpeech RecognitionTranscriptionVideo Processing
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Unique identifier for the transcription job. |
| input | object | Input configuration for the transcription job. |
| metadata | object | Optional user-provided metadata attached to the job. |
| status | string | Current status of the transcription job. |
| events | array | Timeline of job status events. |
| output | object | Transcription output (available when status is 'succeeded'). |
| create_time | string | ISO 8601 timestamp when the job was created. |
| update_time | string | ISO 8601 timestamp of the last job update. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/api-evangelist/salad-transcription-api/json-schema/salad-transcription-job-schema.json",
"title": "Salad Transcription Job",
"description": "Schema for a Salad Transcription API job request and response.",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the transcription job.",
"example": "54e84442-3576-45ca-904c-a1d90bc77baf"
},
"input": {
"type": "object",
"description": "Input configuration for the transcription job.",
"required": ["url"],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "URL of the audio or video file to transcribe. Must be publicly accessible."
},
"language_code": {
"type": "string",
"description": "BCP-47 language code (e.g., 'en', 'fr', 'de'). Defaults to auto-detection.",
"default": "en",
"example": "en"
},
"word_level_timestamps": {
"type": "boolean",
"description": "Whether to include word-level timestamps in the output.",
"default": false
},
"diarization": {
"type": "boolean",
"description": "Whether to identify and separate individual speakers.",
"default": false
},
"srt": {
"type": "boolean",
"description": "Whether to generate SRT caption/subtitle output.",
"default": false
}
}
},
"metadata": {
"type": "object",
"description": "Optional user-provided metadata attached to the job.",
"additionalProperties": true
},
"status": {
"type": "string",
"description": "Current status of the transcription job.",
"enum": ["pending", "created", "running", "succeeded", "failed"]
},
"events": {
"type": "array",
"description": "Timeline of job status events.",
"items": {
"type": "object",
"properties": {
"action": {
"type": "string",
"description": "Event action name.",
"enum": ["created", "started", "succeeded", "failed"]
},
"time": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp of the event."
}
}
}
},
"output": {
"type": "object",
"description": "Transcription output (available when status is 'succeeded').",
"properties": {
"segments": {
"type": "array",
"description": "Array of transcribed segments.",
"items": {
"type": "object",
"properties": {
"start": { "type": "number", "description": "Start time in seconds." },
"end": { "type": "number", "description": "End time in seconds." },
"text": { "type": "string", "description": "Transcribed text for the segment." },
"speaker": { "type": "string", "description": "Speaker label (when diarization is enabled)." },
"words": {
"type": "array",
"description": "Word-level details (when word_level_timestamps is enabled).",
"items": {
"type": "object",
"properties": {
"word": { "type": "string" },
"start": { "type": "number" },
"end": { "type": "number" },
"score": { "type": "number", "description": "Confidence score (0–1)." },
"speaker": { "type": "string" }
}
}
}
}
}
},
"srt_content": {
"type": "string",
"description": "SRT-formatted caption content (when srt is enabled)."
},
"duration": {
"type": "number",
"description": "Total duration of the media in seconds."
},
"processing_time": {
"type": "number",
"description": "Time taken to process the transcription in seconds."
}
}
},
"create_time": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp when the job was created."
},
"update_time": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp of the last job update."
}
},
"required": ["input"]
}