Skip to main content
Last Updated: November 26, 2024

Accounts & Credentials

Create SaladCloud Account

To start, visit https://portal.salad.com/ to log in or create a free account. New users receive 5 free audio hours to transcribe at no cost! Watch our quick tutorial on how to use your free credits effectively. Create SaladCloud Account

Create SaladCloud Organization

Next, create a new organization or select an existing one you’d like to use for transcription. Click on Switch to this Organization for the org you want to use. Create SaladCloud Organization

Get Transcription API URL

Then, click on Inference Endpoints in the left-hand nav and open up the Transcription API or Transcription Lite. Access Salad Transcription API Copy your Transcription API URL Copy Transcription API URL

Authentication

Copy your SaladCloud API key from your account here. Token Instructions

How to Use Transcription APIs

We provide several examples and resources to help you use the API effectively:
  • For a cURL example and parameter descriptions, refer to Example cURL Post on this page.
  • For easy testing with our API reference, visit the API Reference.
  • For process automation, see Transcription Automation.
  • For native Python integration, check out our official Python SDK. The SDK simplifies file uploads to S4, authentication, job polling, and webhook handling, letting you transcribe and manage jobs with just a few lines of code.

Example cURL Post with Salad Transcription API

Example cURL Post with Transcription Lite

Webhook is a method that enables application to transmit data to another application immediately upon the occurrence of an event. Instead of having your application periodically poll for updates, a webhook delivers data to a specified URL as soon as the event occurs, facilitating instant communication and minimizing latency. In our case transcription result gets sent to the webhook.

Example cURL Get Transcript from Salad Transcription API

Example cURL Get Transcript from Transcription Lite

Step 1 | Configure Header

Configure you header to include your unique SaladCloud API URL which can be found above as the variable “API URL”. Also include your unique SaladCloud API key which can be found here as the variable “Salad-Api-Key”.

Step 2 | Set Input Parameters

To find more information about each parameter, please, visit “Features” option in the menu on the left. Update the JSON input parameters to customize your transcription output.

url

The url parameter should be a downloadable link to your audio or video file. We recommend using a file service like AWS S3, Azure Blob Storage, Dropbox, or Google Drive that offers secure, downloadable links. For instructions on how to generate downloadable links for these services, please refer to How to Create Downloadable File Links Send media in any of these formats. Audio: AIFF, FLAC, M4A, MP3, WAV Video: MKV, MOV, WEBM, WMA, MP4 (most codecs), AVI

return_as_file

Set to true to receive the transcription output as a downloadable file URL. This is useful for large outputs. Default is false.

language_code

Transcription is available in 97 languages. We automatically identify the source language. You only need to specify the “language_code” if diarization is required. Please note that accuracy varies across languages — some may perform better than others. For detailed accuracy information, refer to our language benchmark results.

sentence_level_timestamps

Sentence level timestamps are returned on default. Set to false if not needed.

word_level_timestamps

Set to “true” for word level timestamps. Set to “false” on default.

diarization

Set to “true” for speaker separation and identification. If you don’t require it, set it to “false”. Diarization requires the language_code to be defined. By default, it is set to "en" (English). You can also diarize in “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).

sentence_diarization

Set to true to include speaker information at the sentence level. Requires language_code to be specified. Default is false.

multichannel

Set to true to enable multichannel transcription. Each channel will be transcribed separately and labeled with channel and speaker. Falls back to regular speaker diarization if only one channel is present. Requires diarization for word-level speaker and channel labeling, or sentence_diarization for sentence-level speaker and channel labeling.

translate

Set "translate": "to_eng" to translate the transcription into English. This replaces the original transcription with the English translation. All additional parameters may also be used alongside translation.

llm_translation

(Salad Transcription API only) Provide a comma-separated list of target languages to translate the transcription into multiple languages using our LLM integration. The original transcription will be returned as normal, along with the translations. Supported languages: English, French, German, Italian, Portuguese, Hindi, Spanish, Thai

srt

Set to “true” to generate a .srt output for caption and subtitles. If you don’t require it, set it to “false”.

srt_translation

(Salad Transcription API only) Provide a comma-separated list of target languages to translate the generated SRT captions into multiple languages. The original transcription and SRT content will be returned as normal. Supported languages: English, French, German, Italian, Portuguese, Hindi, Spanish, Thai

summarize

(Salad Transcription API only) Set to an integer value representing the maximum number of words for the summary of the transcription.

custom_vocabulary (preview)

(Salad Transcription API only) Provide a comma-separated list of custom words or phrases to improve transcription accuracy for domain-specific terms.

custom_prompt (preview)

(Salad Transcription API only) Provide a custom instruction to perform specific analyses on the transcription using our LLM integration.

classification_labels

overall_classification

(Salad Transcription API only) Use the classification_labels parameter in conjunction with overall_classification to classify the entire transcription into specified categories using an LLM.

overall_sentiment_analysis

(Salad Transcription API only) Set “overall_sentiment_analysis”: true to perform sentiment analysis.

webhook

*Optional. Webhook is a method that enables application to transmit data to another application immediately when process is finished. Specify your webhook url to use.

my-job-id

*Optional. If you need an identifier from your system you can the job id as desired.

Step 3 | Make Post Request

Make your POST transcript request. If successful, you will receive a confirmation response that will include the job “id” *(ex: fb724cc9-d0f7-44a1-86c4-180c7fab975e).

Step 4 | Make Get Request

Make your GET transcript request. If successful, you will receive a JSON transcript output that will include the inputs you requested.
Example Transcript Output
“status” If your transcription request is “pending”, it has not yet been picked up for processing. “created” the transcription job is now in our queue to be processed. “running” the transcription is processing. “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 [email protected] if this happens. *“succeeded” the transcript is ready. If we were not able to pull your url, or there was another issue with the audio file you will see an “error” in the response and one of the reasons: *File size is more than 3GB *File can not be downloaded or duration is missing. Please check your file and try again. *File duration is more than 2.5 hours

API Reference

Access detailed API specifications and test requests directly by visiting the Transcription API Reference page.

Step 1: Set Up Authorization

  • In the dropdown menu on the left, make sure “Create a job for Salad Transcription API” is selected.
  • Enter your Salad API key and Organization Name. Follow instructions above if you do not know where to find them.
  • Under the Authorization section, provide your Salad API key.
  • Under the Path section, specify your organization name.
Transcription API Reference

Step 2: Configure Input Parameters

  • In the Body section, specify the input parameters as described in the documentation above.
  • Each parameter is explained directly on the reference page to help you customize your request.
Transcription API Reference 2

Step 3: Submit the Request

  • Click the Send button to submit the request.
  • Upon success, you’ll receive a response containing a unique "id" field. This Job ID will be used to retrieve the transcription results.
Transcription API Reference 3

Step 4: Retrieve Transcription Results

  • In the dropdown menu on the left, select “Get job for Salad Transcription API”.
  • Under the Authorization section, provide your Salad API key.
  • Under the Path section, specify your organization name and the Job ID you received in Step 3.
  • Click Send to fetch the transcription results.
Transcription API Reference 4

Example Response

  • The response will include the transcription output, timestamps, and other requested data, depending on the parameters you specified.
Transcription API Reference 5

Transcription Automation

Webhooks are already available, and you can check the documentation above (under Example cURL Post Transcript). Using webhooks is a better way to get results as soon as possible. However, if your use case better fits with polling, use the following code. Make sure you update it as needed:

Pass 1: Submitting Audio Files for Transcription

This part of the script submits audio files for transcription and collects job IDs. The job IDs are used in the second pass to check the status and retrieve the results.

Pass 2: Checking Job Status and Retrieving Results

This part of the script checks the status of each transcription job periodically and retrieves the results once the transcription is completed.