curl -X POST https://api.60db.ai/stt \
-H "Authorization: Bearer your-api-key" \
-F "audio=@recording.mp3" \
-F "language=en" \
-F "timestamps=true"
import { SixtyDBClient } from "60db";
const client = new SixtyDBClient("your-api-key");
const file = document.querySelector('input[type="file"]').files[0];
const result = await client.speechToText(file, {
language: "en",
});
console.log("Transcription:", result.text);
from sixtydb import SixtyDBClient
client = SixtyDBClient('your-api-key')
with open('recording.mp3', 'rb') as audio_file:
result = client.speech_to_text(audio_file, language='en')
print(f"Transcription: {result['text']}")
print(f"Confidence: {result['confidence']}")
{
"text": "Hello, this is a test of the speech to text API. It works great!",
"language": "en",
"confidence": 0.95,
"duration": 5.2,
"words": [
{
"word": "Hello",
"start": 0.0,
"end": 0.5,
"confidence": 0.98
},
{
"word": "this",
"start": 0.6,
"end": 0.8,
"confidence": 0.97
}
]
}
Speech-to-Text
Speech to Text
Transcribe audio to text
POST
/
stt
curl -X POST https://api.60db.ai/stt \
-H "Authorization: Bearer your-api-key" \
-F "audio=@recording.mp3" \
-F "language=en" \
-F "timestamps=true"
import { SixtyDBClient } from "60db";
const client = new SixtyDBClient("your-api-key");
const file = document.querySelector('input[type="file"]').files[0];
const result = await client.speechToText(file, {
language: "en",
});
console.log("Transcription:", result.text);
from sixtydb import SixtyDBClient
client = SixtyDBClient('your-api-key')
with open('recording.mp3', 'rb') as audio_file:
result = client.speech_to_text(audio_file, language='en')
print(f"Transcription: {result['text']}")
print(f"Confidence: {result['confidence']}")
{
"text": "Hello, this is a test of the speech to text API. It works great!",
"language": "en",
"confidence": 0.95,
"duration": 5.2,
"words": [
{
"word": "Hello",
"start": 0.0,
"end": 0.5,
"confidence": 0.98
},
{
"word": "this",
"start": 0.6,
"end": 0.8,
"confidence": 0.97
}
]
}
Request
Headers
string
required
Bearer token with your API key
string
required
multipart/form-data
Form Data
file
required
Audio file to transcribe - Supported formats: MP3, WAV, FLAC, OGG, M4A - Max
file size: 25MB - Max duration: 10 minutes
string
Language code for transcription (e.g., “en”, “es”, “fr”). If not specified,
language will be auto-detected.
string
default:"general"
Transcription model: “general”, “phone_call”, “meeting”, “medical”
boolean
default:"false"
Include word-level timestamps in the response
boolean
default:"false"
Enable speaker diarization (identify different speakers)
Response
string
Transcribed text
string
Detected or specified language code
number
Confidence score (0-1)
number
Audio duration in seconds
array
Word-level details (if timestamps enabled)
string
Individual word
number
Start time in seconds
number
End time in seconds
number
Word confidence score
curl -X POST https://api.60db.ai/stt \
-H "Authorization: Bearer your-api-key" \
-F "audio=@recording.mp3" \
-F "language=en" \
-F "timestamps=true"
import { SixtyDBClient } from "60db";
const client = new SixtyDBClient("your-api-key");
const file = document.querySelector('input[type="file"]').files[0];
const result = await client.speechToText(file, {
language: "en",
});
console.log("Transcription:", result.text);
from sixtydb import SixtyDBClient
client = SixtyDBClient('your-api-key')
with open('recording.mp3', 'rb') as audio_file:
result = client.speech_to_text(audio_file, language='en')
print(f"Transcription: {result['text']}")
print(f"Confidence: {result['confidence']}")
{
"text": "Hello, this is a test of the speech to text API. It works great!",
"language": "en",
"confidence": 0.95,
"duration": 5.2,
"words": [
{
"word": "Hello",
"start": 0.0,
"end": 0.5,
"confidence": 0.98
},
{
"word": "this",
"start": 0.6,
"end": 0.8,
"confidence": 0.97
}
]
}