> 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.

# Modele

> Learn about the models that power the ElevenLabs API.

## Flagowe modele

### Text to Speech

#### [Eleven v4](/docs/pl/overview/models#eleven-v4)

Nasz najbardziej emocjonalny model syntezy mowy o najwyższej jakości

Wyjątkowe możliwości klonowania głosu

Obsługa ponad 90 języków

Limit 10 000 znaków

Obsługa naturalnych dialogów wielu mówców

#### [Eleven v4 Turbo](/docs/pl/overview/models#eleven-v4-turbo)

Nasz najbardziej emocjonalny model syntezy mowy w czasie rzeczywistym

Bardzo niskie opóźnienie (mediana opóźnienia inferencji \~100ms†)

Wyjątkowe możliwości klonowania głosu

Obsługa ponad 90 języków

Tagi audio zapewniające precyzyjną kontrolę

#### [Eleven v3](/docs/pl/overview/models#eleven-v3)

Nasz ekspresyjny model syntezy mowy bogaty w emocje

Dramatyczna interpretacja i wykonanie

Obsługa ponad 70 języków

Limit 5000 znaków

Obsługa naturalnych dialogów wielu mówców

#### [Eleven v3 Conversational](/docs/pl/overview/models#eleven-v3-conversational)

Nasz ekspresyjny model syntezy mowy w czasie rzeczywistym

Niskie opóźnienie (\~280ms)

Dramatyczna interpretacja i wykonanie

Obsługa ponad 70 języków

Tagi audio zapewniające precyzyjną kontrolę

#### [Eleven Multilingual v2](/docs/pl/overview/models#multilingual-v2)

Model syntezy mowy o naturalnym brzmieniu i stałej jakości

Naturalnie brzmiące nagrania

Obsługa 29 języków

Limit 10 000 znaków

Najbardziej stabilny przy długich generacjach

#### [Eleven Flash v2.5](/docs/pl/overview/models#flash-v25)

Nasz szybki, przystępny cenowo model syntezy mowy

Bardzo niskie opóźnienie (\~75ms†)

Obsługa 32 języków

Limit 40 000 znaków

Szybszy model, cena za znak dla generacji API niższa o 50%

### Speech to Text

#### [Scribe v2](/docs/pl/overview/models#scribe-v2)

Najnowocześniejszy model rozpoznawania mowy

Dokładna transkrypcja w ponad 90 językach

Podpowiadanie kluczowych terminów, do 1000 terminów

Wykrywanie encji, 65 typów encji

Edycja transkrypcji za pomocą instrukcji w języku naturalnym

Precyzyjne znaczniki czasu na poziomie słów

Diarizacja mówców, do 32 mówców

Dynamiczne tagowanie audio

Inteligentne wykrywanie języka

#### [Scribe v2 Realtime](/docs/pl/overview/models#scribe-v2-realtime)

Model rozpoznawania mowy w czasie rzeczywistym

Dokładna transkrypcja w ponad 90 językach

Transkrypcja w czasie rzeczywistym

Niskie opóźnienie (\~150ms†)

Precyzyjne znaczniki czasu na poziomie słów

Wykrywanie encji, 65 typów encji

Edycja transkrypcji za pomocą instrukcji w języku naturalnym

#### [Scribe v2 Medical](/docs/pl/overview/models#scribe-v2-medical)

Model rozpoznawania mowy dostrojony do nagrań klinicznych

O 35% mniej błędów transkrypcji nagrań klinicznych niż w Scribe v2

Taka sama dokładność codziennej mowy jak Scribe v2

Te same funkcje, języki, ceny i API co Scribe v2

### Agenci głosowi

#### [Eleven Realtime v1 Mini](/docs/pl/overview/models#eleven-realtime)

Nasz model Realtime do szybkich, naturalnych rozmów

Kompletny agent głosowy z rozpoznawaniem mowy, zmianą tur, LLM i głosem, dostrojony jako jeden
system

Zoptymalizowany pod kątem szybkości i naturalnego przebiegu rozmowy

Naturalna zmiana tur i obsługa przerwań

Obsługa ponad 90 języków

Dostępny w ElevenAgents i przez zgodne z OpenAI Realtime API

#### [Eleven Realtime v1 Max](/docs/pl/overview/models#eleven-realtime)

Nasz model Realtime do złożonych zadań

Kompletny agent głosowy z rozpoznawaniem mowy, zmianą tur, LLM i głosem, dostrojony jako jeden
system

Zoptymalizowany pod kątem precyzyjnych, przemyślanych odpowiedzi w wieloetapowych zadaniach

Wywoływanie narzędzi do wyszukiwania i działań podczas rozmowy

Obsługa ponad 90 języków

Dostępny w ElevenAgents i przez zgodne z OpenAI Realtime API

### Muzyka

#### [Eleven Music v2.5](/docs/pl/overview/models#eleven-music)

Nasz najbardziej zaawansowany model muzyczny

Lepsza jakość i zgodność z promptem

Bogatsze melodie, głębsze aranżacje i więcej warstw instrumentów.

Te same workflow i obsługa: plany kompozycji, referencje audio i inpainting

#### [Eleven Music v2](/docs/pl/overview/models#eleven-music)

Muzyka studyjnej jakości z promptami w języku naturalnym, w każdym stylu

Pełna kontrola nad gatunkiem, stylem i strukturą

Wokal lub sama ścieżka instrumentalna

Wiele języków, w tym angielski, hiszpański, niemiecki, japoński i inne

Edytuj brzmienie i tekst poszczególnych części lub całego utworu

[Cennik](https://elevenlabs.io/pricing/api)

## Przegląd modeli

API ElevenLabs oferuje szeroki wybór modeli audio zoptymalizowanych pod różne zastosowania, poziomy jakości i wymagania dotyczące wydajności.

| Identyfikator modelu         | Opis                                                                                                                                                                                                                          | Języki                                                                                                                                                                        |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `eleven_v4`                  | Nasz model syntezy mowy o najbogatszej emocjonalności i ekspresji                                                                                                                                                             | [Ponad 90 języków](/docs/pl/overview/models#supported-languages)                                                                                                              |
| `eleven_v4_turbo`            | Nasz najbardziej ekspresyjny model syntezy mowy w czasie rzeczywistym (\~100 ms†)                                                                                                                                             | [Ponad 90 języków](/docs/pl/overview/models#supported-languages)                                                                                                              |
| `eleven_v3`                  | Naturalne, ekspresyjne generowanie mowy                                                                                                                                                                                       | [Ponad 70 języków](/docs/pl/overview/models#supported-languages-2)                                                                                                            |
| `eleven_v3_conversational`   | Nasz najbardziej ekspresyjny model syntezy mowy w czasie rzeczywistym (\~280 ms†)                                                                                                                                             | [Ponad 70 języków](/docs/pl/overview/models#supported-languages-2)                                                                                                            |
| `eleven_ttv_v3`              | Naturalny i ekspresyjny model Voice Design (Text to Voice)                                                                                                                                                                    | [Ponad 70 języków](/docs/pl/overview/models#supported-languages-2)                                                                                                            |
| `eleven_multilingual_v2`     | Nasz realistyczny model o bogatej ekspresji emocjonalnej                                                                                                                                                                      | `en`, `ja`, `zh`, `de`, `hi`, `fr`, `ko`, `pt`, `it`, `es`, `id`, `nl`, `tr`, `fil`, `pl`, `sv`, `bg`, `ro`, `ar`, `cs`, `el`, `fi`, `hr`, `ms`, `sk`, `da`, `ta`, `uk`, `ru` |
| `eleven_flash_v2_5`          | Ultraszybki model zoptymalizowany do użycia w czasie rzeczywistym (\~75 ms†)                                                                                                                                                  | Wszystkie języki `eleven_multilingual_v2` oraz: `hu`, `no`, `vi`                                                                                                              |
| `eleven_flash_v2`            | Ultraszybki model zoptymalizowany do użycia w czasie rzeczywistym (\~75 ms†)                                                                                                                                                  | `en`                                                                                                                                                                          |
| `eleven_multilingual_sts_v2` | Zaawansowany wielojęzyczny model Voice Changer (Speech to Speech)                                                                                                                                                             | `en`, `ja`, `zh`, `de`, `hi`, `fr`, `ko`, `pt`, `it`, `es`, `id`, `nl`, `tr`, `fil`, `pl`, `sv`, `bg`, `ro`, `ar`, `cs`, `el`, `fi`, `hr`, `ms`, `sk`, `da`, `ta`, `uk`, `ru` |
| `eleven_multilingual_ttv_v2` | Zaawansowany wielojęzyczny model Voice Design (Text to Voice)                                                                                                                                                                 | `en`, `ja`, `zh`, `de`, `hi`, `fr`, `ko`, `pt`, `it`, `es`, `id`, `nl`, `tr`, `fil`, `pl`, `sv`, `bg`, `ro`, `ar`, `cs`, `el`, `fi`, `hr`, `ms`, `sk`, `da`, `ta`, `uk`, `ru` |
| `eleven_english_sts_v2`      | Model Voice Changer tylko dla języka angielskiego (Speech to Speech)                                                                                                                                                          | `en`                                                                                                                                                                          |
| `scribe_v2_realtime`         | Model rozpoznawania mowy w czasie rzeczywistym                                                                                                                                                                                | [Ponad 90 języków](/docs/pl/overview/capabilities/speech-to-text#supported-languages)                                                                                         |
| `scribe_v2`                  | Zaawansowany model rozpoznawania mowy                                                                                                                                                                                         | [Ponad 90 języków](/docs/pl/overview/capabilities/speech-to-text#supported-languages)                                                                                         |
| `scribe_v2_medical`          | Model rozpoznawania mowy wyspecjalizowany w audio medycznym i klinicznym                                                                                                                                                      | [Ponad 90 języków](/docs/pl/overview/capabilities/speech-to-text#supported-languages)                                                                                         |
| `eleven_realtime_v1_mini`    | Pełna konfiguracja modelu agenta głosowego, zoptymalizowana pod szybkie, naturalne rozmowy                                                                                                                                    | [Ponad 90 języków](/docs/pl/overview/models#supported-languages)                                                                                                              |
| `eleven_realtime_v1_max`     | Pełna konfiguracja modelu agenta głosowego, zoptymalizowana pod złożone zadania wieloetapowe                                                                                                                                  | [Ponad 90 języków](/docs/pl/overview/models#supported-languages)                                                                                                              |
| `eleven_text_to_sound_v2`    | Generowanie efektów dźwiękowych na podstawie promptów tekstowych                                                                                                                                                              | Nie dotyczy                                                                                                                                                                   |
| `music_v2_5`                 | Nasz najbardziej zaawansowany model muzyczny. Generowanie jakości studyjnej na podstawie promptów tekstowych, planów kompozycji i wcześniej wygenerowanych utworów, z lepszą jakością i zgodnością z promptami niż `music_v2` | `en`, `es`, `de`, `ja` i inne                                                                                                                                                 |
| `music_v2`                   | Generowanie muzyki jakości studyjnej na podstawie promptów tekstowych, planów kompozycji i wcześniej wygenerowanych utworów                                                                                                   | `en`, `es`, `de`, `ja` i inne                                                                                                                                                 |
| `music_v1`                   | Generowanie muzyki jakości studyjnej na podstawie promptów tekstowych. Przewyższany przez `music_v2` i `music_v2_5`                                                                                                           | `en`, `es`, `de`, `ja` i inne                                                                                                                                                 |

† Bez opóźnień aplikacji i sieci. Zobacz [Informacje o opóźnieniach](/docs/pl/eleven-api/concepts/latency).

### Wycofane modele

> **Warning**
>
> Modele `eleven_turbo_v2_5` i `eleven_turbo_v2` są funkcjonalnie równoważne odpowiednio
> modelom `eleven_flash_v2_5` i `eleven_flash_v2`, z wyjątkiem tego, że modele Flash mają średnio
> niższe opóźnienia. Zalecamy używanie modeli Flash zamiast modeli Turbo we wszystkich
> przypadkach użycia.

| Identyfikator modelu | Opis                                                                               | Języki                                                                                                                                                                                          | Sugerowany model zastępczy |
| -------------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- |
| `eleven_turbo_v2_5`  | Model pierwszej generacji o niskich opóźnieniach (przewyższany przez modele Flash) | `en`, `ja`, `zh`, `de`, `hi`, `fr`, `ko`, `pt`, `it`, `es`, `id`, `nl`, `tr`, `fil`, `pl`, `sv`, `bg`, `ro`, `ar`, `cs`, `el`, `fi`, `hr`, `ms`, `sk`, `da`, `ta`, `uk`, `ru`, `hu`, `no`, `vi` | `eleven_flash_v2_5`        |
| `eleven_turbo_v2`    | Model pierwszej generacji o niskich opóźnieniach (przewyższany przez modele Flash) | `en`                                                                                                                                                                                            | `eleven_flash_v2`          |
| `scribe_v1`          | Rozpoznawanie mowy pierwszej generacji (przewyższane przez modele v2)              | [Ponad 90 języków](/docs/pl/overview/capabilities/speech-to-text#supported-languages)                                                                                                           | `scribe_v2`                |

## Eleven v4

Eleven v4 to nasz najnowocześniejszy model syntezy mowy, oferujący najwyższą jakość audio, ekspresję i kontrolę nad sposobem wypowiedzi głosów. Eleven v4 obsługuje klonowanie głosu w wysokiej jakości z niezawodnym zachowaniem cech mówcy podczas generowania długich tekstów.

Ten model sprawdza się w następujących zastosowaniach:

* **Głosy postaci**: Idealny do gier i animacji dzięki szerokiemu zakresowi emocji.
* **Emocjonalne dialogi**: Twórz naturalne, realistyczne dialogi o szerokiej gamie emocji i z uwzględnieniem kontekstu.
* **Produkcja audiobooków**: Idealny do długich narracji o złożonym przekazie emocjonalnym.
* **Projekty wielojęzyczne**: Utrzymuje spójną jakość głosu przy zmianie języka.

Eleven v4 jest dostępny przez [Text to Dialogue API](/docs/pl/api-reference/text-to-dialogue/convert).

### Obsługiwane języki

Rodzina modeli Eleven v4 obsługuje ponad 90 języków, w tym:

*Afrikaans (af), arabski (ar), ormiański (hy), asamski (as), asturyjski (ast), azerski (az), białoruski (be), bengalski (bn), bośniacki (bs), bułgarski (bg), birmański (my), kantoński (yue), kataloński (ca), cebuański (ceb), chorwacki (hr), czeski (cs), duński (da), niderlandzki (nl), angielski (en), estoński (et), filipiński (fil), fiński (fi), francuski (fr), galicyjski (gl), gruziński (ka), niemiecki (de), grecki (el), gudźarati (gu), hausa (ha), hebrajski (he), hindi (hi), węgierski (hu), islandzki (is), indonezyjski (id), irlandzki (ga), włoski (it), japoński (ja), jawajski (jv), kannada (kn), kazachski (kk), koreański (ko), kirgiski (ky), łotewski (lv), lingala (ln), litewski (lt), luksemburski (lb), macedoński (mk), malajski (ms), malajalam (ml), maltański (mt), mandaryński chiński (zh), maoryski (mi), marathi (mr), mongolski (mn), nepalski (ne), norweski (no), oksytański (oc), orija (or), paszto (ps), perski (fa), polski (pl), portugalski (pt), pendżabski (pa), rumuński (ro), rosyjski (ru), serbski (sr), sindhi (sd), słowacki (sk), słoweński (sl), somalijski (so), hiszpański (es), suahili (sw), szwedzki (sv), tadżycki (tg), tamilski (ta), telugu (te), tajski (th), turecki (tr), ukraiński (uk), urdu (ur), uzbecki (uz), wietnamski (vi), walijski (cy), joruba (yo).*

> **Note**
>
> Parametr `language_code` przyjmuje dwuliterowe kody [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1)
> dla większości języków. Języki bez kodu ISO 639-1 używają trzy-literowych kodów [ISO 639-3](https://en.wikipedia.org/wiki/ISO_639-3): asturyjski (`ast`), kantoński
> (`yue`), cebuański (`ceb`) i filipiński (`fil`).

## Eleven v4 Turbo

Eleven v4 Turbo to nasz najnowocześniejszy model syntezy mowy w czasie rzeczywistym, oferujący wysoką jakość audio, ekspresję i kontrolę nad sposobem wypowiedzi głosów. Eleven v4 Turbo obsługuje klonowanie głosu w wysokiej jakości i zapewnia wyniki przy medianie opóźnienia inferencji wynoszącej \~100 ms.

Ten model sprawdza się w następujących zastosowaniach:

* **Agenci wsparcia**: Zasilaj agentów głosowych, którzy rozwiązują zgłoszenia klientów w czasie rzeczywistym.
* **Asystenci AI**: Twórz naturalne, realistyczne dialogi o szerokiej gamie emocji i z uwzględnieniem kontekstu.
* **Interaktywne postacie**: Doskonały do doświadczeń audio z ekspresyjnymi postaciami.

Eleven v4 Turbo jest dostępny przez [WebSocket Text to Dialogue](/docs/pl/eleven-api/guides/how-to/websockets/realtime-tdd).

### Obsługiwane języki

Rodzina modeli Eleven v4 obsługuje ponad 90 języków, w tym:

*Afrikaans (af), arabski (ar), ormiański (hy), asamski (as), asturyjski (ast), azerski (az), białoruski (be), bengalski (bn), bośniacki (bs), bułgarski (bg), birmański (my), kantoński (yue), kataloński (ca), cebuański (ceb), chorwacki (hr), czeski (cs), duński (da), niderlandzki (nl), angielski (en), estoński (et), filipiński (fil), fiński (fi), francuski (fr), galicyjski (gl), gruziński (ka), niemiecki (de), grecki (el), gudźarati (gu), hausa (ha), hebrajski (he), hindi (hi), węgierski (hu), islandzki (is), indonezyjski (id), irlandzki (ga), włoski (it), japoński (ja), jawajski (jv), kannada (kn), kazachski (kk), koreański (ko), kirgiski (ky), łotewski (lv), lingala (ln), litewski (lt), luksemburski (lb), macedoński (mk), malajski (ms), malajalam (ml), maltański (mt), mandaryński chiński (zh), maoryski (mi), marathi (mr), mongolski (mn), nepalski (ne), norweski (no), oksytański (oc), orija (or), paszto (ps), perski (fa), polski (pl), portugalski (pt), pendżabski (pa), rumuński (ro), rosyjski (ru), serbski (sr), sindhi (sd), słowacki (sk), słoweński (sl), somalijski (so), hiszpański (es), suahili (sw), szwedzki (sv), tadżycki (tg), tamilski (ta), telugu (te), tajski (th), turecki (tr), ukraiński (uk), urdu (ur), uzbecki (uz), wietnamski (vi), walijski (cy), joruba (yo).*

> **Note**
>
> Parametr `language_code` przyjmuje dwuliterowe kody [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1)
> dla większości języków. Języki bez kodu ISO 639-1 używają trzy-literowych kodów [ISO 639-3](https://en.wikipedia.org/wiki/ISO_639-3): asturyjski (`ast`), kantoński
> (`yue`), cebuański (`ceb`) i filipiński (`fil`).

## Eleven v3

Eleven v3 to nasz model syntezy mowy poprzedniej generacji, który tworzy naturalną, realistyczną mowę o szerokiej gamie emocji i z uwzględnieniem kontekstu w wielu językach.

Wraz z Eleven v3 wprowadziliśmy nowe Text to Dialogue API, które pozwala tworzyć naturalne, realistyczne dialogi o szerokiej gamie emocji i z uwzględnieniem kontekstu w wielu językach. Eleven v3 można też używać z Text to Speech API do tworzenia naturalnej, realistycznej mowy o szerokiej gamie emocji i z uwzględnieniem kontekstu w wielu językach.

Więcej o Text to Dialogue API przeczytasz [tutaj](/docs/pl/overview/capabilities/text-to-dialogue).

### Obsługiwane języki

Model Eleven v3 obsługuje ponad 70 języków, w tym:

*Afrikaans (af), arabski (ar), ormiański (hy), asamski (as), asturyjski (ast), azerski (az), białoruski (be), bengalski (bn), bośniacki (bs), bułgarski (bg), birmański (my), kantoński (yue), kataloński (ca), cebuański (ceb), cziczewa (ny), chorwacki (hr), czeski (cs), duński (da), niderlandzki (nl), angielski (en), estoński (et), filipiński (fil), fiński (fi), francuski (fr), galicyjski (gl), gruziński (ka), niemiecki (de), grecki (el), gudźarati (gu), hausa (ha), hebrajski (he), hindi (hi), węgierski (hu), islandzki (is), indonezyjski (id), irlandzki (ga), włoski (it), japoński (ja), jawajski (jv), kannada (kn), kazachski (kk), kirgiski (ky), koreański (ko), łotewski (lv), lingala (ln), litewski (lt), luksemburski (lb), macedoński (mk), malajski (ms), malajalam (ml), maltański (mt), mandaryński chiński (zh), maoryski (mi), marathi (mr), mongolski (mn), nepalski (ne), norweski (no), oksytański (oc), orija (or), paszto (ps), perski (fa), polski (pl), portugalski (pt), pendżabski (pa), rumuński (ro), rosyjski (ru), serbski (sr), sindhi (sd), słowacki (sk), słoweński (sl), somalijski (so), hiszpański (es), suahili (sw), szwedzki (sv), tadżycki (tg), tamilski (ta), telugu (te), tajski (th), turecki (tr), ukraiński (uk), urdu (ur), uzbecki (uz), wietnamski (vi), walijski (cy), joruba (yo).*

> **Note**
>
> Parametr `language_code` przyjmuje dwuliterowe kody [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1)
> dla większości języków. Języki bez kodu ISO 639-1 używają trzy-literowych kodów [ISO 639-3](https://en.wikipedia.org/wiki/ISO_639-3): asturyjski (`ast`), kantoński
> (`yue`), cebuański (`ceb`) i filipiński (`fil`).

## Eleven v3 Conversational

Eleven v3 Conversational to nasz model syntezy mowy w czasie rzeczywistym poprzedniej generacji. Tworzy naturalną, realistyczną mowę o szerokiej gamie emocji i z uwzględnieniem kontekstu w wielu językach.

Wraz z Eleven v3 Conversational wprowadziliśmy nowy WebSocket Text to Dialogue, który pozwala tworzyć naturalne, realistyczne dialogi o szerokiej gamie emocji i z uwzględnieniem kontekstu w wielu językach.

Wraz z Eleven v3 Conversational wprowadziliśmy nowy WebSocket Text to Dialogue, który pozwala tworzyć naturalne, realistyczne dialogi o szerokiej gamie emocji i z uwzględnieniem kontekstu w wielu językach.

Więcej o WebSocket Text to Dialogue przeczytasz [tutaj](/docs/pl/eleven-api/guides/how-to/websockets/realtime-tdd).

### Obsługiwane języki

Model Eleven v3 obsługuje ponad 70 języków, w tym:

*Afrikaans (af), arabski (ar), ormiański (hy), asamski (as), asturyjski (ast), azerski (az), białoruski (be), bengalski (bn), bośniacki (bs), bułgarski (bg), birmański (my), kantoński (yue), kataloński (ca), cebuański (ceb), cziczewa (ny), chorwacki (hr), czeski (cs), duński (da), niderlandzki (nl), angielski (en), estoński (et), filipiński (fil), fiński (fi), francuski (fr), galicyjski (gl), gruziński (ka), niemiecki (de), grecki (el), gudźarati (gu), hausa (ha), hebrajski (he), hindi (hi), węgierski (hu), islandzki (is), indonezyjski (id), irlandzki (ga), włoski (it), japoński (ja), jawajski (jv), kannada (kn), kazachski (kk), kirgiski (ky), koreański (ko), łotewski (lv), lingala (ln), litewski (lt), luksemburski (lb), macedoński (mk), malajski (ms), malajalam (ml), maltański (mt), mandaryński chiński (zh), maoryski (mi), marathi (mr), mongolski (mn), nepalski (ne), norweski (no), oksytański (oc), orija (or), paszto (ps), perski (fa), polski (pl), portugalski (pt), pendżabski (pa), rumuński (ro), rosyjski (ru), serbski (sr), sindhi (sd), słowacki (sk), słoweński (sl), somalijski (so), hiszpański (es), suahili (sw), szwedzki (sv), tadżycki (tg), tamilski (ta), telugu (te), tajski (th), turecki (tr), ukraiński (uk), urdu (ur), uzbecki (uz), wietnamski (vi), walijski (cy), joruba (yo).*

> **Note**
>
> Parametr `language_code` przyjmuje dwuliterowe kody [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1)
> dla większości języków. Języki bez kodu ISO 639-1 używają trzy-literowych kodów [ISO 639-3](https://en.wikipedia.org/wiki/ISO_639-3): asturyjski (`ast`), kantoński
> (`yue`), cebuański (`ceb`) i filipiński (`fil`).

## Multilingual v2

Eleven Multilingual v2 to model syntezy mowy poprzedniej generacji, rozpoznający emocje. Tworzy naturalną, realistyczną mowę o szerokiej gamie emocji i z uwzględnieniem kontekstu w wielu językach.

Model zapewnia spójną jakość i charakter głosu we wszystkich obsługiwanych językach, zachowując unikalne cechy i akcent mówcy.

Ten model wyróżnia się w zastosowaniach wymagających wysokiej jakości, emocjonalnie zniuansowanej mowy:

* **Głosy postaci**: Idealny do gier i animacji dzięki szerokiemu zakresowi emocji.
* **Profesjonalne treści**: Dobrze sprawdza się w filmach firmowych i materiałach e-learningowych.
* **Projekty wielojęzyczne**: Utrzymuje spójną jakość głosu przy zmianie języka.
* **Stała jakość**: Tworzy spójne audio wysokiej jakości.

Choć ma większe opóźnienie i koszt na znak niż modele Flash, oferuje wyższą jakość w projektach, gdzie liczy się realistyczna mowa.

Nasze wielojęzyczne modele v2 obsługują 29 języków:

*angielski (USA, Wielka Brytania, Australia, Kanada), japoński, chiński, niemiecki, hindi, francuski (Francja, Kanada), koreański, portugalski (Brazylia, Portugalia), włoski, hiszpański (Hiszpania, Meksyk), indonezyjski, niderlandzki, turecki, filipiński, polski, szwedzki, bułgarski, rumuński, arabski (Arabia Saudyjska, ZEA), czeski, grecki, fiński, chorwacki, malajski, słowacki, duński, tamilski, ukraiński i rosyjski.*

## Flash v2.5

Eleven Flash v2.5 to nasz najszybszy model syntezy mowy, zaprojektowany dla aplikacji czasu rzeczywistego i Agents Platform. Oferuje wysokiej jakości mowę z ultraniskim opóźnieniem (\~75 ms†) w 32 językach.

Model równoważy szybkość i jakość, więc idealnie nadaje się do aplikacji interaktywnych, zachowując naturalne brzmienie oraz spójne cechy głosu w różnych językach.

Ten model jest szczególnie odpowiedni do:

* **Agents Platform**: Idealny dla agentów głosowych i chatbotów w czasie rzeczywistym.
* **Aplikacji interaktywnych**: Idealny do gier i aplikacji wymagających natychmiastowej odpowiedzi.
* **Przetwarzania na dużą skalę**: Wydajny przy masowej zamianie tekstu na mowę.

Dzięki niższej cenie generowania przez API i opóźnieniu 75 ms Flash v2.5 to opłacalna opcja dla każdego, kto potrzebuje szybkiej i niezawodnej syntezy mowy w wielu językach.

Flash v2.5 obsługuje 32 języki — wszystkie języki z modeli v2 oraz:

*węgierski, norweski i wietnamski*

† Z wyłączeniem opóźnień aplikacji i sieci. Zobacz [Informacje o opóźnieniach](/docs/pl/eleven-api/concepts/latency).

### Uwagi

#### Normalizacja tekstu z liczbami

W Flash v2.5 liczby nie są domyślnie normalizowane w sposób, którego możesz oczekiwać. Na przykład numery telefonów mogą być odczytywane w sposób niejasny dla użytkownika. Podobnie jest z datami i walutami.

Domyślnie normalizacja jest wyłączona w Flash v2.5, aby zachować niskie opóźnienie. Klienci Enterprise mogą jednak włączyć normalizację tekstu dla modeli v2.5, ustawiając w żądaniu parametr `apply_text_normalization` na "on".

Model Multilingual v2 lepiej normalizuje liczby, dlatego zalecamy go do numerów telefonów i innych przypadków, w których normalizacja liczb jest ważna.

W aplikacjach o niskim opóźnieniu lub Agents Platform zalecamy, aby LLM [normalizował tekst](/docs/pl/overview/capabilities/text-to-speech/best-practices#text-normalization) przed przekazaniem go do modelu TTS, albo użycie parametru `apply_text_normalization` (tylko plany Enterprise dla modeli v2.5).

## Przewodnik po wyborze modelu

Wskazówki, który model najlepiej pasuje do twoich wymagań i zastosowania, znajdziesz w [przewodniku po wyborze modelu](/docs/pl/eleven-api/choosing-the-right-model).

#### Wymagania

#### Jakość

Użyj `eleven_v4` lub `eleven_multilingual_v2`

Najlepszy wybór dla audio wysokiej jakości i bogatej ekspresji emocjonalnej

#### Niskie opóźnienie

Użyj `eleven_v4_turbo`

Zoptymalizowany dla aplikacji czasu rzeczywistego (\~100 ms opóźnienia)

#### Zastosowanie

#### Tworzenie treści

Użyj `eleven_v4` lub `eleven_multilingual_v2`

Idealny do profesjonalnych treści, audiobooków i narracji wideo.

#### Agents Platform

Użyj `eleven_v4_turbo`, `eleven_flash_v2_5`, `eleven_flash_v2` lub `eleven_multilingual_v2`

Idealny do aplikacji konwersacyjnych w czasie rzeczywistym. Aby uzyskać najbardziej ekspresyjną wypowiedź, użyj `eleven_v4_turbo`.

#### Zmiana głosu

Użyj `eleven_multilingual_sts_v2`

Wyspecjalizowany w konwersji Speech-to-Speech

## Limity znaków

Maksymalna liczba znaków obsługiwana w pojedynczym żądaniu zamiany tekstu na mowę zależy od modelu.

| Identyfikator modelu     | Limit znaków | Przybliżony czas trwania audio |
| ------------------------ | ------------ | ------------------------------ |
| `eleven_v4`              | 10 000       | \~10 minut                     |
| `eleven_v3`              | 5 000        | \~5 minut                      |
| `eleven_flash_v2_5`      | 40 000       | \~40 minut                     |
| `eleven_flash_v2`        | 30 000       | \~30 minut                     |
| `eleven_multilingual_v2` | 10 000       | \~10 minut                     |
| `eleven_multilingual_v1` | 10 000       | \~10 minut                     |
| `eleven_english_sts_v2`  | 10 000       | \~10 minut                     |
| `eleven_english_sts_v1`  | 10 000       | \~10 minut                     |

> **Note**
>
> W przypadku dłuższych treści rozważ podzielenie wejścia na kilka żądań.

## Scribe v2

Scribe v2 to nasz najnowocześniejszy model rozpoznawania mowy, zaprojektowany do dokładnej transkrypcji w ponad 90 językach. Zapewnia precyzyjne znaczniki czasu na poziomie słów oraz zaawansowane funkcje, takie jak diarizacja mówców i dynamiczne tagowanie audio.

Ten model wyróżnia się w zastosowaniach wymagających dokładnej zamiany mowy na tekst:

* **Usługi transkrypcji**: Idealny do zamiany treści audio/wideo na tekst
* **Dokumentacja spotkań**: Idealny do rejestrowania i dokumentowania rozmów
* **Analiza treści**: Dobrze sprawdza się w przetwarzaniu i analizie treści audio
* **Rozpoznawanie wielojęzyczne**: Obsługuje dokładną transkrypcję w ponad 90 językach

Najważniejsze funkcje:

* Dokładna transkrypcja ze znacznikami czasu na poziomie słów
* Diaryzacja mówców w audio z wieloma osobami
* Dynamiczne tagowanie audio dla lepszego kontekstu
* Obsługa ponad 90 języków
* Wykrywanie encji
* Podpowiedzi słów kluczowych
* Edycja transkrypcji

Więcej o Scribe v2 przeczytasz [tutaj](/docs/pl/overview/capabilities/speech-to-text).

## Scribe v2 Realtime

Scribe v2 Realtime, nasz najszybszy i najdokładniejszy model rozpoznawania mowy na żywo, zapewnia najnowocześniejszą dokładność w ponad 90 językach przy ultraniskim opóźnieniu 150 ms.

Ten model wyróżnia się w zastosowaniach konwersacyjnych:

* **Transkrypcja spotkań na żywo**: Idealny do transkrypcji w czasie rzeczywistym
* **Agenci AI**: Idealny do rozmów na żywo
* **Rozpoznawanie wielojęzyczne**: Obsługuje dokładną transkrypcję w ponad 90 językach z automatycznym rozpoznawaniem języka

Najważniejsze funkcje:

* Ultraniskie opóźnienie: otrzymuj częściowe transkrypcje w około 150 milisekund
* Obsługa streamingu: wysyłaj audio w fragmentach, jednocześnie otrzymując transkrypcje w czasie rzeczywistym
* Wiele formatów audio: obsługa PCM (od 8 kHz do 48 kHz) i kodowania μ-law
* Voice Activity Detection (VAD): automatyczne segmentowanie mowy na podstawie wykrywania ciszy
* Ręczne sterowanie zatwierdzaniem: pełna kontrola nad momentem finalizacji segmentów transkrypcji
* Wykrywanie encji
* Edycja transkrypcji

Więcej o Scribe v2 Realtime przeczytasz [tutaj](/docs/pl/overview/capabilities/speech-to-text).

## Scribe v2 Medical

Scribe v2 Medical to wsadowy model rozpoznawania mowy wyspecjalizowany w audio medycznym i klinicznym. To Finetune Scribe v2, który poprawia rozpoznawanie nazw leków, anatomii, patologii i dyktowania klinicznego, zachowując dokładność Scribe v2 w codziennej mowie. Korzysta z tego samego Speech to Text API co Scribe v2 i jest rozliczany w tej samej stawce. Przekaż `scribe_v2_medical` jako `model_id`.

> **Note**
>
> ### Przeznaczenie
>
> Scribe v2 Medical to wsadowy model Speech-to-Text API dla deweloperów i
> organizacji, które integrują go z aplikacjami zamieniającymi audio kliniczne, w tym
> rozmowy lekarz-pacjent, dyktowanie, rozmowy podczas przyjęć i koordynacji opieki, na robocze
> transkrypcje do dokumentacji i powiązanych procesów administracyjnych. Powstały tekst jest przeznaczony
> do sprawdzenia i poprawienia przez pracownika ochrony zdrowia lub innego upoważnionego użytkownika przed użyciem. Scribe
> v2 Medical nie służy do interpretowania informacji klinicznych ani do udzielania diagnoz, zaleceń
> leczenia, decyzji klinicznych czy innych wskazówek klinicznych.

Ten model dobrze sprawdza się w:

* **Dokumentacji klinicznej**: Wizytach ambientowych i notatkach, gdzie terminy medyczne pojawiają się w trakcie rozmowy
* **Dyktowaniu**: Gęstych sekwencjach leków, dawek i wyników
* **Rozmowach przy przyjęciu i koordynacji**: Pacjentach opisujących własny stan, często przez telefon
* **Procesach zgodności**: Połącz z [wykrywaniem encji](/docs/pl/eleven-api/guides/how-to/speech-to-text/batch/entity-detection) dla kategorii PHI

Najważniejsze funkcje:

* Ten sam format żądania co Scribe v2 (`keyterms`, `entity_detection`, `no_verbatim`, diarizacja, znaczniki czasu)
* Lepsze rozpoznawanie nazw leków oraz terminów z anatomii i patologii
* Brak pogorszenia wyników dla codziennej mowy względem Scribe v2
* Obsługa ponad 90 języków
* Diaryzacja mówców w audio z wieloma osobami
* Dynamiczne tagowanie audio
* Wykrywanie encji, w tym kategorii PHI

Scribe v2 Medical to model wsadowy. Do transkrypcji na żywo użyj Scribe v2 Realtime.

Scribe v2 Medical kwalifikuje się do HIPAA; klienci Enterprise mogą zawrzeć Business Associate Agreement oraz skorzystać z Zero Retention Mode (ZRM). Po włączeniu ZRM wejściowe audio i wyjściowy tekst są usuwane natychmiast po zakończeniu każdego żądania. ElevenLabs niczego nie zachowuje, a twoja aplikacja otrzymuje pełną odpowiedź API i przechowuje transkrypcje pod własną kontrolą.

> **Info**
>
> Firmy wymagające zgodności z HIPAA muszą skontaktować się z działem [sprzedaży ElevenLabs Sales](https://elevenlabs.io/contact-sales), aby podpisać Business Associate Agreement (BAA) przed
> wysłaniem chronionych informacji zdrowotnych.

Więcej o Speech to Text przeczytasz [tutaj](/docs/pl/overview/capabilities/speech-to-text).

## Eleven Realtime

Eleven Realtime to nowa klasa modeli Speech to Speech do tworzenia naturalnych agentów głosowych. Każdy model Realtime to kompletny agent głosowy: rozpoznawanie mowy, wykrywanie aktywności głosowej i zmiany tury, LLM oraz zamiana tekstu na mowę — wybrane i dostrojone przez ElevenLabs tak, aby działały razem jako jeden system. Wybierz model Realtime, a jednym wyborem otrzymasz sprawnego agenta, bez komponentów do konfiguracji.

Dostępne są dwa modele Realtime.

**Eleven Realtime v1 Mini** jest zoptymalizowany pod kątem szybkich, naturalnych rozmów i sprawdza się w następujących zastosowaniach:

* **Asystenci AI**: Szybkie, ekspresyjne dialogi, gdzie sama rozmowa jest produktem.
* **Tutorzy edukacyjni**: Naturalna wymiana zdań, która dotrzymuje kroku uczącemu się.
* **Interaktywne postacie**: Ekspresyjne postacie do gier i rozrywki.

**Eleven Realtime v1 Max** jest zoptymalizowany pod kątem złożonych zadań i sprawdza się w następujących zastosowaniach:

* **Obsługa klienta**: Rozwiązywanie zgłoszeń wymagających realizacji procesu i wyszukiwania informacji.
* **Kwalifikacja leadów**: Ustrukturyzowane rozmowy, które zbierają informacje i określają kolejne kroki.
* **Wieloetapowe workflow**: Zadania, które wywołują narzędzia, by wyszukiwać informacje lub wykonywać działania.

Najważniejsze funkcje:

* Rozpoznawanie mowy, zmiana tury, model językowy i głos w jednym wyborze modelu
* Naturalna zmiana tury i obsługa przerwań
* Wywoływanie narzędzi
* Głosy z biblioteki głosów ElevenLabs z możliwością dostosowania
* Obsługa ponad 90 języków
* Przełączanie między v1 Mini a v1 Max przez wybór modelu, bez zmiany integracji

Eleven Realtime jest dostępny w ElevenAgents, gdzie wybierasz model Realtime z listy modeli, oraz przez Realtime API, zaprojektowane tak, by było zgodne z Realtime API OpenAI przez WebSocket. Jeśli używasz już Realtime API OpenAI, zobacz [przewodnik migracji](/docs/pl/eleven-agents/guides/openai-realtime-compatibility).

### Obsługiwane języki

Modele Realtime obsługują ponad 90 języków. Zobacz [listę języków Eleven v4](/docs/pl/overview/models#supported-languages).

Więcej o Eleven Realtime przeczytasz [tutaj](/docs/pl/eleven-agents/customization/realtime-models).

## Eleven Music

Eleven Music to nasz studyjnej jakości model generowania muzyki. Pozwala tworzyć muzykę w dowolnym stylu za pomocą promptów w języku naturalnym.

Ten model doskonale sprawdza się w następujących zastosowaniach:

* **Ścieżki dźwiękowe do gier**: Twórz wciągające ścieżki dźwiękowe do gier
* **Tło podcastów**: Wzbogać podcasty profesjonalną muzyką
* **Marketing**: Dodawaj muzykę w tle do rolek reklamowych

Najważniejsze funkcje:

* Pełna kontrola nad gatunkiem, stylem i strukturą
* Wokal lub sama muzyka instrumentalna
* Wiele języków, w tym angielski, hiszpański, niemiecki, japoński i inne
* Edytuj dźwięk i tekst pojedynczych części lub całego utworu

Więcej o Eleven Music przeczytasz [tutaj](/docs/pl/overview/capabilities/music).

## Współbieżność i priorytet

Twój plan subskrypcji określa, ile żądań może być przetwarzanych jednocześnie oraz jaki priorytet mają twoje żądania w kolejce.
Speech to Text ma wyższy limit współbieżności.
Po osiągnięciu limitu współbieżności kolejne żądania są przetwarzane w kolejce wraz z żądaniami o niższym priorytecie.
W praktyce zwykle dodaje to tylko około 50 ms opóźnienia.

| Plan       | Limit współbieżności  (Multilingual v2) | Limit współbieżności  (Flash) | Limit współbieżności STT | Limit współbieżności STT w czasie rzeczywistym | Limit współbieżności Music | Poziom priorytetu |
| ---------- | --------------------------------------- | ----------------------------- | ------------------------ | ---------------------------------------------- | -------------------------- | ----------------- |
| Free       | 2                                       | 4                             | 8                        | 6                                              | 0                          | 3                 |
| Starter    | 3                                       | 6                             | 12                       | 9                                              | 2                          | 4                 |
| Creator    | 5                                       | 10                            | 20                       | 15                                             | 2                          | 5                 |
| Pro        | 10                                      | 20                            | 40                       | 30                                             | 2                          | 5                 |
| Scale      | 15                                      | 30                            | 60                       | 45                                             | 5                          | 5                 |
| Business   | 15                                      | 30                            | 60                       | 45                                             | 5                          | 5                 |
| Enterprise | Podwyższony                             | Podwyższony                   | Podwyższony              | Podwyższony                                    | Najwyższy                  | 6                 |

> **Note**
>
> Odbiorcy grantów dla startupów otrzymują korzyści na poziomie Scale.

Nagłówki odpowiedzi zawierają `current-concurrent-requests` i `maximum-concurrent-requests`, których możesz użyć do monitorowania współbieżności.

### Żądania API na minutę a żądania współbieżne

Warto wiedzieć, że **żądania API na minutę** i **żądania współbieżne** to różne wskaźniki zależne od sposobu użycia.

Liczba żądań API na minutę może różnić się od liczby żądań współbieżnych, ponieważ zależy od czasu trwania każdego żądania i sposobu ich grupowania.

**Przykład 1: Żądania w odstępach**
Jeśli masz 180 żądań na minutę, z których każde trwa 1 sekundę, i wysyłasz je co 0,33 sekundy, maksymalna i średnia liczba żądań współbieżnych wyniesie 3, ponieważ zawsze będą przetwarzane 3 żądania.

**Przykład 2: Żądania wsadowe**
Jeśli jednak masz inny sposób użycia, na przykład 180 żądań na minutę, z których każde trwa 3 sekundy, ale wszystkie są wysyłane naraz, maksymalna liczba żądań współbieżnych wyniesie 180, a średnia 9 (przez pierwsze 3 sekundy minuty jest 180 żądań naraz, a przez ostatnie 57 sekund — 0 żądań).

Ponieważ nasz system uwzględnia współbieżność, liczba żądań na minutę ma mniejsze znaczenie niż czas trwania każdego żądania i schemat ich wysyłania.

Sposób wysyłania żądań do endpointów wpływa na limity współbieżności:

* W HTTP każde żądanie osobno wlicza się do limitu współbieżności.
* W WebSocket Text to Speech do limitu współbieżności wlicza się tylko czas generowania audio przez nasz model. Oznacza to, że przez większość czasu otwarty websocket w ogóle nie wlicza się do limitu współbieżności.
* WebSockety Text to Dialogue działają inaczej: każde otwarte połączenie rezerwuje jedną sesję dialogu z osobnej puli na cały czas jego trwania, a audio generowane przez połączenie nie wlicza się do standardowego limitu współbieżności. Ułatwia to planowanie: jedno połączenie to jedna sesja, a limity sesji dialogu są dostosowane do tej nowej metody współbieżności. Zobacz [współbieżność Text to Dialogue](#text-to-dialogue-concurrency).

### Jak rozumieć limity współbieżności

Limit współbieżności powiązany z twoim planem nie oznacza maksymalnej liczby jednoczesnych rozmów, połączeń telefonicznych, nałożonych głosów postaci itd., które można obsłużyć naraz.
Rzeczywista liczba zależy od kilku czynników, w tym użytych głosów AI i charakterystyki przypadku użycia.

Zasadniczo limit współbieżności wynoszący 5 zwykle pozwala obsłużyć około 100 jednoczesnych transmisji audio.

Wynika to z szybkości generowania audio w porównaniu z czasem przetwarzania żądania TTS.
Poniższy diagram pokazuje przykład obsługi 4 jednoczesnych połączeń z różnymi użytkownikami przy wykorzystaniu tylko 2 współbieżnych żądań.

![Limity współbieżności](/docs/_fern-img/dcc5e3bd18993a9f862bd526f3dc1b32cfa89003a58ded6f4f6a7bda1bd5a2ea.webp)

#### Tworzenie agentów głosowych AI

Gdy TTS służy do prowadzenia dialogu, limit współbieżności 5 może obsłużyć około 100 transmisji w zrównoważonych rozmowach między agentami AI a uczestnikami.

W przypadkach, w których agent AI mówi rzadziej niż człowiek, na przykład podczas kontaktów z obsługą klienta, można obsłużyć ponad 100 jednoczesnych rozmów.

#### Nałożone głosy postaci

Zwykle przy limicie współbieżności 5 można obsłużyć ponad 100 jednoczesnych nałożonych głosów postaci.

Liczba może się różnić zależnie od częstotliwości dialogów postaci, długości przerw i działań w grze między kwestiami.

#### Dubbing na żywo

Jednoczesne strumienie dubbingu zwykle są zgodne z podaną regułą.

Jeśli transmisja obejmuje okresy przerw w rozmowie, na przykład z powodu ścieżki dźwiękowej, scen wizualnych itd., może być możliwa większa liczba jednoczesnych strumieni dubbingu niż sugerowana.

Jeśli w dowolnym momencie przekroczysz limity współbieżności planu i korzystasz z planu Enterprise, żądania modelu mogą nadal się powieść, choć wolniej, zależnie od dostępnej pojemności.

> **Note**
>
> Aby zwiększyć limit współbieżności i priorytet w kolejce, [ulepsz swój plan subskrypcji](https://elevenlabs.io/pricing/api).
>
> Klienci Enterprise mogą poprosić o wyższy limit współbieżności, kontaktując się z opiekunem konta.

### Współbieżność Text to Dialogue

Żądania Text to Dialogue są rozliczane na dwa sposoby, zależnie od tego, jak wywołujesz API:

* **Endpointy HTTP** ([Utwórz dialog](/docs/pl/api-reference/text-to-dialogue/convert) i [Streamuj dialog](/docs/pl/api-reference/text-to-dialogue/stream)) wliczają się do standardowego limitu współbieżności twojego planu podczas generowania audio, tak jak każde inne żądanie Text to Speech.
* **Endpointy WebSocket**, takie jak [WebSocket Text to Dialogue](/docs/pl/api-reference/text-to-dialogue/ttd-websocket), są rozliczane jako **sesje dialogu**. Otwarte połączenie zajmuje sesję dialogu przez cały czas jego trwania, niezależnie od tego, czy audio jest aktualnie generowane.

Rozliczanie na podstawie sesji upraszcza planowanie pojemności: jedno połączenie to jedna sesja, więc użycie nie zmienia się wraz z aktywnością generowania. Ponieważ sesja jest zajęta przez całe połączenie, a nie tylko podczas generowania audio, limity sesji dialogu są dostosowane do tej nowej metody współbieżności.

| Plan       | Sesje WebSocket |
| ---------- | --------------- |
| Free       | 14              |
| Starter    | 21              |
| Creator    | 35              |
| Pro        | 70              |
| Scale      | 105             |
| Business   | 105             |
| Enterprise | Podwyższony     |

Jeśli otworzysz połączenie, gdy wszystkie sesje dialogu w twoim obszarze roboczym są używane, nowe połączenie zostanie odrzucone z błędem `too_many_concurrent_requests`. Aby zwolnić sesje, zamknij niepotrzebne połączenia — połączenie zamknie się też automatycznie po 20 sekundach bezczynności, chyba że wysyłasz wiadomości `keep_alive`.

Aby monitorować sesje dialogu, otwórz **Deweloperzy** na dole paska bocznego panelu, wybierz kartę **Analityka** i sprawdź wskaźnik **Żądania współbieżne** w widoku Użycie. Sesje dialogu są raportowane jako osobna seria, **Sesje Websocket TTD**, niezależnie od pozostałych żądań współbieżnych.

### Testowanie limitów współbieżności na dużą skalę

Testowanie na dużą skalę może pomóc wykryć problemy ze skalowaniem po stronie klienta i sprawdzić, czy limity współbieżności są prawidłowo ustawione dla twojego przypadku użycia.

Zdecydowanie zalecamy testowanie workflow end-to-end jak najbliższych rzeczywistemu użyciu. Najlepszą metodą jest symulowanie i mierzenie liczby użytkowników, których można obsłużyć. Ważne, aby:

* Symulować użytkowników, a nie surowe żądania
* Symulować typowe zachowania użytkowników, takie jak oczekiwanie na odtworzenie audio, zakończenie mówienia przez użytkownika lub transkrypcji przed wysłaniem żądania
* Powoli zwiększać liczbę użytkowników przez kilka minut
* Wprowadzać losowość w czasie żądań i ich rozmiarze
* Rejestrować wskaźniki opóźnienia oraz kody błędów zwracane przez API

Na przykład, aby przetestować system agenta zaprojektowany do obsługi 100 jednoczesnych rozmów, utwórz do 100 osobnych „użytkowników”, z których każdy symuluje rozmowę. Rozmowy zwykle składają się z powtarzającego się cyklu: około 10 sekund mówienia użytkownika, następnie wywołanie API TTS dla około 150 znaków, a potem około 10 sekund odtwarzania audio użytkownikowi. Dlatego każdy użytkownik powinien co 20 sekund wykonywać wywołanie API Text to Speech przez websocket dla 150 znaków tekstu, z niewielką losowością w czasie oczekiwania i liczbie żądanych znaków. Test powinien uruchamiać jednego użytkownika na sekundę, aż będzie ich 100, a następnie trwać łącznie 10 minut, aby sprawdzić ogólną stabilność.

#### Przykładowy skrypt testowania na dużą skalę

Ten przykład używa [locust](https://locust.io/) jako frameworka testowego z bezpośrednimi wywołaniami API ElevenLabs.

Jest zgodny z opisanym wyżej przykładem i testuje system agenta konwersacyjnego, w którym każdy użytkownik wysyła 1 żądanie co 20 sekund.

**`Python`**

```python title="Python" {12}
import json
import random
import time
import gevent
import locust
from locust import User, task, events, constant_throughput
import websocket

# Averages up to 10 seconds of audio when played, depends on the voice speed
DEFAULT_TEXT = (
    "Hello, this is a test message. I am testing if a long input will cause issues for the model "
    "like this sentence. "
)

TEXT_ARRAY = [
    "Hello.",
    "Hello, this is a test message.",
    DEFAULT_TEXT,
    DEFAULT_TEXT * 2,
    DEFAULT_TEXT * 3
]

# Custom command line arguments
@events.init_command_line_parser.add_listener
def on_parser_init(parser):
    parser.add_argument("--api-key", default="YOUR_API_KEY", help="API key for authentication")
    parser.add_argument("--encoding", default="mp3_22050_32", help="Encoding")
    parser.add_argument("--text", default=DEFAULT_TEXT, help="Text to use")
    parser.add_argument("--use-text-array", default="false", help="Text to use")
    parser.add_argument("--voice-id", default="aria", help="Text to use")


class WebSocketTTSUser(User):
    # Each user will send a request every 20 seconds, regardless of how long each request takes
    wait_time = constant_throughput(0.05)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.api_key = self.environment.parsed_options.api_key
        self.voice_id = self.environment.parsed_options.voice_id
        self.text = self.environment.parsed_options.text
        self.encoding = self.environment.parsed_options.encoding
        self.use_text_array = self.environment.parsed_options.use_text_array
        if self.use_text_array:
            self.text = random.choice(TEXT_ARRAY)
        self.all_recieved = False

    @task
    def tts_task(self):
        # Do jitter waiting of up to 1 second
        # Users appear to be spawned every second so this ensures requests are not aligned
        gevent.sleep(random.random())

        max_wait_time = 10

        # Connection details
        uri = f"{self.environment.host}/v1/text-to-speech/{self.voice_id}/stream-input?auto_mode=true&output_format={self.encoding}"
        headers = {"xi-api-key": self.api_key}

        ws = None
        self.all_recieved = False
        try:
            init_msg = {"text": " "}
            # Use proper header format for websocket - this is case sensitive!
            ws = websocket.create_connection(uri, header=headers)
            ws.send(json.dumps(init_msg))

            # Start measuring after websocket initiated but before any messages are sent
            send_request_time = time.perf_counter()
            ws.send(json.dumps({"text": self.text}))

            # Send to flush and receive the audio
            ws.send(json.dumps({"text": ""}))

            def _receive():
                t_first_response = None
                audio_size = 0
                try:
                    while True:
                        # Wait up to 10 seconds for a response
                        ws.settimeout(max_wait_time)
                        response = ws.recv()
                        response_data = json.loads(response)

                        if "audio" in response_data and response_data["audio"]:
                            audio_size = audio_size + len(response_data["audio"])

                        if t_first_response is None:
                            t_first_response = time.perf_counter()
                            first_byte_ms = (
                                t_first_response - send_request_time
                            ) * 1000
                            if audio_size is None:
                                # The first response should always have audio
                                locust.events.request.fire(
                                    request_type="websocket",
                                    name="Bad Response (no audio)",
                                    response_time=first_byte_ms,
                                    response_length=audio_size,
                                    exception=Exception("Response has no audio"),
                                )
                                break

                        if "isFinal" in response_data and response_data["isFinal"]:
                            # Fire this event once finished streaming, but report the important TTFB metric
                            locust.events.request.fire(
                                request_type="websocket",
                                name="TTS Stream Success (First Byte)",
                                response_time=first_byte_ms,
                                response_length=audio_size,
                                exception=None,
                            )
                            break

                except websocket.WebSocketTimeoutException:
                    locust.events.request.fire(
                        request_type="websocket",
                        name="TTS Stream Timeout",
                        response_time=max_wait_time * 1000,
                        response_length=audio_size,
                        exception=Exception("Timeout waiting for response"),
                    )
                except Exception as e:
                    # Typically JSON decode error if the server returns HTTP backoff error
                    locust.events.request.fire(
                        request_type="websocket",
                        name="TTS Stream Failure",
                        response_time=0,
                        response_length=0,
                        exception=e,
                    )
                finally:
                    self.all_recieved = True

            gevent.spawn(_receive)

            # Sleep until recieved so new tasks aren't spawned
            while not self.all_recieved:
                gevent.sleep(1)

        except websocket.WebSocketTimeoutException:
            locust.events.request.fire(
                request_type="websocket",
                name="TTS Stream Timeout",
                response_time=max_wait_time * 1000,
                response_length=0,
                exception=Exception("Timeout waiting for response"),
            )
        except Exception as e:
            locust.events.request.fire(
                request_type="websocket",
                name="TTS Stream Failure",
                response_time=0,
                response_length=0,
                exception=e,
            )
        finally:
            # Try and close the websocket gracefully
            try:
                if ws:
                    ws.close()
            except Exception:
                pass

```