> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Optymalizacja opóźnień

Ten przewodnik opisuje kluczowe zasady skracania opóźnień zamiany tekstu na mowę. Wyjaśnienie, czym jest opóźnienie i co na nie wpływa, znajdziesz w artykule [Zrozumienie opóźnień](/docs/pl/eleven-api/concepts/latency).

Istnieje wiele konkretnych technik, ale podzielimy je na **cztery zasady**.

#### Cztery zasady

1. [Używaj modeli Flash](#use-flash-models)
2. [Korzystaj ze streamingu](#leverage-streaming)
3. [Uwzględnij odległość geograficzną](#consider-geographic-proximity)
4. [Wybieraj odpowiednie głosy](#choose-appropriate-voices)

> **Success**
>
> Klienci Enterprise korzystają z wyższych limitów współbieżności i priorytetowego dostępu do naszej kolejki renderowania. [Skontaktuj się ze sprzedażą](https://elevenlabs.io/contact-sales), aby dowiedzieć się więcej o planach Enterprise.

## Używaj modeli Flash

[Modele Flash](/docs/pl/overview/models#flash-v25) oferują szybkość inferencji na poziomie \~75 ms, więc świetnie sprawdzają się w aplikacjach czasu rzeczywistego. Kompromisem jest nieco niższa jakość audio w porównaniu z [Multilingual v2](/docs/pl/overview/models#multilingual-v2).

> **Info**
>
> 75 ms dotyczy tylko czasu inferencji modelu. Rzeczywiste opóźnienie end-to-end zależy od takich czynników jak
> twoja lokalizacja i użyty typ endpointu.

## Korzystaj ze streamingu

W naszej [dokumentacji API](/docs/pl/api-reference/introduction) dostępne są trzy typy endpointów zamiany tekstu na mowę:

* **Zwykły endpoint**: Zwraca pełny plik audio w jednej odpowiedzi.
* **Endpoint streamingowy**: Stopniowo zwraca fragmenty audio przez [zdarzenia wysyłane przez serwer](https://html.spec.whatwg.org/multipage/server-sent-events.html#server-sent-events).
* **Endpoint WebSocket**: Umożliwia dwukierunkowy streaming do generowania audio w czasie rzeczywistym.

### Streaming

Endpointy streamingowe stopniowo zwracają audio podczas generowania go w czasie rzeczywistym, skracając czas do pierwszego bajtu. Ten endpoint polecamy, gdy tekst wejściowy jest dostępny od razu.

> **Info**
>
> Streaming jest obsługiwany przez API [Text to Speech](/docs/pl/api-reference/text-to-speech/stream),
> API [Voice Changer](/docs/pl/api-reference/speech-to-speech/stream) i API [Audio Isolation](/docs/pl/api-reference/audio-isolation/stream).

### WebSocket

[Endpoint WebSocket zamiany tekstu na mowę](/docs/pl/api-reference#text-to-speech-websocket) obsługuje dwukierunkowy streaming, dlatego idealnie nadaje się do aplikacji z tekstem wprowadzanym w czasie rzeczywistym (np. wynikami LLM).

> **Tip**
>
> Ustawienie `auto_mode` na true automatycznie obsługuje wyzwalanie generowania, więc nie musisz
> ręcznie zarządzać strategiami fragmentów.

Gdy `auto_mode` jest wyłączony, model czeka na wystarczającą ilość tekstu zgodną z harmonogramem fragmentów, zanim zacznie generować audio.

Na przykład, jeśli ustawisz harmonogram fragmentów na 125 znaków, ale nadejdzie tylko 50, model zatrzyma się, aż pojawią się kolejne znaki — co może zwiększyć opóźnienie.

Szczegóły implementacji znajdziesz w [przewodniku po WebSocket zamiany tekstu na mowę](/docs/pl/api-reference#text-to-speech-websocket).

## Wybieraj odpowiednie głosy

Zaobserwowaliśmy, że w niektórych przypadkach wybór głosu może wpływać na opóźnienie. Oto kolejność od najszybszych do najwolniejszych:

1. Głosy domyślne (dawniej gotowe), głosy syntetyczne i Instant Voice Clones (IVC)
2. Professional Voice Clones (PVC)

Formaty wyjściowe o wyższej jakości audio mogą zwiększać opóźnienie. Dopasuj wymagania dotyczące opóźnień do potrzebnej jakości audio.

> **Info**
>
> Aktywnie pracujemy nad optymalizacją opóźnień PVC dla Flash v2.5.

## Uwzględnij odległość geograficzną

Udostępniamy nasze modele z wielu regionów, aby zoptymalizować opóźnienia zależnie od twojej lokalizacji.

Na przykład przy użyciu modeli Flash z WebSocket możesz oczekiwać następujących opóźnień TTFB zależnie od lokalizacji:

| Region                    | TTFB      |
| ------------------------- | --------- |
| Ameryka Północna          | 100-150ms |
| Europa                    | 100-150ms |
| Azja Południowo-Wschodnia | 100-150ms |
| Azja Południowa           | 150-200ms |
| Azja Północno-Wschodnia   | 150-200ms |

Możesz sprawdzić, który region backendu obsługuje twoje żądanie, analizując nagłówek `x-region` w odpowiedzi API.
Obecnie używane regiony to: USA, Holandia i Singapur.

> **Info**
>
> Klienci Enterprise mogą korzystać z naszych dedykowanych środowisk rezydencji danych w UE i Indiach, aby mieć gwarancję
> lokalizacji serwera i niskie opóźnienia. Skontaktuj się z przedstawicielem sprzedaży, aby
> uzyskać dostęp do naszej infrastruktury rezydencji danych.

Aby zrezygnować z globalnego routingu i zawsze używać serwerów w USA, stosuj bazowy adres URL `api.us.elevenlabs.io` w żądaniach API:

```python
import os
from elevenlabs.client import ElevenLabs

elevenlabs = ElevenLabs(
    api_key=os.getenv("ELEVENLABS_API_KEY"),
    base_url="https://api.us.elevenlabs.io"
)

```

```typescript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
import "dotenv/config";

const elevenlabs = new ElevenLabsClient({
  apiKey: process.env.ELEVENLABS_API_KEY,
  baseUrl: "https://api.us.elevenlabs.io",
});
```

**`cURL`**

```bash cURL
curl -X POST -v "https://api.us.elevenlabs.io/v1/text-to-speech/{voice_id}" \
  -H "Accept: audio/mpeg" \
  -H "Content-Type: application/json" \
  -H "xi-api-key: YOUR_API_KEY" \
  -d '{
    "text": "Hello World!",
    "model_id": "eleven_flash_v2_5"
  }'
```

> **Warning**
>
> Wcześniej globalne serwery wymagały wyboru poprzez bazowy adres URL `api-global-preview.elevenlabs.io`.
> Nie jest to już konieczne, ponieważ jest to teraz zachowanie domyślne. Zaktualizuj aplikacje,
> aby używały po prostu `api.elevenlabs.io`.