modely

Microsoft AI: MAI-Voice-2.1-Flash

Markdown · JSON

Microsoft AI: MAI-Voice-2.1-Flash

MAI-Voice-2.1-Flash od Microsoft AI generuje expresivní řeč ve 23 jazycích pro interaktivní hlasové aplikace. Podporuje streamování, více mluvčích a ovládání přednesu na úrovni vět, s kurátorovanou knihovnou hlasů.

O modelu

Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.

MAI-Voice-2.1-Flash je model převodu textu na řeč řízený zadáním od Microsoft AI navržený pro pohotovou mluvenou interakci. Výrobce jej určuje pro hlasové asistenty, rozhovory zákaznické podpory a telefonní nabídky. Generuje přirozenou, expresivní řeč ve dvaceti třech jazycích s ovládáním tónu a přednesu. Flash je verze orientovaná na živou odezvu; samostatně pojmenovaný MAI-Voice-2.1 upřednostňuje podrobný výraz a věrnost delšího obsahu.

Text, mluvčí a jazyk

Vstupem je text určený k vyslovení, s vybraným hlasem a volitelnými výrazovými pokyny v SSML. Spravovaný katalog hlasů rozlišuje mluvčího, místní variantu a verzi modelu. Harper a Grant jsou příklady pojmenovaných mluvčích s jazykově specifickými záznamy. Použijte zamýšlený text v cílovém jazyce a vyberte jeho vhodnou místní variantu; připravený anglický pozdrav a španělské vysvětlení jsou samostatné mluvené pasáže, každá s vlastním zněním.

Modelová karta dokumentuje konzistentní identitu hlasu napříč podporovanými jazyky a více mluvčích pro dialog. To může podpořit aplikaci potřebující jednoho rozpoznatelného vypravěče v lokalizovaných pokynech nebo krátký dialog s odlišnými rolemi. Repliky výslovně přiřaďte zamýšleným mluvčím a přiřazení udržujte stabilní. Zvuk je mluvenou verzí tohoto scénáře, nikoli novou odpovědí sestavenou z otevřené otázky.

Tón a styl řeči

Microsoft dokumentuje ovládání emocí a přednesu na úrovni vět a replik prostřednictvím SSML. Dostupné styly závisejí na vybraném hlase. Spravovaný katalog zahrnuje účelové styly narrator, educational a customer_call_center vedle expresivních stylů pro konkrétní mluvčí. Například americký záznam Harper zahrnuje joyful a relieved. Vyberte styl podporovaný hlasem, místo abyste předpokládali, že každý mluvčí přijímá stejnou sadu.

Praktická replika podpory zní: „Mohu vám pomoci najít správný dokument. Řekněte mi jeho název nebo popište téma.“ Požadavek udržujte dostatečně krátký, aby na něj mohl posluchač reagovat, a vyberte klidný nebo povzbuzující přednes vhodný pro interakci. U výukové aktivity napište vysvětlení a následující otázku jako samostatné mluvené jednotky. Expresivita slouží významu, když scénář jasně vyjadřuje změnu záměru.

Streamování a dodání zvuku

Modelová karta Flash výslovně dokumentuje streamovaný výstup pro živý dialog včetně postupů zpracovávajících posluchače, který začne mluvit během odpovědi. Aplikace může přehrávat zvuk při jeho příchodu a koordinovat přerušení i další repliku. Časování mluvené zprávy se tím stává součástí interakce, místo aby každá odpověď musela být nejprve připravena jako úplná nahrávka.

Výrobce umožňuje v postupu syntézy určit výstupní formát. Jeho zveřejněný příklad vytváří monofonní soubor MP3 při 24 kHz a 160 kbit/s. Jde o jednu dokumentovanou výstupní konfiguraci, nikoli o pevné omezení nativního formátu. Vyberte zvukové vyjádření přijímané zamýšlenou přehrávací cestou a uchovejte údaje o mluvčím i mluvené znění pro kontrolu výsledku.

Volitelný režim referenčního hlasu

Režim vlastního hlasu od Microsoftu dokáže napodobit mluvčího, který udělil souhlas, z pěti- až šedesátisekundového referenčního klipu bez dolaďování. Modelová karta doporučuje přirozený konverzační přednes se střední energií, protože reference ovlivňuje generovaný výkon. Tento režim má samostatný proces schválení výrobcem a zaznamenání souhlasu; přednastavené hlasy knihovny tvoří odlišnou cestu přípravy.

U reference určené pro definování vypravěče značky použijte čistou, reprezentativní pasáž a rozhodněte, který přednes se má přenést do nového scénáře. U přednastavené řeči připravte skutečná jména, příkazy a fráze cílového jazyka, které bude aplikace používat. Tyto pasáže si poslechněte ve vybraném hlase a zkontrolujte přechod mezi replikami. Užitečným výsledkem je expresivní mluvená interakce se záměrně vybraným mluvčím, jasným textem a zvukem vhodným pro přehrávací prostředí posluchače.

Ailoot Ultra · Převod na řeč POST /v1/audio/speech microsoft/mai-voice-2.1-flash

microsoft/mai-voice-2.1-flash

Microsoft AI /microsoft/mai-voice-2.1-flash

Úvod

MAI-Voice-2.1-Flash od Microsoft AI generuje expresivní řeč ve 23 jazycích pro interaktivní hlasové aplikace. Podporuje streamování, více mluvčích a ovládání přednesu na úrovni vět, s kurátorovanou knihovnou hlasů.

Přijímané vstupy
Text
Výsledky
Zvuk

Dostupné v Ailoot · vstupy a metody

Ailoot Ultra · Převod na řeč POST /v1/audio/speech
Vstup
text
Výstup
audio
Výstupní formát
mp3
PoleTypPožadavekHodnoty a limityVýchozí
PolemodelTypstringPožadavekPovinnéHodnoty a limity
microsoft/mai-voice-2.1-flash
Výchozí—
PoleinputTypstringPožadavekPovinnéHodnoty a limity
Minimální délka: 1
Jednotka: znaky Unicode
Výchozí—
PolevoiceTypstringPožadavekPovinnéHodnoty a limity
cs-CZ-Grant:MAI-Voice-2.1-Flash, cs-CZ-Harper:MAI-Voice-2.1-Flash, da-DK-Grant:MAI-Voice-2.1-Flash, da-DK-Harper:MAI-Voice-2.1-Flash, de-DE-Grant:MAI-Voice-2.1-Flash, de-DE-Harper:MAI-Voice-2.1-Flash, de-DE-Klaus:MAI-Voice-2.1-Flash, de-DE-Mia:MAI-Voice-2.1-Flash, en-AU-Isla:MAI-Voice-2.1-Flash, en-GB-Emily:MAI-Voice-2.1-Flash, en-GB-Harry:MAI-Voice-2.1-Flash, en-IN-Dhruv:MAI-Voice-2.1-Flash, en-IN-Priya:MAI-Voice-2.1-Flash, en-US-Ethan:MAI-Voice-2.1-Flash, en-US-Grant:MAI-Voice-2.1-Flash, en-US-Harper:MAI-Voice-2.1-Flash, en-US-Iris:MAI-Voice-2.1-Flash, en-US-Jasper:MAI-Voice-2.1-Flash, en-US-Olivia:MAI-Voice-2.1-Flash, en-US-Sage:MAI-Voice-2.1-Flash, es-ES-Marta:MAI-Voice-2.1-Flash, es-MX-Alejo:MAI-Voice-2.1-Flash, es-MX-Grant:MAI-Voice-2.1-Flash, es-MX-Harper:MAI-Voice-2.1-Flash, es-MX-Valeria:MAI-Voice-2.1-Flash, fi-FI-Grant:MAI-Voice-2.1-Flash, fi-FI-Harper:MAI-Voice-2.1-Flash, fr-FR-Grant:MAI-Voice-2.1-Flash, fr-FR-Harper:MAI-Voice-2.1-Flash, fr-FR-Marc:MAI-Voice-2.1-Flash, fr-FR-Soleil:MAI-Voice-2.1-Flash, hi-IN-Arjun:MAI-Voice-2.1-Flash, hi-IN-Dhruv:MAI-Voice-2.1-Flash, hi-IN-Grant:MAI-Voice-2.1-Flash, hi-IN-Harper:MAI-Voice-2.1-Flash, hi-IN-Kavya:MAI-Voice-2.1-Flash, hi-IN-Priya:MAI-Voice-2.1-Flash, hu-HU-Bence:MAI-Voice-2.1-Flash, hu-HU-Grant:MAI-Voice-2.1-Flash, hu-HU-Harper:MAI-Voice-2.1-Flash, hu-HU-Levente:MAI-Voice-2.1-Flash, hu-HU-Lilla:MAI-Voice-2.1-Flash, hu-HU-Reka:MAI-Voice-2.1-Flash, id-ID-Grant:MAI-Voice-2.1-Flash, id-ID-Harper:MAI-Voice-2.1-Flash, it-IT-Grant:MAI-Voice-2.1-Flash, it-IT-Harper:MAI-Voice-2.1-Flash, it-IT-Luca:MAI-Voice-2.1-Flash, it-IT-Rosa:MAI-Voice-2.1-Flash, ko-KR-Grant:MAI-Voice-2.1-Flash, ko-KR-Haena:MAI-Voice-2.1-Flash, ko-KR-Harper:MAI-Voice-2.1-Flash, ko-KR-Junho:MAI-Voice-2.1-Flash, nb-NO-Grant:MAI-Voice-2.1-Flash, nb-NO-Harper:MAI-Voice-2.1-Flash, nl-NL-Grant:MAI-Voice-2.1-Flash, nl-NL-Harper:MAI-Voice-2.1-Flash, nl-NL-Sander:MAI-Voice-2.1-Flash, pl-PL-Grant:MAI-Voice-2.1-Flash, pl-PL-Harper:MAI-Voice-2.1-Flash, pt-BR-Caio:MAI-Voice-2.1-Flash, pt-BR-Grant:MAI-Voice-2.1-Flash, pt-BR-Harper:MAI-Voice-2.1-Flash, pt-BR-Luana:MAI-Voice-2.1-Flash, pt-BR-Pedro:MAI-Voice-2.1-Flash, pt-BR-Rafael:MAI-Voice-2.1-Flash, pt-PT-Grant:MAI-Voice-2.1-Flash, pt-PT-Harper:MAI-Voice-2.1-Flash, pt-PT-Rui:MAI-Voice-2.1-Flash, ro-RO-Andrei:MAI-Voice-2.1-Flash, ro-RO-Elena:MAI-Voice-2.1-Flash, ro-RO-Grant:MAI-Voice-2.1-Flash, ro-RO-Harper:MAI-Voice-2.1-Flash, ro-RO-Ioana:MAI-Voice-2.1-Flash, ro-RO-Radu:MAI-Voice-2.1-Flash, ru-RU-Grant:MAI-Voice-2.1-Flash, ru-RU-Harper:MAI-Voice-2.1-Flash, ru-RU-Lev:MAI-Voice-2.1-Flash, ru-RU-Masha:MAI-Voice-2.1-Flash, sv-SE-Grant:MAI-Voice-2.1-Flash, sv-SE-Harper:MAI-Voice-2.1-Flash, th-TH-Grant:MAI-Voice-2.1-Flash, th-TH-Harper:MAI-Voice-2.1-Flash, th-TH-Krit:MAI-Voice-2.1-Flash, th-TH-Nattapong:MAI-Voice-2.1-Flash, tr-TR-Aydin:MAI-Voice-2.1-Flash, tr-TR-Elif:MAI-Voice-2.1-Flash, tr-TR-Grant:MAI-Voice-2.1-Flash, tr-TR-Harper:MAI-Voice-2.1-Flash, vi-VN-Grant:MAI-Voice-2.1-Flash, vi-VN-Harper:MAI-Voice-2.1-Flash, zh-CN-Bo:MAI-Voice-2.1-Flash, zh-CN-Grant:MAI-Voice-2.1-Flash, zh-CN-Harper:MAI-Voice-2.1-Flash, zh-CN-Lan:MAI-Voice-2.1-Flash, zh-CN-Mei:MAI-Voice-2.1-Flash, zh-CN-Wei:MAI-Voice-2.1-Flash
Výchozí—
Poleresponse_formatTypstringPožadavekPovinnéHodnoty a limity
mp3
Výchozí—
Kombinace vstupních materiálů

text_to_speech · Povinné: input

Parametry a životní cyklus metody
ParametrKontrakt
Parametrcontent_typeKontraktapplication/json
ParametrrequiredKontraktmodel, input, voice, response_format
Parametrvoice_idsKontraktcs-CZ-Grant:MAI-Voice-2.1-Flash, cs-CZ-Harper:MAI-Voice-2.1-Flash, da-DK-Grant:MAI-Voice-2.1-Flash, da-DK-Harper:MAI-Voice-2.1-Flash, de-DE-Grant:MAI-Voice-2.1-Flash, de-DE-Harper:MAI-Voice-2.1-Flash, de-DE-Klaus:MAI-Voice-2.1-Flash, de-DE-Mia:MAI-Voice-2.1-Flash, en-AU-Isla:MAI-Voice-2.1-Flash, en-GB-Emily:MAI-Voice-2.1-Flash, en-GB-Harry:MAI-Voice-2.1-Flash, en-IN-Dhruv:MAI-Voice-2.1-Flash, en-IN-Priya:MAI-Voice-2.1-Flash, en-US-Ethan:MAI-Voice-2.1-Flash, en-US-Grant:MAI-Voice-2.1-Flash, en-US-Harper:MAI-Voice-2.1-Flash, en-US-Iris:MAI-Voice-2.1-Flash, en-US-Jasper:MAI-Voice-2.1-Flash, en-US-Olivia:MAI-Voice-2.1-Flash, en-US-Sage:MAI-Voice-2.1-Flash, es-ES-Marta:MAI-Voice-2.1-Flash, es-MX-Alejo:MAI-Voice-2.1-Flash, es-MX-Grant:MAI-Voice-2.1-Flash, es-MX-Harper:MAI-Voice-2.1-Flash, es-MX-Valeria:MAI-Voice-2.1-Flash, fi-FI-Grant:MAI-Voice-2.1-Flash, fi-FI-Harper:MAI-Voice-2.1-Flash, fr-FR-Grant:MAI-Voice-2.1-Flash, fr-FR-Harper:MAI-Voice-2.1-Flash, fr-FR-Marc:MAI-Voice-2.1-Flash, fr-FR-Soleil:MAI-Voice-2.1-Flash, hi-IN-Arjun:MAI-Voice-2.1-Flash, hi-IN-Dhruv:MAI-Voice-2.1-Flash, hi-IN-Grant:MAI-Voice-2.1-Flash, hi-IN-Harper:MAI-Voice-2.1-Flash, hi-IN-Kavya:MAI-Voice-2.1-Flash, hi-IN-Priya:MAI-Voice-2.1-Flash, hu-HU-Bence:MAI-Voice-2.1-Flash, hu-HU-Grant:MAI-Voice-2.1-Flash, hu-HU-Harper:MAI-Voice-2.1-Flash, hu-HU-Levente:MAI-Voice-2.1-Flash, hu-HU-Lilla:MAI-Voice-2.1-Flash, hu-HU-Reka:MAI-Voice-2.1-Flash, id-ID-Grant:MAI-Voice-2.1-Flash, id-ID-Harper:MAI-Voice-2.1-Flash, it-IT-Grant:MAI-Voice-2.1-Flash, it-IT-Harper:MAI-Voice-2.1-Flash, it-IT-Luca:MAI-Voice-2.1-Flash, it-IT-Rosa:MAI-Voice-2.1-Flash, ko-KR-Grant:MAI-Voice-2.1-Flash, ko-KR-Haena:MAI-Voice-2.1-Flash, ko-KR-Harper:MAI-Voice-2.1-Flash, ko-KR-Junho:MAI-Voice-2.1-Flash, nb-NO-Grant:MAI-Voice-2.1-Flash, nb-NO-Harper:MAI-Voice-2.1-Flash, nl-NL-Grant:MAI-Voice-2.1-Flash, nl-NL-Harper:MAI-Voice-2.1-Flash, nl-NL-Sander:MAI-Voice-2.1-Flash, pl-PL-Grant:MAI-Voice-2.1-Flash, pl-PL-Harper:MAI-Voice-2.1-Flash, pt-BR-Caio:MAI-Voice-2.1-Flash, pt-BR-Grant:MAI-Voice-2.1-Flash, pt-BR-Harper:MAI-Voice-2.1-Flash, pt-BR-Luana:MAI-Voice-2.1-Flash, pt-BR-Pedro:MAI-Voice-2.1-Flash, pt-BR-Rafael:MAI-Voice-2.1-Flash, pt-PT-Grant:MAI-Voice-2.1-Flash, pt-PT-Harper:MAI-Voice-2.1-Flash, pt-PT-Rui:MAI-Voice-2.1-Flash, ro-RO-Andrei:MAI-Voice-2.1-Flash, ro-RO-Elena:MAI-Voice-2.1-Flash, ro-RO-Grant:MAI-Voice-2.1-Flash, ro-RO-Harper:MAI-Voice-2.1-Flash, ro-RO-Ioana:MAI-Voice-2.1-Flash, ro-RO-Radu:MAI-Voice-2.1-Flash, ru-RU-Grant:MAI-Voice-2.1-Flash, ru-RU-Harper:MAI-Voice-2.1-Flash, ru-RU-Lev:MAI-Voice-2.1-Flash, ru-RU-Masha:MAI-Voice-2.1-Flash, sv-SE-Grant:MAI-Voice-2.1-Flash, sv-SE-Harper:MAI-Voice-2.1-Flash, th-TH-Grant:MAI-Voice-2.1-Flash, th-TH-Harper:MAI-Voice-2.1-Flash, th-TH-Krit:MAI-Voice-2.1-Flash, th-TH-Nattapong:MAI-Voice-2.1-Flash, tr-TR-Aydin:MAI-Voice-2.1-Flash, tr-TR-Elif:MAI-Voice-2.1-Flash, tr-TR-Grant:MAI-Voice-2.1-Flash, tr-TR-Harper:MAI-Voice-2.1-Flash, vi-VN-Grant:MAI-Voice-2.1-Flash, vi-VN-Harper:MAI-Voice-2.1-Flash, zh-CN-Bo:MAI-Voice-2.1-Flash, zh-CN-Grant:MAI-Voice-2.1-Flash, zh-CN-Harper:MAI-Voice-2.1-Flash, zh-CN-Lan:MAI-Voice-2.1-Flash, zh-CN-Mei:MAI-Voice-2.1-Flash, zh-CN-Wei:MAI-Voice-2.1-Flash
Parametrresponse_formatKontraktmp3
Parametrmax_input_charactersKontraktnull
Parametrother_optionsKontraktfalse
ParametrinputKontraktpřesný text UTF-8; počet znaků Unicode bez normalizace
Parametrmaterial_typesKontrakttext

Životní cyklus: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · skutečně vrácené task_id nebo záznam v knihovně médií

GET /v1/media/assets/{asset_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Vyberte přesný hlas z tohoto profilu modelu.

Vstupní znaky a sekundy zvuku jsou různé měrné jednotky.

Tarify

Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.

Rychlý režim
Neuvedeno Při výběru rychlého režimu
Režim flex
Neuvedeno Při výběru režimu flex
Maximální intenzita uvažování
Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)

Sazby Ailoot

Ceny podle konfigurace

Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.

KonfiguraceTabulka sazebÚčtované množstvíÚčtovací jednotkaPoplatek
KonfiguraceZákladní sazby za tokenyTabulka sazebZákladní sazbaÚčtované množství—Účtovací jednotka—Poplatek
Vstup · Vstupní tokeny — / 1K tokenů
Výstup · Výstupní tokeny — / 1K tokenů
Vstup · Čtení z mezipaměti — / 1K tokenů
Vstup · Zápis do mezipaměti — / 1K tokenů
Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů
KonfiguraceUltraTabulka sazeb—Účtované množstvíKaždý kódový bod Unicode se počítá jako jeden znak, včetně znaků Han.Účtovací jednotkaza 1K vstupních znakůPoplatek
Vstup · vstupní znak $0.03 za 1K vstupních znaků

Podrobnosti referenčního tarifu

Referenční tabulky modelu nemění výběr metody, cenové nabídky ani poplatky. Skutečné poplatky používají sazby vybrané metody Ailoot.

Microsoft AI: MAI-Voice-2.1-Flash

Ceny podle konfigurace

KonfiguracePodmínky účtováníPoplatek
KonfiguraceMicrosoft AI: MAI-Voice-2.1-Flash · Výchozí konfiguracePodmínky účtováníVýchozí konfiguracePoplatek
Vstup · Vstupní znaky 0,00003 US$ za vstupní znak

Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →

Příklady požadavků

Ailoot Ultra · Převod na řeč

curl
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": "microsoft/mai-voice-2.1-flash", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["cs-CZ-Grant:MAI-Voice-2.1-Flash", "cs-CZ-Harper:MAI-Voice-2.1-Flash", "da-DK-Grant:MAI-Voice-2.1-Flash", "da-DK-Harper:MAI-Voice-2.1-Flash", "de-DE-Grant:MAI-Voice-2.1-Flash", "de-DE-Harper:MAI-Voice-2.1-Flash", "de-DE-Klaus:MAI-Voice-2.1-Flash", "de-DE-Mia:MAI-Voice-2.1-Flash", "en-AU-Isla:MAI-Voice-2.1-Flash", "en-GB-Emily:MAI-Voice-2.1-Flash", "en-GB-Harry:MAI-Voice-2.1-Flash", "en-IN-Dhruv:MAI-Voice-2.1-Flash", "en-IN-Priya:MAI-Voice-2.1-Flash", "en-US-Ethan:MAI-Voice-2.1-Flash", "en-US-Grant:MAI-Voice-2.1-Flash", "en-US-Harper:MAI-Voice-2.1-Flash", "en-US-Iris:MAI-Voice-2.1-Flash", "en-US-Jasper:MAI-Voice-2.1-Flash", "en-US-Olivia:MAI-Voice-2.1-Flash", "en-US-Sage:MAI-Voice-2.1-Flash", "es-ES-Marta:MAI-Voice-2.1-Flash", "es-MX-Alejo:MAI-Voice-2.1-Flash", "es-MX-Grant:MAI-Voice-2.1-Flash", "es-MX-Harper:MAI-Voice-2.1-Flash", "es-MX-Valeria:MAI-Voice-2.1-Flash", "fi-FI-Grant:MAI-Voice-2.1-Flash", "fi-FI-Harper:MAI-Voice-2.1-Flash", "fr-FR-Grant:MAI-Voice-2.1-Flash", "fr-FR-Harper:MAI-Voice-2.1-Flash", "fr-FR-Marc:MAI-Voice-2.1-Flash", "fr-FR-Soleil:MAI-Voice-2.1-Flash", "hi-IN-Arjun:MAI-Voice-2.1-Flash", "hi-IN-Dhruv:MAI-Voice-2.1-Flash", "hi-IN-Grant:MAI-Voice-2.1-Flash", "hi-IN-Harper:MAI-Voice-2.1-Flash", "hi-IN-Kavya:MAI-Voice-2.1-Flash", "hi-IN-Priya:MAI-Voice-2.1-Flash", "hu-HU-Bence:MAI-Voice-2.1-Flash", "hu-HU-Grant:MAI-Voice-2.1-Flash", "hu-HU-Harper:MAI-Voice-2.1-Flash", "hu-HU-Levente:MAI-Voice-2.1-Flash", "hu-HU-Lilla:MAI-Voice-2.1-Flash", "hu-HU-Reka:MAI-Voice-2.1-Flash", "id-ID-Grant:MAI-Voice-2.1-Flash", "id-ID-Harper:MAI-Voice-2.1-Flash", "it-IT-Grant:MAI-Voice-2.1-Flash", "it-IT-Harper:MAI-Voice-2.1-Flash", "it-IT-Luca:MAI-Voice-2.1-Flash", "it-IT-Rosa:MAI-Voice-2.1-Flash", "ko-KR-Grant:MAI-Voice-2.1-Flash", "ko-KR-Haena:MAI-Voice-2.1-Flash", "ko-KR-Harper:MAI-Voice-2.1-Flash", "ko-KR-Junho:MAI-Voice-2.1-Flash", "nb-NO-Grant:MAI-Voice-2.1-Flash", "nb-NO-Harper:MAI-Voice-2.1-Flash", "nl-NL-Grant:MAI-Voice-2.1-Flash", "nl-NL-Harper:MAI-Voice-2.1-Flash", "nl-NL-Sander:MAI-Voice-2.1-Flash", "pl-PL-Grant:MAI-Voice-2.1-Flash", "pl-PL-Harper:MAI-Voice-2.1-Flash", "pt-BR-Caio:MAI-Voice-2.1-Flash", "pt-BR-Grant:MAI-Voice-2.1-Flash", "pt-BR-Harper:MAI-Voice-2.1-Flash", "pt-BR-Luana:MAI-Voice-2.1-Flash", "pt-BR-Pedro:MAI-Voice-2.1-Flash", "pt-BR-Rafael:MAI-Voice-2.1-Flash", "pt-PT-Grant:MAI-Voice-2.1-Flash", "pt-PT-Harper:MAI-Voice-2.1-Flash", "pt-PT-Rui:MAI-Voice-2.1-Flash", "ro-RO-Andrei:MAI-Voice-2.1-Flash", "ro-RO-Elena:MAI-Voice-2.1-Flash", "ro-RO-Grant:MAI-Voice-2.1-Flash", "ro-RO-Harper:MAI-Voice-2.1-Flash", "ro-RO-Ioana:MAI-Voice-2.1-Flash", "ro-RO-Radu:MAI-Voice-2.1-Flash", "ru-RU-Grant:MAI-Voice-2.1-Flash", "ru-RU-Harper:MAI-Voice-2.1-Flash", "ru-RU-Lev:MAI-Voice-2.1-Flash", "ru-RU-Masha:MAI-Voice-2.1-Flash", "sv-SE-Grant:MAI-Voice-2.1-Flash", "sv-SE-Harper:MAI-Voice-2.1-Flash", "th-TH-Grant:MAI-Voice-2.1-Flash", "th-TH-Harper:MAI-Voice-2.1-Flash", "th-TH-Krit:MAI-Voice-2.1-Flash", "th-TH-Nattapong:MAI-Voice-2.1-Flash", "tr-TR-Aydin:MAI-Voice-2.1-Flash", "tr-TR-Elif:MAI-Voice-2.1-Flash", "tr-TR-Grant:MAI-Voice-2.1-Flash", "tr-TR-Harper:MAI-Voice-2.1-Flash", "vi-VN-Grant:MAI-Voice-2.1-Flash", "vi-VN-Harper:MAI-Voice-2.1-Flash", "zh-CN-Bo:MAI-Voice-2.1-Flash", "zh-CN-Grant:MAI-Voice-2.1-Flash", "zh-CN-Harper:MAI-Voice-2.1-Flash", "zh-CN-Lan:MAI-Voice-2.1-Flash", "zh-CN-Mei:MAI-Voice-2.1-Flash", "zh-CN-Wei:MAI-Voice-2.1-Flash"]')
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

Přijímání a ukládání výsledků

Ailoot Ultra · Převod na řeč

mp3

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Další načtení obsahu
Knihovna médiíStav úlohyPodrobnosti souboru
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
Uchovejte všechny dokončené výsledky

Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.

Uchovejte úplný binární výsledek a hlavičky. Pokud odpověď obsahuje JSON nebo více výstupů, uchovejte všechny datové položky a stáhněte každý soubor ze skutečně vrácené podepsané URL.

Pokud je nutné ověřit původní odpověď

Uchovejte původní operation_id/X-Client-Request-ID pro spárování záznamů bez opětovného odeslání; samostatná trasa pro dotazování na stav zvuku neexistuje.

Pole odpovědi
PoleTyp
Polebinary audioTypbytes
Poleresponse headersTypheaders
Chyby a další kroky
OdpověďPodmínkaDalší krok
Odpověď400 · invalid_request_errorPodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametruDalší krokPřed novým požadavkem na vytvoření opravte uvedená pole.
Odpověďserver_errorPodmínkaVrácená odpověď uvádí, že operaci nebo výsledek je třeba zkontrolovatDalší krokUchovejte původní vrácené ID operace nebo úlohy, hlavičky požadavku a odpověď; pokračujte v podporovaném načítání údajů o této původní operaci. Požadavek na vytvoření znovu neodesílejte.

Aliasy

Aliasy modelu

Ailoot Ultra microsoft/mai-voice-2.1-flash

Aliasy cest metod

Použijte cesty metod uvedené výše.

Související ID modelů

microsoft/mai-voice-2.1-flash

FAQ · Microsoft AI: MAI-Voice-2.1-Flash
Jaké vstupy a výsledky jsou dostupné?

POST /v1/audio/speech · microsoft/mai-voice-2.1-flash: text → audio

Jaká pole požadavek používá?

POST /v1/audio/speech · microsoft/mai-voice-2.1-flash: model, input, voice, response_format

Další podrobnosti

Připojte Ailoot k Claude Code, OpenCode, Hermes nebo vlastní aplikaci.

Společnost a její portfolio projektů

Společnost a její portfolio projektů: miliony zákazníků; měsíční tržby v miliardách.

Nakupujte tokeny se slevou.

Sleva předplatného pro pravidelnou práci. Promo kódy až 50% na nákup tokenů.

Předplatné
Pro pravidelné požadavky vyberte tarif se slevou.
Promo kód až 50%
Při nákupu zadejte kód. Cena se přepočítá podle probíhající akce.
Výdaje v historii
U každého požadavku se uloží model, tokeny a částka.

Vybrat předplatné · Zobrazit ceny modelů

Připojte API k produktu, který prodáváte.

SaaS, aplikace a boti podle nabídky a licenční smlouvy Ailoot. Pro přeprodej požádejte o licenci přeprodejce.

Komerční aplikace
Začleňte generování textu, obrázků, videa a zvuku do placených funkcí své služby.
Licence pro přeprodejce
Pošlete popis projektu a způsob poskytování přístupu. Vyžádejte písemné podmínky použití a přeprodeje.
Dokumenty na webu
Nabídka, licenční smlouva a zásady zpracování dat jsou dostupné před připojením.

Požádat o licenci přeprodejce · Nabídka a licenční smlouva