Voice
Speech to Text
Transcribe and translate audio with Whisper. OpenAI transcriptions and translations, ElevenLabs speech-to-text. Billed per minute of audio.
Last reviewed 2026-08-25
OpenAI shape
POST /openai/v1/audio/transcriptions. whisper-1, gpt-4o-transcribe, and gpt-4o-mini-transcribe all resolve to whisper-large-v3.
from openai import OpenAI
client = OpenAI(base_url="https://api.mserve.ai/openai/v1", api_key="ms_live_your_key")
with open("meeting.mp3", "rb") as f:
transcript = client.audio.transcriptions.create(
model="whisper-large-v3",
file=f,
response_format="verbose_json",
timestamp_granularities=["word"],
)
print(transcript.text)Prop
Type
Translation
POST /openai/v1/audio/translations transcribes any language and returns English. Same parameters, same price.
with open("interview.mp3", "rb") as f:
english = client.audio.translations.create(model="whisper-large-v3", file=f)ElevenLabs shape
POST /elevenlabs/v1/speech-to-text. scribe_v1, scribe_v2, and scribe_v1_experimental resolve to whisper-large-v3.
from elevenlabs.client import ElevenLabs
client = ElevenLabs(base_url="https://api.mserve.ai/elevenlabs", api_key="ms_live_your_key")
with open("meeting.mp3", "rb") as f:
result = client.speech_to_text.convert(file=f, model_id="scribe_v1", timestamps_granularity="word")
print(result.text, result.language_code){ "language_code": "en", "language_probability": 0.99, "text": "Every model. One API.", "words": [{ "text": "Every", "start": 0.0, "end": 0.31, "type": "word" }] }Not supported
diarize and num_speakers return 422 with unsupported_parameter.
Pricing
| Model | Model id | Price | Unit |
|---|---|---|---|
| Whisper Large v3 Turbo | whisper-large-v3 | $0.006 per minute | Audio minutes |