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)
Response
{ "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

ModelModel idPriceUnit
Whisper Large v3 Turbowhisper-large-v3$0.006 per minuteAudio minutes

On this page

Share feedback