Deepgram: Flux TTS
Deepgram Flux TTS zamienia angielski tekst na mowę konwersacyjną, zachowując ton między turami. Tryb strumieniowy obsługuje przerwania, a synteza wsadowa tworzy audio do ponownego użycia z tym samym katalogiem głosów.
O modelu
Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.
Flux TTS to rodzina modeli zamiany tekstu na mowę Deepgram do rozmów na żywo i stałych treści mówionych. Jej wyróżnikiem jest ciągłość konwersacji: model strumieniowy przenosi prozodię między turami, dzięki czemu wypowiedzi mogą zachować spójny ton w dalszej interakcji. Przyjmuje pisemny tekst i zwraca audio z mową. Flux TTS i odrębnie nazwany model rozpoznawania mowy Flux realizują różne części rozmowy głosowej.
Wybierz angielski głos
Udokumentowany katalog Flux mówi po angielsku z akcentami amerykańskim, brytyjskim, irlandzkim, australijskim, indyjskim, singapurskim i filipińskim. Opisy głosów pomagają wybrać mówcę do obsługi klienta, menu telefonicznych, narracji lub swobodnej rozmowy. Producent wymienia na przykład Haley jako spokojny głos amerykański, a Jack jako profesjonalny głos brytyjski. Dobierz głos do odbiorców i rodzaju tekstu, który ma odczytywać, a następnie utrzymuj go przez cały materiał lub rozmowę. Mowa w innych językach wymaga osobnego, udokumentowanego wyboru modelu.
Tury na żywo i przerwania
W strumieniowym procesie producenta tekst może napływać podczas układania odpowiedzi przez aplikację, a audio wraca stopniowo. Tura ma własne zdarzenia rozpoczęcia i zakończenia; zakończenie tury domyka pozostałą syntezę. Kontekst między turami zachowuje prozodię w ramach tej sesji. Przydaje się to asystentowi głosowemu, który najpierw wyjaśnia wybór, a następnie odpowiada na prośbę o doprecyzowanie bez zmiany charakteru głosu.
Przerwanie anuluje aktywną turę i zwraca wypowiedzianą część oraz pozostały tekst. To rozróżnienie pozwala aplikacji kontynuować od tego, co słuchacz rzeczywiście usłyszał. W praktycznej interakcji przygotuj krótką odpowiedź z najważniejszą instrukcją na początku, a następnie objaśnieniem. Jeśli słuchacz przerwie po pierwszej instrukcji, kolejna odpowiedź może odnieść się do nowego pytania, zamiast zakładać, że przekazano całe objaśnienie.
Stałe nagrania i formaty wyjściowe
Synteza wsadowa przyjmuje kompletny blok tekstu i zwraca jego audio w jednej odpowiedzi. Korzysta z tego samego katalogu głosów co strumieniowanie i pasuje do nagranych komunikatów telefonicznych, powiadomień lub narracji przygotowanej wcześniej. Żądania wsadowe są niezależne; stan tur strumieniowych i zdarzenia przerwań nie dotyczą stałego klipu.
Wyjście strumieniowe to surowe audio bez kontenera plikowego: 16-bitowy PCM, mu-law lub A-law. Producent dokumentuje częstotliwości próbkowania PCM 8, 16, 24, 32, 44.1 i 48 kHz; mu-law i A-law wykorzystują 8 lub 16 kHz. Wyjście wsadowe dodatkowo obsługuje MP3, Opus, FLAC i AAC. Wybierz kodowanie i kontener odczytywany przez docelowy odtwarzacz lub tor telefoniczny, zamiast traktować strumień surowych próbek jak zwykły plik audio.
Parametry wypowiedzi i granice
Producent dokumentuje zakres tempa mowy od 0.5 do 1.5 ze skokiem 0.05. Zmiany szybkości w strumieniu zaczynają obowiązywać na granicy segmentu. Osobny parametr ekspresji w wersji beta zmienia wypowiedź od spokojnej do ożywionej. Zwykły SSML i rozpoznane znaczniki konkurencji są usuwane, a nie używane jako instrukcje ekspresji; natywne parametry Flux mają własne znaczenie.
Pauzy w tekście dotyczą syntezy wsadowej, trwają 500–3000 ms ze skokiem 100 ms i mogą obejmować najwyżej osiem znaczników na żądanie. Sąsiednie pauzy musi rozdzielać tekst, a przy obecności pauzy szybkość jest ograniczona do 1.15. Nadpisanie wymowy używa IPA i jest dostępne w Early Access; producent zaznacza, że żądana wymowa może różnić się między generacjami. Wymowy nie można łączyć z szybkością inną niż domyślna ani ze sterowaniem pauzami. W scenariuszu z nazwami specjalistycznymi odsłuchaj te terminy wybranym głosem i zachowaj jednoznaczny tekst do wypowiedzenia.
Udokumentowana sesja strumieniowa Deepgram trwa do jednej godziny i zamyka się po sześćdziesięciu sekundach bez wiadomości przychodzącej, o ile nie jest podtrzymywana obsługiwanym mechanizmem połączenia. Te limity sesji dotyczą procesu syntezy na żywo. Użyteczny rezultat to świadomie dobrany głos, tekst przyjazny słuchaczowi i audio pasujące do docelowego zastosowania; aplikacje na żywo śledzą przy tym, co rzeczywiście wypowiedziano, gdy tura została przerwana.
Ailoot Ultra · Synteza mowy POST /v1/audio/speech deepgram/flux-tts
deepgram/flux-ttsStart
Deepgram Flux TTS zamienia angielski tekst na mowę konwersacyjną, zachowując ton między turami. Tryb strumieniowy obsługuje przerwania, a synteza wsadowa tworzy audio do ponownego użycia z tym samym katalogiem głosów.
- Akceptowane dane wejściowe
- Tekst
- Wyniki
- Audio
Dostępne w Ailoot · dane wejściowe i metody
Ailoot Ultra · Synteza mowy POST /v1/audio/speech
- Wejście
text- Wyjście
audio- Format wyjściowy
- mp3
| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
|---|---|---|---|---|
Polemodel | Typstring | WymaganieWymagane | Wartości i limity deepgram/flux-tts | Domyślnie— |
Poleinput | Typstring | WymaganieWymagane | Wartości i limity Minimalna długość: 1 Jednostka: znaki Unicode | Domyślnie— |
Polevoice | Typstring | WymaganieWymagane | Wartości i limity flux-alexis-en, flux-bree-en, flux-brittany-en, flux-brooke-en, flux-bruce-en, flux-cliff-en, flux-cole-en, flux-colin-en, flux-conor-en, flux-donovan-en, flux-drew-en, flux-elise-en, flux-gemma-en, flux-haley-en, flux-hannah-en, flux-heather-en, flux-jack-en, flux-kai-en, flux-kelsey-en, flux-kit-en, flux-maeve-en, flux-marcelo-en, flux-marcus-en, flux-meena-en, flux-meghan-en, flux-miles-en, flux-naveen-en, flux-paige-en, flux-priya-en, flux-rufus-en, flux-sean-en, flux-sharon-en, flux-sienna-en, flux-tanner-en, flux-wade-en, flux-wes-en | Domyślnie— |
Poleresponse_format | Typstring | WymaganieWymagane | Wartości i limity mp3 | Domyślnie— |
Kombinacje materiałów wejściowych
text_to_speech · Wymagane: input
Parametry i cykl życia metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, input, voice, response_format |
Parametrvoice_ids | Kontraktflux-alexis-en, flux-bree-en, flux-brittany-en, flux-brooke-en, flux-bruce-en, flux-cliff-en, flux-cole-en, flux-colin-en, flux-conor-en, flux-donovan-en, flux-drew-en, flux-elise-en, flux-gemma-en, flux-haley-en, flux-hannah-en, flux-heather-en, flux-jack-en, flux-kai-en, flux-kelsey-en, flux-kit-en, flux-maeve-en, flux-marcelo-en, flux-marcus-en, flux-meena-en, flux-meghan-en, flux-miles-en, flux-naveen-en, flux-paige-en, flux-priya-en, flux-rufus-en, flux-sean-en, flux-sharon-en, flux-sienna-en, flux-tanner-en, flux-wade-en, flux-wes-en |
Parametrresponse_format | Kontraktmp3 |
Parametrmax_input_characters | Kontraktnull |
Parametrother_options | Kontraktfalse |
Parametrinput | Kontraktdokładny tekst UTF-8; liczba znaków Unicode bez normalizacji |
Parametrmaterial_types | Kontrakttext |
Cykl życia: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · Rzeczywiście zwrócony task_id lub wpis w bibliotece multimediów
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Wybierz dokładny głos z profilu tego modelu.
Znaki wejściowe i sekundy dźwięku to różne jednostki pomiaru.
Cennik
Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.
- Tryb szybki
- Nie określono Gdy wybrany jest tryb szybki
- Tryb flex
- Nie określono Gdy wybrany jest tryb flex
- Maksymalna intensywność rozumowania
- Nie określono Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)
Stawki Ailoot
Ceny według konfiguracji
Dopasuj każdą opłatę do pokazanych warunków. Użyj jednej stawki dla każdego zestawu alternatywnych konfiguracji.
| Konfiguracja | Tabela stawek | Jednostka rozliczeniowa | Opłata |
|---|---|---|---|
| KonfiguracjaBazowe stawki za tokeny | Tabela stawekStawka podstawowa | Jednostka rozliczeniowa— | Opłata Wejście · Tokeny wejściowe — / 1K tokenów Wyjście · Tokeny wyjściowe — / 1K tokenów Wejście · Odczyt cache — / 1K tokenów Wejście · Zapis do cache — / 1K tokenów Wejście · Zapis do cache, 1 godz. — / 1K tokenów |
| Konfiguracjaznak wejściowy | Tabela stawek— | Jednostka rozliczeniowaza znak wejściowy | Opłata Wejście · znak wejściowy $0.00009 za znak wejściowy |
Szczegóły taryfy referencyjnej
Referencyjne tabele modelu nie zmieniają wyboru metody, wyceny ani opłat. Naliczane opłaty korzystają ze stawek wybranej metody Ailoot.
Deepgram: Flux TTS
Ceny według konfiguracji
| Konfiguracja | Warunki rozliczania | Opłata |
|---|---|---|
| KonfiguracjaDeepgram: Flux TTS · Domyślna konfiguracja | Warunki rozliczaniaKonfiguracja domyślna | Opłata Wejście · Znaki wejściowe 0,00009 USD za znak wejściowy |
Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. Jak działają rezerwacja i rozliczenie →
Przykładowe żądania
Ailoot Ultra · Synteza mowy
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}"
export AILOOT_VOICE_ID
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "deepgram/flux-tts", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["flux-alexis-en", "flux-bree-en", "flux-brittany-en", "flux-brooke-en", "flux-bruce-en", "flux-cliff-en", "flux-cole-en", "flux-colin-en", "flux-conor-en", "flux-donovan-en", "flux-drew-en", "flux-elise-en", "flux-gemma-en", "flux-haley-en", "flux-hannah-en", "flux-heather-en", "flux-jack-en", "flux-kai-en", "flux-kelsey-en", "flux-kit-en", "flux-maeve-en", "flux-marcelo-en", "flux-marcus-en", "flux-meena-en", "flux-meghan-en", "flux-miles-en", "flux-naveen-en", "flux-paige-en", "flux-priya-en", "flux-rufus-en", "flux-sean-en", "flux-sharon-en", "flux-sienna-en", "flux-tanner-en", "flux-wade-en", "flux-wes-en"]')
if voice not in allowed: raise SystemExit("Choose an accepted voice ID from this exact model profile")
p["voice"]=voice
p["response_format"]="mp3"
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o speech.mp3
Odbieranie i zapisywanie wyników
Ailoot Ultra · Synteza mowy
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Inne odczyty treści
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-assets.json
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_MEDIA_TASK_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_MEDIA_TASK_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/tasks/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-task.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-task.json").read_text())))
PY_RESULT
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_ASSET_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_ASSET_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/assets/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-asset.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-asset.json").read_text())))
PY_RESULT
Zachowaj wszystkie ukończone wyniki
Zachowaj każdą kompletną zwróconą odpowiedź, plik i część treści.
Zachowaj pełny wynik binarny i nagłówki. Jeśli zwrócono JSON lub wiele wyników, zachowaj każdy element danych i pobierz zasób spod każdego rzeczywiście zwróconego podpisanego adresu URL.
Jeśli trzeba sprawdzić pierwotną odpowiedź
Zachowaj pierwotny operation_id/X-Client-Request-ID do uzgodnienia danych bez ponownego wysyłania żądania; brak osobnej ścieżki API do cyklicznego sprawdzania stanu audio.
Pola odpowiedzi
| Pole | Typ |
|---|---|
Polebinary audio | Typbytes |
Poleresponse headers | Typheaders |
Błędy i dalsze kroki
| Odpowiedź | Warunek | Następny krok |
|---|---|---|
Odpowiedź400 · invalid_request_error | WarunekNieprawidłowe wymagane pola, sposób reprezentacji materiału lub wartość parametru | Następny krokPopraw wskazane pola przed nowym żądaniem utworzenia. |
Odpowiedźserver_error | WarunekZwrócona odpowiedź wskazuje, że operacja lub wynik wymaga sprawdzenia | Następny krokZachowaj pierwotnie zwrócony identyfikator operacji lub zadania, nagłówki żądania i odpowiedź; kontynuuj obsługiwane odczyty tej pierwotnej operacji. Nie wysyłaj ponownie żądania utworzenia. |
Aliasy
Aliasy modelu
Ailoot Ultra deepgram/flux-tts
Aliasy ścieżek metod
Użyj ścieżek metod podanych powyżej.
Powiązane ID modeli
FAQ · Deepgram: Flux TTS
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/audio/speech·deepgram/flux-tts:text→audio- Jakich pól używa żądanie?
POST /v1/audio/speech·deepgram/flux-tts:model,input,voice,response_format