openapi: 3.0.0
info:
title: Salad Transcription default API
description: 'Salad Transcription API is a powerful tool that allows users to convert speech into written text in a variety of languages. This API uses advanced algorithms to accurately transcribe audio files, making it a valuable tool for businesses looking to efficiently convert spoken content into text for documentation or analysis. '
version: 1.0.0
servers:
- url: http://{{api url}}
tags:
- name: default
paths:
/:
post:
tags:
- default
summary: Transcribe
description: "To make a Transcription request, you must check/update the following [Body inputs](https://www.postman.com/salad-apis/workspace/salad-transcription-api/request/34559698-0d2079fe-2410-402b-a5f1-686ad10c5a48?tab=body) to ensure you get the desired transcript output.\n\n
\n\nInsert your media `\"url\"`. It will look like this [https://url-where-your-file-is-hosted.mp4.](https://getartists.world/wp-content/uploads/Salad%20Transcription%20Benchmark%20Data%20Set/AAPL%20Stock%20_%20Apple%20Inc.%20Q1%202021%20Earnings%20Call.mp4.) You can't use YouTube videos, Google Drive, or other file-sharing services. It must be on your website or a publicly available storage bucket like S3. If you don't have any of these, please use Salad's simple storage service [here](https://docs.salad.com/salad-simple-storage-service).\n\nThere is no need to convert your media files; send any of the following formats to Salad's Transcription API\n\n- _Audio:_ AIFF, FLAC, M4A, MP3, WAV\n \n- _Video:_ MP4, MKV, MOV, WEBM, WMA\n \n- **`language_code:`** Transcription is available in 97 languages. We automatically identify the source language and transcribe the following languages.\n \n - Afrikaans, Albanian, Amharic, Arabic, Armenian, Assamese, Azerbaijani, Bashkir, Basque, Belarusian, Bengali, Bosnian, Breton, Bulgarian, Burmese, Catalan, Chinese (Cantonese), Chinese (Mandarin), Croatian, Czech, Danish, Dutch, English, Estonian, Faroese, Finnish, French, Galician, Georgian, German, Greek, Gujarati, Haitian Creole, Hausa, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Italian, Japanese, Javanese, Kannada, Kazakh, Khmer, Korean, Lao, Latvian, Lithuanian, Macedonian, Malay, Malayalam, Maltese, Marathi, Mongolian, Nepali, Norwegian, Oriya, Pashto, Persian, Polish, Portuguese, Punjabi, Romanian, Russian, Sanskrit, Serbian, Shona, Sindhi, Sinhala, Slovak, Slovenian, Somali, Spanish, Sundanese, Swahili, Swedish, Tagalog, Tajik, Tamil, Tatar, Telugu, Thai, Turkish, Turkmen, Ukrainian, Urdu, Uzbek, Vietnamese, Welsh, Yiddish, Yoruba, Zulu.\n \n- **`diarization:`** Set to `\"true\"` for speaker separation and identification. If you don't require it, set it to `\"false\"`.\n \n - Diarization requires the `language_code` to be defined. By default, it is set to `\"en\"` (English). Update to these supported source languages if required. `\"fr\"` (French), `\"de\"` (German), `\"es\"` (Spanish), \"it\" (Italian), `\"ja\"` (Japanese), `\"zh\"` (Chinese), `\"nl\"` (Dutch), `\"uk\"` (Ukrainian), `\"pt\"` (Portuguese), `\"ar\"` (Arabic), \"cs (Czech), `\"ru\"` (Russian), `\"pl\"` (Polish), `\"hu\"` (Hungarian), `\"fi\"` (Finnish), `\"fa\"` (Persian), `\"el\"` (Greek), `\"tr\"` (Turkish), `\"da\"` (Danish), `\"he\"` (Hebrew), `\"vi\"` (Vietnamese), `\"ko\"` (Korean), `\"ur\"` (Urdu), `\"te\"` (Telugu), `\"hi\"` (Hindi), `\"ca\"` (Catalan), `\"ml\"` (Malayalam).\n \n- **`word_level_timestamps:`** Set to `\"true\"` to get word-level timestamps. Set to `\"false\"`, to get only sentence-level timestamps.\n \n- **`srt:`** Set to `\"true`\" to generate a .srt output for caption and subtitles. If you don't require it, set it to `\"false\"`\n \n\nThen click Send to submit your API post request, which, if successful, will display a confirmation response that will include the job `\"id\"` you'll need to [get your transcript](https://www.postman.com/salad-apis/workspace/salad-transcription-api/request/34559698-8289f043-40d8-4de1-a95e-7111285aeed9). It will look like this `00-681d01e03cec5f7122952100b66f2330-aa5b353301b6bc50-01`\n\n
\n\nNow it's time to get your [transcript](https://www.postman.com/salad-apis/workspace/salad-transcription-api/request/34559698-8289f043-40d8-4de1-a95e-7111285aeed9)."
requestBody:
content:
application/json:
schema:
type: object
example:
input:
url: insert-media-url-here
language_code: en
word_level_timestamps: true
diarization: true
srt: true
parameters:
- name: Content-Type
in: header
schema:
type: string
example: application/json
- name: Salad-Api-key
in: header
schema:
type: string
example: '{{Salad-Api-key}}'
responses:
'200':
description: Successful response
content:
application/json: {}
/insert-job-id-here:
get:
tags:
- default
summary: Get Transcript
description: "To retrieve your transcript, replace _(insert-job-id-here) in_ the GET url after the /.\n\n
\n\nClick Send, and if successful, you will see a status response, including your transcript, to be saved in .json format. All jobs are purged after 24 hours to adhere to Salad's [security](https://salad.com/security) and [privacy standards](https://salad.com/privacy).\n\n
\n\nHere's an example .json output.\n\n``` json\n{\n \"id\": \"54e84442-3576-45ca-904c-a1d90bc77baf\",\n \"input\": {\n \"url\": \"https://example.com/path/to/file.mp3\",\n \"language_code\": \"en\",\n \"word_level_timestamps\": true,\n \"diarization\": true,\n \"srt\": true\n },\n \"metadata\": {\n \"my-job-id\": 1234\n },\n \"status\": \"succeeded\",\n \"events\": [\n {\n \"action\": \"created\",\n \"time\": \"2024-05-15T23:49:37.9946816+00:00\"\n },\n {\n \"action\": \"started\",\n \"time\": \"2024-05-15T23:50:23.0483322+00:00\"\n },\n {\n \"action\": \"succeeded\",\n \"time\": \"2024-05-15T23:50:23.4688229+00:00\"\n }\n ],\n \"output\": {\n \"segments\": [\n {\n \"start\": 19.2,\n \"end\": 19.903,\n \"text\": \"Thank you.\",\n \"words\": [\n {\n \"word\": \"Thank\",\n \"start\": 19.662,\n \"end\": 19.783,\n \"score\": 0.232\n },\n {\n \"word\": \"you.\",\n \"start\": 19.803,\n \"end\": 19.903,\n \"score\": 0.545\n }\n ],\n \"speaker\": \"SPEAKER_00\"\n }\n ],\n \"word_segments\": [\n {\n \"word\": \"Thank\",\n \"start\": 19.662,\n \"end\": 19.783,\n \"score\": 0.232,\n \"speaker\": \"SPEAKER_00\"\n },\n {\n \"word\": \"you.\",\n \"start\": 19.803,\n \"end\": 19.903,\n \"score\": 0.545,\n \"speaker\": \"SPEAKER_00\"\n }\n ],\n \"srt_content\": \"1\n00:00:19,2 --> 00:00:22,233\nBecause when we change the dialogue, we can change our world.\n\",\n \"duration\": 142.7795,\n \"processing_time\": 51.17370915412903\n },\n \"create_time\": \"2024-05-15T23:49:37.9946816+00:00\",\n \"update_time\": \"2024-05-15T23:50:23.4688229+00:00\"\n}\n\n ```\n\nIf you configured your Input Body to include an .srt for captions or subtitles, at the end of the .json response you'll find the output you need in `\"srt_content\"`\n\n``` json\n \"srt_content\": \"1\n00:00:19,2 --> 00:00:22,233\nBecause when we change the dialogue, we can change our world.\n\",\n\n ```\n\n**\"status\"**\n\nIf your transcription request is\n\n- _pending_ it has not yet been picked up for processing.\n \n- _created_ the transcription job is now in our queue to be processed.\n \n- _running_ the transcription is processing.\n \n- _\"succeeded\"_ the transcript is ready.\n \n- _failed_ the transcript was not created. We will automatically re-try the transcription process until it fails three times. If we are unable to transcribe your media, you will get a 200 error with one of the following messages. Send us a support request at [support@salad.com](https://mailto:support@salad.com) if this happens.\n \n - File size is more than 3GB \n File can not be downloaded or duration is missing. Please check your file and try again. \n File duration is more than 2.5 hours"
parameters:
- name: Salad-Api-Key
in: header
schema:
type: string
example: '{{Salad-Api-key}}'
responses:
'200':
description: Successful response
content:
application/json: {}