<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/elevenlabs-on-ai-gateway-kcc75uqfb" -->

---
title: ElevenLabs on AI Gateway | daily.dev
description: Vercel's AI Gateway now supports 14 ElevenLabs audio models through a single API key. The models cover speech to text, streaming text to speech, realtime voice...
canonical: https://daily.dev/posts/elevenlabs-on-ai-gateway-kcc75uqfb
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: ElevenLabs on AI Gateway | daily.dev
og:description: Vercel's AI Gateway now supports 14 ElevenLabs audio models through a single API key. The models cover speech to text, streaming text to speech, realtime voice...
og:url: https://daily.dev/posts/elevenlabs-on-ai-gateway-kcc75uqfb
og:image: https://api.daily.dev/og/posts/kcc75UqfB.png
og:image:alt: ElevenLabs on AI Gateway
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# ElevenLabs on AI Gateway

**[Vercel](https://daily.dev/sources/vercel)** · 6 min read · 0 upvotes · 1 comments

## Summary

Vercel's AI Gateway now supports 14 ElevenLabs audio models through a single API key. The models cover speech to text, streaming text to speech, realtime voice agents, music generation, sound effects, and multi-voice dialogue. All ElevenLabs models are 50% off on AI Gateway for the first 14 days, through November 9th. Realtime voice agent models like Eleven Realtime v1 Max run transcription and speech in one WebSocket session, while models like Scribe v2 Realtime and Eleven Flash v2.5 can be chained with any language model. Every request shows up in the same usage, cost, and trace views as other AI Gateway traffic.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://vercel.com/blog/elevenlabs-on-ai-gateway>

## Questions this post answers

### How do I build a realtime voice agent with ElevenLabs on Vercel AI Gateway?

Use the Eleven Realtime v1 Max or v1 Mini model, which runs transcription and speech in one WebSocket session instead of chaining separate models. Call gateway.experimental_realtime.getToken with model 'elevenlabs/eleven-realtime-v1-max' to mint a short-lived token server-side, then connect in the browser with the useRealtime hook from @ai-sdk/react, setting turnDetection to semantic-vad since server-vad isn't supported.

_Developers wiring up voice agents can track AI Gateway and ElevenLabs integration details on daily.dev._

### How do I stream text to speech so users hear a reply before the language model finishes writing it?

Chain a transcription model, a language model, and a low-latency speech model together: transcribe audio with 'elevenlabs/scribe-v2-realtime', send the transcript to a text model like 'anthropic/claude-haiku-5.5', then pipe the streaming text into 'elevenlabs/eleven-flash-v2.5' using streamSpeech so audio starts playing while the text is still being generated.

_Anyone chaining transcription, LLM, and speech models can follow pipeline patterns like this on daily.dev._

### How do I generate multi-voice dialogue or a podcast script with ElevenLabs?

Use the Eleven v4, Eleven v4 Turbo, or Eleven v3 models with the generateSpeech or streamSpeech function, passing an array of text objects each assigned a different voice ID. Each voice change starts a new turn, and the result comes back as a single continuous recording rather than separate clips you'd need to stitch together.

_Teams building multi-speaker audio can compare approaches like this one on daily.dev._

## Community discussion

Top comments from developers on daily.dev.

**@sinarezaei** · 0 upvotes

> One thing I'd add to the fluid typography section is testing at 200% browser zoom, not just resizing the viewport. A heading like `font-size: 4vw` can look perfect across your breakpoints but barely grow when someone zooms in, because the CSS viewport shrinks at the same time. Using `clamp()` with `rem`-based limits and a fluid middle value is a better starting point, but I'd still test long headings and navigation at high zoom to catch clipping and overlap. Responsive isn't just about fitting the screen; the content has to survive when users change how they view it.

## Similar posts on daily.dev

- [AI Gateway now supports streaming transcription](https://daily.dev/posts/ai-gateway-now-supports-streaming-transcription-xgbwbzesl) · Vercel · 0 upvotes · 0 comments
- [ElevenLabs v3 Text-to-Speech on DigitalOcean Inference](https://daily.dev/posts/elevenlabs-v3-text-to-speech-on-digitalocean-inference-qekzeoxov) · DigitalOcean Community · 0 upvotes · 0 comments

---

Tags: [#text-to-speech](https://daily.dev/tags/text-to-speech), [#voice-ai](https://daily.dev/tags/voice-ai), [#ai-sdk](https://daily.dev/tags/ai-sdk), [#elevenlabs](https://daily.dev/tags/elevenlabs)

[View this post on daily.dev](https://daily.dev/posts/elevenlabs-on-ai-gateway-kcc75uqfb)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"ElevenLabs on AI Gateway","url":"https://daily.dev/posts/elevenlabs-on-ai-gateway-kcc75uqfb","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/elevenlabs-on-ai-gateway-kcc75uqfb"},"datePublished":"2026-10-27T19:56:08.620Z","dateModified":"2026-10-28T04:00:00.859Z","description":"Vercel's AI Gateway now supports 14 ElevenLabs audio models through a single API key. The models cover speech to text, streaming text to speech, realtime voice...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/a18fd1b934a939ee8c5f0ce432dab0e1?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/a18fd1b934a939ee8c5f0ce432dab0e1?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Vercel","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Vercel","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/04cca7235cf84db092f24b7ba427b3e1","url":"https://daily.dev/sources/vercel"},"commentCount":1,"discussionUrl":"https://daily.dev/posts/elevenlabs-on-ai-gateway-kcc75uqfb","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":1}],"keywords":"text-to-speech,voice-ai,ai-sdk,elevenlabs","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Vercel","item":"https://daily.dev/sources/vercel"},{"@type":"ListItem","position":3,"name":"ElevenLabs on AI Gateway"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/elevenlabs-on-ai-gateway-kcc75uqfb","comment":[{"@type":"Comment","text":"One thing I’d add to the fluid typography section is testing at 200% browser zoom, not just resizing the viewport. A heading like font-size: 4vw can look perfect across your breakpoints but barely grow when someone zooms in, because the CSS viewport shrinks at the same time. Using clamp() with rem-based limits and a fluid middle value is a better starting point, but I’d still test long headings and navigation at high zoom to catch clipping and overlap. Responsive isn’t just about fitting the screen; the content has to survive when users change how they view it.","datePublished":"2026-10-27T23:48:44.552Z","url":"https://daily.dev/posts/kcc75UqfB#c-oAxO0m1YH","author":{"@type":"Person","name":"Sina Rezaei","url":"https://daily.dev/sinarezaei","image":"https://lh3.googleusercontent.com/a/ACg8ocLXjJ5mCeyMCQK6CSjPfPxZisLuVwj3KOgnAtXoJoPAAsuvSrxh=s96-c"}}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/elevenlabs-on-ai-gateway-kcc75uqfb#faq","mainEntity":[{"@type":"Question","name":"How do I build a realtime voice agent with ElevenLabs on Vercel AI Gateway?","acceptedAnswer":{"@type":"Answer","text":"Use the Eleven Realtime v1 Max or v1 Mini model, which runs transcription and speech in one WebSocket session instead of chaining separate models. Call gateway.experimental_realtime.getToken with model 'elevenlabs/eleven-realtime-v1-max' to mint a short-lived token server-side, then connect in the browser with the useRealtime hook from @ai-sdk/react, setting turnDetection to semantic-vad since server-vad isn't supported. Developers wiring up voice agents can track AI Gateway and ElevenLabs integration details on daily.dev."}},{"@type":"Question","name":"How do I stream text to speech so users hear a reply before the language model finishes writing it?","acceptedAnswer":{"@type":"Answer","text":"Chain a transcription model, a language model, and a low-latency speech model together: transcribe audio with 'elevenlabs/scribe-v2-realtime', send the transcript to a text model like 'anthropic/claude-haiku-5.5', then pipe the streaming text into 'elevenlabs/eleven-flash-v2.5' using streamSpeech so audio starts playing while the text is still being generated. Anyone chaining transcription, LLM, and speech models can follow pipeline patterns like this on daily.dev."}},{"@type":"Question","name":"How do I generate multi-voice dialogue or a podcast script with ElevenLabs?","acceptedAnswer":{"@type":"Answer","text":"Use the Eleven v4, Eleven v4 Turbo, or Eleven v3 models with the generateSpeech or streamSpeech function, passing an array of text objects each assigned a different voice ID. Each voice change starts a new turn, and the result comes back as a single continuous recording rather than separate clips you'd need to stitch together. Teams building multi-speaker audio can compare approaches like this one on daily.dev."}}]}
```

