Skip to navigation

Regions

One API and one key on three hosts: api.speechify.ai, eu.api.speechify.ai and us.api.speechify.ai

Pin my client to a region
Point my project’s Speechify API client at the regional host that matches where my servers run, keep the same API key, and make one request that proves it works. Follow [https://docs.speechify.ai/build/guides/get-started/regions.md](https://docs.speechify.ai/build/guides/get-started/regions.md).

Overview

The Speechify API answers on three hosts. They take the same API key, accept the same requests and return the same responses. They differ only in which region runs speech synthesis.

HostSynthesis runs inUse it when
api.speechify.aiChosen by us: US East todayYou have no reason to choose. This is the default.
eu.api.speechify.aiEurope (the Netherlands)The code that calls the API runs in Europe.
us.api.speechify.aiUS East (Virginia)You want synthesis to stay in US East, even once api.speechify.ai routes by location.

api.sws.speechify.com is a legacy host, not a region: it stops serving on 19 January 2027 (see the changelog), so move any integration on it to api.speechify.ai.

A region is not data residency. It decides where synthesis runs, not where your data is stored or processed: your account, keys, voices, usage and logs are in the United States on every host. See What a region does not change.

What the host decides

The host chooses the region for the text-to-speech and voice endpoints only.

EndpointsOn eu.api.speechify.ai and us.api.speechify.ai
/v1/audio/*: speech, streaming, streaming with timestamps and the WebSocket input streamServed in the host’s region
/v1/voices and /v1/voices/*: listing, cloning and managing voicesServed in the host’s region
Every other endpointServed exactly as on api.speechify.ai, from US East

Pin a region

Set the regional host as your client’s base URL. Nothing else in your integration changes.

import os
from speechify import Speechify
client = Speechify(
token=os.environ["SPEECHIFY_API_KEY"],
base_url="https://eu.api.speechify.ai",
)
audio = client.audio.speech(
input="Hello from Europe.",
voice_id="geffen_32",
model="simba-3.2",
audio_format="mp3",
)

The WebSocket input stream takes the host the same way: wss://eu.api.speechify.ai/v1/audio/stream/ws. Integrations that accept a base URL take the regional host in place of the default, such as base_url in Pipecat and baseURL in the Vercel AI SDK provider.

Use HTTPS. A plain http:// request to a regional host is redirected to HTTPS on another host, which drops the pin.

How api.speechify.ai routes

Today api.speechify.ai serves every request from US East, wherever it comes from. It is the host that will route by location: when it starts sending requests to the region nearest the caller, the changelog will say so. If your integration depends on a fixed region, use a regional host rather than the default.

When a model has no capacity in the region

A request is never refused because its model has no capacity in the host’s region. The synthesis service runs in that region and sends the model work to the nearest pool that serves your model:

  1. A pool in the same region, when the model has one.
  2. Otherwise a pool in another region, usually US East.

Which models have capacity in Europe changes as we add it. If a pool fails before any audio has been sent, the request moves to the next pool. Once audio has started, the request stays where it is.

A pinned region is therefore not faster on its own: when the model runs elsewhere, the request still crosses to it. Measure first audio from where your code runs, on each host, before you choose; Latency shows how.

Availability

A regional host serves only from its own region, and never hands a request to another region’s service. If that region has an outage, requests to its host fail until it recovers. To keep serving through one, send the retry to another host. Incidents are posted on status.speechify.ai.

Limits and billing

On every host
PricesThe same
Spend limits, project budgets and your credit balanceCount spend from every region
Rate and concurrency limitsCounted in the region that serves the request
API version, request and response shapesThe same

What a region does not change

Regional hosts choose where synthesis runs. They do not keep your data in a region, and they do not make the API a data-residency service. On every host:

  • Your account, API keys, workspaces, projects and voices are stored in the United States.
  • Every request is authenticated against account data held in the United States.
  • Usage records, billing and request logs are kept in the United States.
  • The text you send can be processed in the United States: for content checks, and whenever the model runs there.

If you need your data stored and processed only within the EU, the regional hosts do not provide that.