Speech to text API with speaker names
Send an audio file, get back JSON: the text, who spoke, and their names where they said them aloud.
{
"language": "en",
"language_source": "detected",
"duration": 16.8,
"text": "Hi, I'm Maya Chen from support. Thanks Maya, this is Tom Becker. Our export keeps failing. Let's look at it together. Which file is it? The Q3 report, about two hours long. Sounds good, I can join that.",
"speakers": [
{
"id": "A",
"name": "Maya Chen"
},
{
"id": "B",
"name": "Tom Becker"
},
{
"id": "C",
"name": null
}
],
"segments": [
{
"start": 0.52,
"end": 3.9,
"speaker": "Maya Chen",
"speaker_id": "A",
"text": "Hi, I'm Maya Chen from support.",
"words": [ … ]
},
{
"start": 4.2,
"end": 7.1,
"speaker": "Tom Becker",
"speaker_id": "B",
"text": "Thanks Maya, this is Tom Becker. Our export keeps failing.",
"words": [ … ]
},
{
"start": 7.6,
"end": 11.4,
"speaker": "Maya Chen",
"speaker_id": "A",
"text": "Let's look at it together. Which file is it?",
"words": [ … ]
},
{
"start": 11.9,
"end": 14.2,
"speaker": "Tom Becker",
"speaker_id": "B",
"text": "The Q3 report, about two hours long.",
"words": [ … ]
},
{
"start": 14.6,
"end": 16.3,
"speaker": "C",
"speaker_id": "C",
"text": "Sounds good, I can join that.",
"words": [ … ]
}
]
}Upload, then one call
Upload the file, start the job, read the result. Speaker names are one option on the request.
Read the referenceUP=$(curl -s -X POST https://api.meetwave.io/v1/uploads -H "Authorization: Bearer $MEETWAVE_API_KEY")
curl -s -X PUT --upload-file 'meeting.mp3' "$(echo "$UP" | jq -r .upload_url)"
curl -s https://api.meetwave.io/v1/transcriptions -H "Authorization: Bearer $MEETWAVE_API_KEY" -H "Content-Type: application/json" -d "{\"upload_id\": \"$(echo "$UP" | jq -r .id)\", \"speaker_names\": true}"Uses jq. Then poll the job or pass a webhook — Reference
Real names, not Speaker 1
A speaker gets a name where it was said aloud in the audio. Where it was not, you get a letter, never a guess.
See the format- AMaya Chensaid aloud in the call
- BTom Beckersaid aloud in the call
- CCnever named, keeps its letter
Your audio is not kept
The file is deleted once it is processed. The transcript waits for you, then goes.
- Audiodeleted after processing
- Resultskept 72 hours, or until you delete them
- Trainingnever used
Pay for the hours you send
Billed per second from prepaid API usage credits, with no plan and no monthly minimum. The first hour is free.
See pricing- Text$0.12 an hour
- + Speakers$0.15 an hour
- + Names$0.20 an hour
Questions
MP3, WAV, M4A, OGG, OPUS, FLAC, AAC, WMA, WEBM, MP4, MOV, MKV and AVI. Video files work too: only the sound is read.
Up to 3 hours and 350 MB per file. For longer recordings, split them and send the parts.
The language is detected automatically. The response tells you which one it found, and you can pass a code to fix it.
Yes. Pass a webhook URL with the request and we post to it when the job completes or fails. Or poll the job by its id. Transcriptions reference.
When someone says their name or is addressed by it, the speaker gets that name. Anyone never named keeps a letter: A, B, C. Transcript format.
Per second of audio, at the hourly price of the options you ask for, from your API usage credits. No minimum per file. Create a key.
