Free Speech-to-Speech API: Gemini Live and 3 Others

Quick answer: One real free speech-to-speech API exists in August 2026: Google's Gemini Live API, whose preview native-audio models are listed as "Free of charge" on the free tier — audio in and audio out, no billing account. OpenAI's Realtime API has no free tier at all ($32/$64 per million audio tokens). Hume's EVI gives 5 minutes a month. Everything else free is a model you host yourself.

A speech-to-speech model takes audio in and emits audio out in one pass — no transcript in the middle, so tone, pauses and interruptions survive. That is a different product from the three-model pipeline most voice tutorials build. This guide covers which speech-to-speech APIs cost $0 right now, what the free tier actually permits, and the licence clause that quietly disqualifies free-tier apps in Europe.

Speech-to-Speech vs the Cascade

The traditional stack is a cascade: speech-to-text → LLM → text-to-speech. It is cheap, every part has a generous free tier, and it is what our LiveKit vs Pipecat guide assembles. Its weakness is structural — the transcript is a bottleneck that throws away everything the words didn't carry, and each hop adds latency.

A native speech-to-speech model keeps the audio: it hears that you sounded unsure, can be interrupted mid-sentence, and answers in one hop. The cost is control — you cannot swap the voice engine, and you are billed on audio tokens rather than characters. Pick the cascade when you need a specific voice or a text log; pick speech-to-speech when the conversation itself is the product.

What Each Option Costs

Every figure below is from the provider's own pricing or terms page, linked in the first column — not from a review site.

ServiceFree tierCard?Ongoing?
Gemini Live API (3.1 Flash Live Preview)"Free of charge" — audio in and outNo✅ Yes, while in preview
Gemini 2.5 Flash Native Audio"Free of charge" — audio in and outNo✅ Yes, while in preview
OpenAI Realtime (gpt-realtime-2.1)None — $32/M audio in, $64/M outYes❌ No free tier
OpenAI Realtime miniNone — $10/M audio in, $20/M outYes❌ No free tier
Hume EVI5 minutes/month, 1 concurrent connection⚠️ Demo-sized
Alibaba Model Studio (Qwen omni realtime)~1M tokens per model, 90 days from activation❌ Expires
Qwen3-Omni-30B-A3B (self-host)Unlimited — Apache 2.0 weightsNo✅ Yes (your GPU bill)
Step-Audio-2-mini 8B (self-host)Unlimited — Apache 2.0 weightsNo✅ Yes (your GPU bill)

The gap is not subtle. Google publishes a per-minute conversion for the paid tier of the same model — $0.005/min for audio in, $0.018/min for audio out, about $1.38 per conversation-hour — and then hands you that model for nothing on the free tier. OpenAI publishes no per-minute figure and no free allowance at any volume.

Calling the Free Gemini Live API

An API key from AI Studio with no billing account attached is enough. The Live API is a WebSocket session, so the SDK call is connect(), not a request:

import asyncio, wave
from google import genai

client = genai.Client()
model = "gemini-3.1-flash-live-preview"
config = {"response_modalities": ["AUDIO"]}

async def main():
    async with client.aio.live.connect(model=model, config=config) as session:
        await session.send_client_content(
            turns={"role": "user", "parts": [{"text": "Hello, how are you?"}]},
            turn_complete=True,
        )
        chunks = []
        async for response in session.receive():
            sc = response.server_content
            if sc and sc.model_turn:
                for part in sc.model_turn.parts:
                    if part.inline_data:
                        chunks.append(part.inline_data.data)

    with wave.open("output.wav", "wb") as f:
        f.setnchannels(1); f.setsampwidth(2); f.setframerate(24000)
        f.writeframes(b"".join(chunks))

asyncio.run(main())

Two format details cause most first-run failures: input must be raw 16-bit PCM at 16 kHz, little-endian, and output arrives as raw 16-bit PCM at 24 kHz. Different rates, no container, no header — which is why the snippet writes the WAV header itself. For anything user-facing, use ephemeral tokens rather than shipping the key to a browser.

The Session Clock Nobody Reads

The free tier's real constraint is not a quota — it is time. Per Google's session documentation:

  • Audio-only sessions are limited to 15 minutes; audio-plus-video sessions to 2 minutes.
  • A single connection lives around 10 minutes, and the server sends a GoAway message with timeLeft before it drops.
  • Context window compression removes the session cap entirely — with a sliding window configured, sessions can run indefinitely.
  • Session resumption carries one session across reconnects; resumption tokens stay valid for 2 hours after the session ends.

So a support agent that must run for an hour is fine, but only if you configure for it. Build against the 15-minute default and your call dies mid-sentence in production.

Two Clauses That Decide Whether You Can Ship

The Gemini API terms draw a hard line between Unpaid and Paid Services, and both halves matter for a voice app.

Your audio trains the model. On the free tier Google uses your content to improve its products, and the terms state plainly that "human reviewers may read, annotate, and process your API input and output" — after disconnecting it from your account. For a text prompt that is a privacy question; for recorded customer voice it is a compliance question.

The free tier is geo-fenced for shipping. This is the clause almost no roundup mentions: for the EEA, Switzerland and the UK, you "may use only Paid Services when making API Clients available to users in" those regions. You can develop on the free tier anywhere, but the moment European users can reach your app, free stops being an option — the paid data terms apply automatically in those regions. Read the Gemini API terms before you build a business on the free row of that table.

Self-Hosting: Free, But Check the VRAM

Two Apache 2.0 models do genuine end-to-end speech-to-speech, with no revenue cap and no quota:

Qwen3-Omni-30B-A3B-Instruct is the strong one — a Thinker–Talker MoE that takes speech in 19 languages and speaks back in 10, claiming open-source state of the art on 32 of 36 audio and video benchmarks. The catch is in Qwen's own memory table: BF16 inference needs 78.85 GB of GPU memory for a 15-second clip, rising to 107.74 GB at 60 seconds. That is a rented H100, not a spare desktop.

Step-Audio-2-mini is the realistic self-host: 8B parameters, Apache 2.0, and genuine speech-to-speech conversation scoring 74.36 on StepFun's own S2S evaluation with a 3.50 average WER on English ASR. At 8B, BF16 weights are about 16 GB, so a single 24 GB card holds the model with room for activations — the arithmetic, not a benchmark run.

If your goal is $0 rather than end-to-end audio, the cascade is still cheaper to run: Groq's free Whisper tier plus a local Kokoro voice from our free text-to-speech comparison costs nothing and runs on CPU.

Limits to Know

  • Google no longer publishes free-tier rate limits. The rate-limits page now says limits "can be viewed in Google AI Studio" — there is no public RPM/RPD table for Live API models, so you cannot size a project without logging in.
  • "Preview" is the whole offer. Every free Live model carries a preview label, and preview models get more restrictive limits and no stability promise. Free today is not a committed price.
  • Concurrency binds before volume. Hume's free plan allows exactly 1 concurrent connection. Ten simultaneous callers break a free voice app long before any monthly total does.
  • Telephony is never included. SIP trunking and carrier minutes sit outside all of these prices.

Frequently Asked Questions

Is the Gemini Live API free for commercial use?

For professional and business development, yes — but with two conditions that are easy to miss. Free-tier audio may be read by human reviewers and used to improve Google's models, and API clients serving users in the EEA, Switzerland or the UK must run on Paid Services. Outside those regions, and with non-sensitive audio, the free tier is usable commercially.

Does OpenAI's Realtime API have a free tier?

No. OpenAI's pricing page lists no free allowance for any realtime model. gpt-realtime-2.1 is $32 per million audio input tokens and $64 per million output; the mini variant is $10 and $20. If you want to prototype a voice agent at $0, Gemini Live is the direct substitute — both are WebSocket, audio-in/audio-out APIs.

How long can a free speech-to-speech session run?

15 minutes for audio-only and 2 minutes with video by default on the Live API, with individual connections lasting about 10 minutes. Enabling context window compression lifts the session cap entirely, and session resumption tokens let one logical session survive reconnects for up to 2 hours.

Can I run speech-to-speech entirely offline?

Yes, if you have the GPU. Step-Audio-2-mini (8B, Apache 2.0) fits on a single 24 GB card; Qwen3-Omni-30B-A3B needs roughly 79 GB in BF16. Both are free to use commercially. On CPU-only hardware, a cascade with a local TTS model is the only workable route.

The Verdict

For prototyping, this is a one-horse race: Gemini Live's preview models are the only serious speech-to-speech API listed as free of charge, and the same code path moves to paid at roughly $1.38 an hour when you outgrow it. Before you build on it, check two things — that your users are outside the EEA, Switzerland and the UK, and that your audio is not sensitive enough to mind human review. If either fails, budget for the paid tier or self-host Step-Audio-2-mini. And if the conversation doesn't actually need tone and interruption handling, the free cascade still wins on cost and control.

Related Reads