Documentation Index
Fetch the complete documentation index at: https://docs.salad.com/llms.txt
Use this file to discover all available pages before exploring further.
Last Updated: February 28, 2025
Migrating from Azure Batch Transcription to Salad Transcription API will require only a simple API call modification.
Depending on which features you are using, you may also be able to reduce the number of API calls required, as Salad
Transcription API is able to handle multiple steps in one.
| Features | SaladCloud Transcription | Azure Batch Transcription |
|---|
| Translation | ✅ | Requires additional API |
| Audio Transcription | ✅ | ✅ |
| Video Transcription | ✅ | ✅ |
| Multilingual Transcription | ✅ | ✅ |
| Summarization | ✅ | Requires additional API |
| Speaker Identification | ✅ | ✅ |
| SRT Output | ✅ | ❌ |
| Transcribe Multiple Files | ❌ | ✅ |
| Max Length | 2.5 Hours | 4 Hours |
| Text Sentiment Analysis | ✅ | Requires Additional API |
| Text Classification | ✅ | Required Additional API |
| Custom LLM Prompt | ✅ | ❌ |
| Custom Vocabulary | ✅ | Requires Additional Model |
1. Get your Salad API Key.
- Open up https://portal.salad.com and sign up/log into your account.
- Navigate to your profile at the top right, and select API Access. Here you can find your API Key.
2. Updating job creation API calls.
If you’re just using the basic Speech To Text features from Azure Batch Transcription, moving to Salad Transcription API
is as simple as updating your API call.
Azure Batch Transcription
Your existing API calls using Azure Batch Transcription should look something like this:
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
"contentUrls": [
"https://crbn.us/hello.wav",
"https://crbn.us/whatstheweatherlike.wav"
],
"locale": "en-US",
"displayName": "My Transcription",
"model": null,
"properties": {
"wordLevelTimestampsEnabled": true,
"languageIdentification": {
"candidateLocales": [
"en-US", "de-DE", "es-ES"
],
}
},
}' "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions"
Salad Transcription API Equivalent
When using Salad Transcription API, you’ll update that job creation call to instead look like this:
curl -X POST https://api.salad.com/api/public/organizations/{my-organization}/inference-endpoints/transcribe/jobs \
-H "Salad-Api-Key: {your-api-key}" \
-H "Content-Type: application/json" \
-d '{
"input": {
"url": "https://example.com/path/to/file.mp3",
"language_code": "en",
"return_as_file": true,
"word_level_timestamps": true
},
}'
- If you’re copy/pasting this call, you’ll update the URL to include your Salad Organization Name.
- You’ll also need to include your SaladCloud API Key in the header.
- Next, you’ll add the URL to the file to transcribe into the URL object. Make sure the file length is less than 2.5
hours, and less than 3GB. Make sure the URL provided is to a direct download of the file. Header based security is not
compatible with Salad Transcription API, so you’ll need to use a signed URL like that offered by
Salad Simple Storage Service
One key difference between Azure Batch Transcription and Salad Transcription API is that Salad Transcription API is only
able to transcribe one file per job. Rather than submitting one job containing all of the URLs, you will instead create
a unique job for each file. Other than this, all other features available on a simple transcription available via Azure
Batch Transcription are also available via the Salad Transcription API. A breakdown of all our input parameters are
available here.
You will receive this JSON body from the POST response. You’ll need to cache the ID you receive, as this is how you’ll
pull your job results.
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"inference_endpoint_name": "transcribe",
"input": {
"property1": "value1",
"property2": "value2"
},
"metadata": null,
"organization_name": "example-corp",
"status": "pending",
"events": [],
"create_time": "2025-01-016T19:00:00Z",
"update_time": "2025-01-016T19:00:00Z"
}
3. More advanced jobs
If you are utilizing additional features offered by Azure to translate the text to another language, or summarize
intent, you can integrate these features into the same API call with Salad Transcription API.
Translation to English:
To activate translation on the same API call as above, just add the translate input parameter. This parameter is only
to convert from other languages to English. If you need to translate to another language, you’ll need to use our LLM
translation features, also available in the same API call.
curl -X POST https://api.salad.com/api/public/organizations/{my-organization}/inference-endpoints/transcribe/jobs \
-H "Salad-Api-Key: {your-api-key}" \
-H "Content-Type: application/json" \
-d '{
"input": {
"url": "https://example.com/path/to/file.mp3",
"translate": "to_eng"
"language_code": "de",
"return_as_file": true,
"word_level_timestamps": true
},
}
}'
Translation to other languages:
Utilizing our LLM translation services is similar to the direct to English translation, but uses a different input
parameter. Instead, you’ll use llm_translation. Eight languages are currently supported for LLM translation:
English, French, German, Italian, Portuguese, Hindi, Spanish, and Thai. You can translate to multiple languages at
once, and you’ll receive back the original transcription, along with translations in all the languages requested.
curl -X POST https://api.salad.com/api/public/organizations/{my-organization}/inference-endpoints/transcribe/jobs \
-H "Salad-Api-Key: {your-api-key}" \
-H "Content-Type: application/json" \
-d '{
"input": {
"url": "https://example.com/path/to/file.mp3",
"llm_translation": "italian, french",
"language_code": "en",
"return_as_file": true,
"word_level_timestamps": true
},
}
}'
Intent/summarization:
If you’re also using Azure services to obtain the intent or summarization of transcribed text, you can also integrate
this easily with Salad Transcription API with the same API call. For this, you’ll add the summarize input parameter,
with the word limit for the summarization.
curl -X POST https://api.salad.com/api/public/organizations/{my-organization}/inference-endpoints/transcribe/jobs \
-H "Salad-Api-Key: {your-api-key}" \
-H "Content-Type: application/json" \
-d '{
"input": {
"url": "https://example.com/path/to/file.mp3",
"llm_translation": "italian, french",
"summarize": 50,
"language_code": "en",
"return_as_file": true,
"word_level_timestamps": true
},
}
}'
4. Updating your job retrieval:
You’ll also need to update the code you’re using to retrieve your job results. Currently, your process with Azure Batch
Transcription is likely made up of two steps, checking the status of the job, and then another step to obtain the files
once complete. With Salad Transcription API, this is compacted into a single API call which contains the job status, as
well as the completed results once the job succeeds.
Azure Batch Transcription
Your flow with Azure Batch Transcription should look something like this:
- Check the status of the job
curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/YourTranscriptionId" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"
- Obtain the results from the completed job
curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/YourTranscriptionId/files" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"
Salad Transcription API Equivalent
Instead, you’ll update your API call to this:
curl --request GET \
--url https://api.salad.com/api/public/organizations/{organization_name}/inference-endpoints/transcribe/jobs/{job_id} \
--header 'Salad-Api-Key: <api-key>'
This method will return this JSON body:
{
"id":"7c425fc0-dd3d-4c6c-8b6a-a010187492dd",
"input":{
"url":"https://example.com/path/to/file.mp3",
"language_code":"en",
"return_as_file":true,
"word_level_timestamps":true
},
"inference_endpoint_name":"transcribe",
"status":"succeeded",
"events":[
{
"action":"created",
"time":"2025-01-22T15:57:26.0815348+00:00"
},
{
"action":"started",
"time":"2025-01-22T15:57:26.2061428+00:00"
},
{
"action":"succeeded",
"time":"2025-01-22T15:58:13.9323189+00:00"
}
],
"organization_name":"salad",
"output":{
"url":"https://storage-api.salad.com/organizations/salad/files/transcription/73b2ee75-664e-4332-a853-9210dde5c5fd?token=ac34664a-088d-4c72-b53c-c99cfbf538",
"duration_in_seconds":320.4135,
"duration":0.09,
"processing_time":46.076966285705566
},
"create_time":"2025-01-22T15:57:26.0815348+00:00",
"update_time":"2025-01-22T15:58:13.9323189+00:00"
}
Once the job is completed, the response will automatically update to include the URL for the file containing your job
results.