Mistral: Voxtral Mini TTS
Voxtral TTS to model generowania mowy Mistral AI o 4 miliardach parametrów z adaptacją głosu na podstawie referencji w dziewięciu językach. Zamienia przygotowany tekst w ekspresyjne audio, obsługuje prompty głosowe do wielokrotnego lub jednorazowego użycia oraz strumieniowanie i tworzy wyjście audio 24 kHz w udokumentowanych formatach audio.
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.
Voxtral TTS to model zamiany tekstu na mowę Mistral AI o 4 miliardach parametrów, generujący audio z tekstu i referencji głosowej. Strona modelu producenta identyfikuje wersję 2603 jako voxtral-mini-tts-2603, a karta opublikowanych wag nosi nazwę Voxtral 4B TTS 2603. Ten wpis dotyczy tego wydania generowania mowy, odrębnego od rozumienia audio Voxtral Small, transkrypcji i późniejszych modeli wejścia w czasie rzeczywistym.
Ekspresyjna mowa i adaptacja głosu
Model zaprojektowano do przejmowania pauz, rytmu, intonacji, akcentu i emocjonalnej realizacji głosu referencyjnego. Głos działa jako instrukcja brzmienia tekstu; przegląd producenta nie wymaga oddzielnych znaczników prozodii lub emocji ani transkrypcji nagrania referencyjnego. Tekst źródłowy określa treść, a referencja audio kieruje jej wykonaniem.
Przegląd opisuje adaptację głosu już z dwóch–trzech sekund audio. Opis architektury omawia prompty głosowe od pięciu do dwudziestu pięciu sekund. Stwierdzenia te mają różny zakres: przykład krótkiej adaptacji nie wymaga używania najkrótszej możliwej referencji. Wybierz wyraźną mowę reprezentującą styl i akcent oczekiwane w końcowym wyniku.
Opublikowana karta obejmuje dwadzieścia gotowych głosów i adaptację do nowych głosów. Proces mowy producenta może korzystać z zapisanego profilu głosu lub jednorazowego klipu referencyjnego. Zapisanie profilu umożliwia ponowne użycie tej samej referencji w osobnych żądaniach mowy, a jednorazowy klip dostarcza ją dla bieżącego zadania. Profil i wygenerowane nagranie to różne materiały.
Języki i realizacja między językami
Wydanie obsługuje angielski, francuski, hiszpański, niemiecki, włoski, portugalski, niderlandzki, arabski i hindi, z opisaną przez producenta różnorodnością dialektów, przenoszeniem głosu między językami i mieszaniem języków. Dla najlepszego wyniku przewodnik mowy zaleca dopasowanie języka referencji do języka tekstu. Transfer między językami może zachować akcent referencji przy wypowiadaniu przygotowanego tekstu w innym obsługiwanym języku.
Praktyczne zadanie narracyjne może używać tego samego stylu głosu do objaśnienia w różnych obsługiwanych językach, z każdym tekstem przygotowanym dla docelowego słuchacza. Odpowiedź asystenta głosowego może korzystać z krótkiego konwersacyjnego scenariusza zamiast odczytywania nieedytowanego dokumentu. Model zamiany tekstu na mowę realizuje przygotowane słowa; tłumaczenie lub pisanie odpowiedzi tworzące te słowa jest osobnym etapem.
Przygotowanie tekstu
Przewodnik mowy producenta zaleca tekst nadający się do wypowiedzenia. Zapisuj liczby i symbole w formie, która ma zostać odczytana, aby model nie musiał wybierać spośród możliwych interpretacji. Liczba może być ilością, czasem lub identyfikatorem; określ zamierzone słowa przed syntezą. Rozwijaj skróty, gdy wymowa ma znaczenie, i stosuj oddzielne litery, jeśli taki jest zamierzony odczyt.
Unikaj rozbudowanego formatowania, emoji i znaków specjalnych, które nie zostaną odtworzone jako treść mówiona. Przygotuj pełne zdania z interpunkcją i słowami potrzebnymi do realizacji. Przewodnik zaleca prompty poniżej 300 słów dla najlepszych wyników. Jest to zalecenie jakościowe, a nie deklarowana twarda maksymalna długość wejścia.
W objaśnieniu procedury zapisz działanie i warunek w zdaniu, za którym słuchacz może podążać. W ogłoszeniu umieść ważną informację przed opcjonalnymi szczegółami. W odpowiedzi głosowej zachowaj rzeczową odpowiedź i usuń formatowanie przeznaczone wyłącznie do wyświetlania lub oznaczenia źródeł, których nie należy wypowiadać. Przygotowania te czynią sam scenariusz odpowiednim do audio, zanim referencja określi jego styl.
Strumieniowanie, wyjście i czas trwania
Producent dokumentuje dostarczanie podstawowe i strumieniowe oraz opisuje natywną generację do dwóch minut audio. Karta opublikowanych wag wymienia też wnioskowanie wsadowe do przygotowania wielu zadań mowy. Dłuższe generacje usługi korzystają z przeplatania, zamiast traktować jeden natywny fragment jako nieograniczony. Do dłuższej narracji przygotuj spójne sekcje i utrzymuj zgodność ich głosu oraz tekstu z procesem dostarczania obsługującym kontynuację.
Opublikowana karta określa audio 24 kHz i wymienia formaty wyjściowe WAV, PCM, FLAC, MP3, AAC i Opus. Przewodnik usługi mowy omawia MP3 do skompresowanego dostarczania, WAV do nieskompresowanego PCM, FLAC do kompresji bezstratnej oraz PCM lub Opus do strumieniowania. Dobierz format obsługiwany przez połączony proces i odpowiedni dla odtwarzacza lub etapu przetwarzania. Wybór formatu i zachowanie strumienia są odrębne od samej adaptacji głosu.
Architektura modelu i praktyczne granice
Ogłoszenie opisuje autoregresyjną architekturę flow-matching z bazowym dekoderem Transformer o 3,4 miliarda parametrów, akustycznym Transformerem o 390 milionach parametrów i neuronowym kodekiem audio o 300 milionach parametrów. Dekoder przewiduje treść semantyczną, komponent akustyczny tworzy reprezentację mowy, a kodek obsługuje audio. Te komponenty wyjaśniają przybliżoną etykietę modelu 4B; nie są dodatkowymi językami wejściowymi ani innym modelem generującym odpowiedzi.
Praktyczne wyjście to zsyntetyzowane nagranie lub strumień audio powiązane z przygotowanym scenariuszem i wybranym głosem. Zachowuj te powiązania przy generowaniu kilku sekcji, aby aplikacja mogła zapisać, odtworzyć lub złożyć właściwy materiał. Model tworzy audio, a nie transkrypcję, wektor wyszukiwania semantycznego lub nowo napisaną odpowiedź faktograficzną.
Zachowaj wersję mowy 2603, obsługiwany język i styl referencji. Przeczytane źródła podają natywne dwie minuty i zalecenie przygotowania poniżej 300 słów, lecz nie ustanawiają osobnego twardego limitu znaków tekstu ani całkowitego czasu złożonego nagrania. Określ gotowy materiał audio na podstawie rzeczywistych wymagań tekstu, głosu i dostarczania.
Ailoot Ultra · Synteza mowy POST /v1/audio/speech mistralai/voxtral-mini-tts-2603
mistralai/voxtral-mini-tts-2603
mistralai/voxtral-mini-tts-2603Start
Voxtral TTS to model generowania mowy Mistral AI o 4 miliardach parametrów z adaptacją głosu na podstawie referencji w dziewięciu językach. Zamienia przygotowany tekst w ekspresyjne audio, obsługuje prompty głosowe do wielokrotnego lub jednorazowego użycia oraz strumieniowanie i tworzy wyjście audio 24 kHz w udokumentowanych formatach audio.
- 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 mistralai/voxtral-mini-tts-2603 | 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 en_paul_sad, en_paul_neutral, en_paul_happy, en_paul_frustrated, en_paul_excited, en_paul_confident, en_paul_cheerful, en_paul_angry, gb_oliver_neutral, gb_oliver_sad, gb_oliver_excited, gb_oliver_curious, gb_oliver_confident, gb_oliver_cheerful, gb_oliver_angry, gb_jane_sarcasm, gb_jane_confused, gb_jane_shameful, gb_jane_sad, gb_jane_neutral, gb_jane_jealousy, gb_jane_frustrated, gb_jane_curious, gb_jane_confident, fr_marie_sad, fr_marie_neutral, fr_marie_happy, fr_marie_excited, fr_marie_curious, fr_marie_angry | 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 | Kontrakten_paul_sad, en_paul_neutral, en_paul_happy, en_paul_frustrated, en_paul_excited, en_paul_confident, en_paul_cheerful, en_paul_angry, gb_oliver_neutral, gb_oliver_sad, gb_oliver_excited, gb_oliver_curious, gb_oliver_confident, gb_oliver_cheerful, gb_oliver_angry, gb_jane_sarcasm, gb_jane_confused, gb_jane_shameful, gb_jane_sad, gb_jane_neutral, gb_jane_jealousy, gb_jane_frustrated, gb_jane_curious, gb_jane_confident, fr_marie_sad, fr_marie_neutral, fr_marie_happy, fr_marie_excited, fr_marie_curious, fr_marie_angry |
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 | Ilość rozliczana | Jednostka rozliczeniowa | Opłata |
|---|---|---|---|---|
| KonfiguracjaBazowe stawki za tokeny | Tabela stawekStawka podstawowa | Ilość rozliczana— | 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 |
| KonfiguracjaUltra | Tabela stawek— | Ilość rozliczanaKażdy punkt kodowy Unicode liczy się jako jeden znak, w tym znaki Han. | Jednostka rozliczeniowaza 1K znaków wejściowych | Opłata Wejście · znak wejściowy $0.032 za 1K znaków wejściowych |
Szczegóły taryfy referencyjnej
Referencyjne tabele modelu nie zmieniają wyboru metody, wyceny ani opłat. Naliczane opłaty korzystają ze stawek wybranej metody Ailoot.
Mistral: Voxtral Mini TTS
Ceny według konfiguracji
| Konfiguracja | Warunki rozliczania | Opłata |
|---|---|---|
| KonfiguracjaMistral: Voxtral Mini TTS · Domyślna konfiguracja | Warunki rozliczaniaKonfiguracja domyślna | Opłata Wejście · Znaki wejściowe 0,000032 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": "mistralai/voxtral-mini-tts-2603", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["en_paul_sad", "en_paul_neutral", "en_paul_happy", "en_paul_frustrated", "en_paul_excited", "en_paul_confident", "en_paul_cheerful", "en_paul_angry", "gb_oliver_neutral", "gb_oliver_sad", "gb_oliver_excited", "gb_oliver_curious", "gb_oliver_confident", "gb_oliver_cheerful", "gb_oliver_angry", "gb_jane_sarcasm", "gb_jane_confused", "gb_jane_shameful", "gb_jane_sad", "gb_jane_neutral", "gb_jane_jealousy", "gb_jane_frustrated", "gb_jane_curious", "gb_jane_confident", "fr_marie_sad", "fr_marie_neutral", "fr_marie_happy", "fr_marie_excited", "fr_marie_curious", "fr_marie_angry"]')
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 mistralai/voxtral-mini-tts-2603
Aliasy ścieżek metod
Użyj ścieżek metod podanych powyżej.
Powiązane ID modeli
FAQ · Mistral: Voxtral Mini TTS
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/audio/speech·mistralai/voxtral-mini-tts-2603:text→audio- Jakich pól używa żądanie?
POST /v1/audio/speech·mistralai/voxtral-mini-tts-2603:model,input,voice,response_format