SpeechWeave vs OpenAI: drop the 25 MB limit and the markup
A drop-in replacement for OpenAI's transcription endpoint. Keep the official OpenAI SDK, retire your audio-splitting scripts, and pay wholesale rates.
Rates and limits verified October 2026.
| SpeechWeave | OpenAI | SpeechWeave advantage | |
|---|---|---|---|
| Price per hour | Core standard: $0.09/hr Max standard: $0.24/hr Core deferred: $0.045/hr Max deferred: $0.12/hr | whisper-1: $0.36/hr gpt-4o-transcribe: about $0.36/hr gpt-4o-mini-transcribe: about $0.18/hr | Up to 75% lower than whisper-1, and deferred mode cuts it further |
| Max file size | 512 MB per job, higher limits available on request | 25 MB per file | 20x larger files per job |
| Chunking large recordings | No splitting needed. Standard cap is 512 MB per job with higher limits on request. | Yes for longer recordings. OpenAI’s guide recommends splitting audio into chunks of 25 MB or less. | No splitting scripts to maintain |
| Switching effort | Change the base URL and API key | Native SDK | Keep your existing OpenAI code |
Switch with one line
Keep the official OpenAI SDK. Change the base URL and API key, and the rest of your transcription code stays as is.
JavaScript
import fs from "node:fs";
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.SPEECHWEAVE_API_KEY,
baseURL: "https://api.speechweave.com/v1", // the only change
});
const transcription = await client.audio.transcriptions.create({
file: fs.createReadStream("long_meeting.mp3"),
model: "core",
});
console.log(transcription.text);
Python
from openai import OpenAI
client = OpenAI(
base_url="https://api.speechweave.com/v1", # the only change
api_key="your_speechweave_api_key",
)
with open("long_meeting.mp3", "rb") as audio_file:
transcript = client.audio.transcriptions.create(
model="core",
file=audio_file,
)
print(transcript.text)
cURL
curl https://api.speechweave.com/v1/audio/transcriptions \
-H "Authorization: Bearer $SPEECHWEAVE_API_KEY" \
-F file=@long_meeting.mp3 \
-F model=core
The drop-in route handles files up to your proxy limit (GET /v1/limits shows it). For full per-job uploads, use the SpeechWeave SDK, which has the same call shape.
When SpeechWeave is the right choice
- Recorded audio at volume: Podcasts, calls, meetings, and interviews at Core $0.09/hr, deferred $0.045/hr, against $0.36/hr for whisper-1.
- Large files, no splitting: Send full recordings up to 512 MB as one job through the SpeechWeave SDK. No splitter service, no words clipped at chunk boundaries.
- Work that can wait: Deferred service mode runs background jobs at half the standard rate.
- Audio privacy: Audio is deleted after every job and never used to train models.
SpeechWeave is purpose-built for recorded audio: podcasts, calls, meetings, and archives, where unit cost and file size decide your margins.