Microsoft AI: MAI-Voice-2.1
Microsoft AI MAI-Voice-2.1 generuoja išraiškingą daugiakalbę kalbą pasakojimams, garsinėms knygoms, mokomajam turiniui ir įgarsinimui. Jo 23 kalbų profilis palaiko nuoseklią kalbėtojo tapatybę, kelis kalbėtojus ir valdomą kalbėjimo manierą.
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
MAI-Voice-2.1 yra Microsoft AI užklausomis valdomas teksto įgarsinimo modelis darbui, kuriame svarbūs išraiškingas atlikimas ir garso tikslumas. Jo modelio kortelė apima dvidešimt tris kalbas ir dvidešimt šešis lokalės variantus, natūralią intonaciją, ritmą ir emocinius niuansus. Gamintojas kaip pagrindinius naudojimo būdus nurodo garsines knygas, medijos pasakojimą, turinio kūrimą ir įgarsinimą. Ši versija pabrėžia ilgesnį išraiškingą turinį; MAI-Voice-2.1-Flash yra atskiras pasirinkimas, sukurtas delsai jautriai sąveikai.
Pasakojimas su nuosekliu kalbėtoju
Modelio kortelėje dokumentuojama viena balso tapatybė, nuosekliai perteikiama palaikomomis kalbomis. Ilgo turinio generavimas naudoja skaidymą dalimis ir konteksto perkėlimą tęstinumui tarp ištraukų pagerinti. Tai naudinga pamokai, garsinės knygos skyriui ar susijusių įgarsinimo dalių sekai, kuri turi išlaikyti pasakotojo charakterį. Paruoškite nuoseklias ištraukas su aiškiomis ribomis ir per visą kūrinį išlaikykite tą patį kalbėtojo pasirinkimą.
Įvestis yra galutinis transkripcijos tekstas su pasirenkamu kalbėtojo etalonu ir SSML išraiškingumo valdikliais. Pasakojimo užduotis turi atskirti tai, ką girdi klausytojas, nuo gamybos pastabų. Techniniam paaiškinimui parašykite aiškų įvadą, tada faktinius veiksmus ir užbaigiančią instrukciją. Produktų pavadinimus ir pasikartojančius terminus išlaikykite nuoseklia rašytine forma. Lokalizuotam pasakojimui paruoškite tekstą tiksline kalba; pasirinkta kalba ir balsas valdo jo sakytinį perteikimą.
Kalbėtojai, vaidmenys ir išraiškingumo valdymas
Microsoft pateikia atrinktą balsų biblioteką ir dokumentuoja kelis kalbėtojus dialogui. Harper ir Grant iliustruoja kalbėtojų tapatybes su įrašais keliems lokalės variantams. Dviejų asmenų mokomajame pokalbyje klausimą ir paaiškinimą galima paskirti skirtingiems balsams, išsaugant tą patį paskyrimą vaidmeniui sugrįžus. Aiškiai pažymėkite sakytines frazes, kad norimas pokalbis būtų perteiktas sintezės įvestyje.
Toną ir kalbėjimo manierą galima formuoti pasisakymo ar sakinio lygmeniu naudojant SSML. Stiliai priklauso nuo kalbėtojo: valdomame kataloge tinkamiems balsams nurodomi į užduotį orientuoti pasakotojo ar mokomieji stiliai, o kitiems – emociniai pasirinkimai, tokie kaip džiaugsmas ar palengvėjimas. JAV Harper įrašas palaiko šiuos du emocinius stilius. Kalbėtoją rinkitės kartu su jo dokumentuotu kalbėjimo stiliumi, užuot perkėlę stilių iš kito balso.
Istorijoje ar pristatyme išraiškingumas gali atskirti faktinį paaiškinimą, apmąstymų ištrauką ir gyvą citatą. Praktinė frazė: „Pirmasis bandymas parodė nepilną vaizdą. Pažvelgus į visą seką paaiškėjo trūkstamas žingsnis.“ Nuspręskite, kur keičiasi prasmė, ir atitinkamai paruoškite sakytinius vienetus. Perklausykite perėjimus, kad kalbėjimas sektų pasakojimą, užuot kiekvieną sakinį pabrėžęs vienodai.
Etaloninis balsas ir garso rezultatas
Pasirenkamas individualaus balso režimas atkuria sutikimą davusio kalbėtojo balsą pagal penkių–šešiasdešimties sekundžių garso etaloną be papildomo mokymo. Microsoft etalone rekomenduoja natūralų pokalbinį kalbėjimą ir vidutinę energiją, nes pavyzdys veikia generuojamą balsą. Individualaus balso procesui reikia gamintojo patvirtinimo ir įrašyto sutikimo pareiškimo. Paruošta biblioteka yra atskiras balso pasirinkimo kelias.
Gamintojas leidžia pasirinkti išvesties formatą, o paskelbtas sintezės pavyzdys išsaugo mono MP3 24 kHz dažniu ir 160 kbit/s sparta. Šie nustatymai aprašo vieną išvesties procesą. Garso atvaizdavimą pasirinkite kitam redagavimo ar atkūrimo etapui ir tekstą, kalbėtoją bei dalių tvarką laikykite susietus su įrašu. Užbaigtą skyrių ar pamoką gali sudaryti kelios sugeneruotos ištraukos, išliekančios viena nuoseklia klausymosi patirtimi.
Naudokite ilgo turinio rezultatą
MAI-Voice-2.1 orientuotas į natūralumą ir išraišką, kai greitas atsako laikas mažiau svarbus už sakytinį atlikimą. Ilgame kūrinyje patikrinkite pasikartojančius vardus, skyrių ribas, dialogui paskirtus balsus ir emocinio registro pokyčius. Dokumentacija patvirtina ilgo turinio galimybę bei nuoseklumo mechanizmus, tačiau nenustato neriboto teksto ar garantuotos didžiausios įrašo trukmės. Praktinis rezultatas yra išraiškingas garsas, kurio pasakotojas, formuluotės ir eiga atitinka paruoštą medžiagą.
Ailoot Ultra · Įgarsinimas POST /v1/audio/speech microsoft/mai-voice-2.1
microsoft/mai-voice-2.1Pradžia
Microsoft AI MAI-Voice-2.1 generuoja išraiškingą daugiakalbę kalbą pasakojimams, garsinėms knygoms, mokomajam turiniui ir įgarsinimui. Jo 23 kalbų profilis palaiko nuoseklią kalbėtojo tapatybę, kelis kalbėtojus ir valdomą kalbėjimo manierą.
- Leidžiamos įvestys
- Tekstas
- Rezultatai
- Garsas
Prieinama Ailoot · įvestys ir metodai
Ailoot Ultra · Įgarsinimas POST /v1/audio/speech
- Įvestis
text- Išvestis
audio- Išvesties formatas
- mp3
| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
|---|---|---|---|---|
Laukasmodel | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos microsoft/mai-voice-2.1 | Numatyta— |
Laukasinput | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias ilgis: 1 Vienetas: Unicode simboliai | Numatyta— |
Laukasvoice | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos cs-CZ-Grant:MAI-Voice-2.1, cs-CZ-Harper:MAI-Voice-2.1, da-DK-Grant:MAI-Voice-2.1, da-DK-Harper:MAI-Voice-2.1, de-DE-Grant:MAI-Voice-2.1, de-DE-Harper:MAI-Voice-2.1, de-DE-Klaus:MAI-Voice-2.1, de-DE-Mia:MAI-Voice-2.1, en-AU-Isla:MAI-Voice-2.1, en-GB-Emily:MAI-Voice-2.1, en-GB-Harry:MAI-Voice-2.1, en-IN-Dhruv:MAI-Voice-2.1, en-IN-Priya:MAI-Voice-2.1, en-US-Ethan:MAI-Voice-2.1, en-US-Grant:MAI-Voice-2.1, en-US-Harper:MAI-Voice-2.1, en-US-Iris:MAI-Voice-2.1, en-US-Jasper:MAI-Voice-2.1, en-US-Olivia:MAI-Voice-2.1, en-US-Sage:MAI-Voice-2.1, es-ES-Marta:MAI-Voice-2.1, es-MX-Alejo:MAI-Voice-2.1, es-MX-Grant:MAI-Voice-2.1, es-MX-Harper:MAI-Voice-2.1, es-MX-Valeria:MAI-Voice-2.1, fi-FI-Grant:MAI-Voice-2.1, fi-FI-Harper:MAI-Voice-2.1, fr-FR-Grant:MAI-Voice-2.1, fr-FR-Harper:MAI-Voice-2.1, fr-FR-Marc:MAI-Voice-2.1, fr-FR-Soleil:MAI-Voice-2.1, hi-IN-Arjun:MAI-Voice-2.1, hi-IN-Dhruv:MAI-Voice-2.1, hi-IN-Grant:MAI-Voice-2.1, hi-IN-Harper:MAI-Voice-2.1, hi-IN-Kavya:MAI-Voice-2.1, hi-IN-Priya:MAI-Voice-2.1, hu-HU-Bence:MAI-Voice-2.1, hu-HU-Grant:MAI-Voice-2.1, hu-HU-Harper:MAI-Voice-2.1, hu-HU-Levente:MAI-Voice-2.1, hu-HU-Lilla:MAI-Voice-2.1, hu-HU-Reka:MAI-Voice-2.1, id-ID-Grant:MAI-Voice-2.1, id-ID-Harper:MAI-Voice-2.1, it-IT-Grant:MAI-Voice-2.1, it-IT-Harper:MAI-Voice-2.1, it-IT-Luca:MAI-Voice-2.1, it-IT-Rosa:MAI-Voice-2.1, ko-KR-Grant:MAI-Voice-2.1, ko-KR-Haena:MAI-Voice-2.1, ko-KR-Harper:MAI-Voice-2.1, ko-KR-Junho:MAI-Voice-2.1, nb-NO-Grant:MAI-Voice-2.1, nb-NO-Harper:MAI-Voice-2.1, nl-NL-Grant:MAI-Voice-2.1, nl-NL-Harper:MAI-Voice-2.1, nl-NL-Sander:MAI-Voice-2.1, pl-PL-Grant:MAI-Voice-2.1, pl-PL-Harper:MAI-Voice-2.1, pt-BR-Caio:MAI-Voice-2.1, pt-BR-Grant:MAI-Voice-2.1, pt-BR-Harper:MAI-Voice-2.1, pt-BR-Luana:MAI-Voice-2.1, pt-BR-Pedro:MAI-Voice-2.1, pt-BR-Rafael:MAI-Voice-2.1, pt-PT-Grant:MAI-Voice-2.1, pt-PT-Harper:MAI-Voice-2.1, pt-PT-Rui:MAI-Voice-2.1, ro-RO-Andrei:MAI-Voice-2.1, ro-RO-Elena:MAI-Voice-2.1, ro-RO-Grant:MAI-Voice-2.1, ro-RO-Harper:MAI-Voice-2.1, ro-RO-Ioana:MAI-Voice-2.1, ro-RO-Radu:MAI-Voice-2.1, ru-RU-Grant:MAI-Voice-2.1, ru-RU-Harper:MAI-Voice-2.1, ru-RU-Lev:MAI-Voice-2.1, ru-RU-Masha:MAI-Voice-2.1, sv-SE-Grant:MAI-Voice-2.1, sv-SE-Harper:MAI-Voice-2.1, th-TH-Grant:MAI-Voice-2.1, th-TH-Harper:MAI-Voice-2.1, th-TH-Krit:MAI-Voice-2.1, th-TH-Nattapong:MAI-Voice-2.1, tr-TR-Aydin:MAI-Voice-2.1, tr-TR-Elif:MAI-Voice-2.1, tr-TR-Grant:MAI-Voice-2.1, tr-TR-Harper:MAI-Voice-2.1, vi-VN-Grant:MAI-Voice-2.1, vi-VN-Harper:MAI-Voice-2.1, zh-CN-Bo:MAI-Voice-2.1, zh-CN-Grant:MAI-Voice-2.1, zh-CN-Harper:MAI-Voice-2.1, zh-CN-Lan:MAI-Voice-2.1, zh-CN-Mei:MAI-Voice-2.1, zh-CN-Wei:MAI-Voice-2.1 | Numatyta— |
Laukasresponse_format | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos mp3 | Numatyta— |
Įvesties medžiagos deriniai
text_to_speech · Privaloma: input
Metodo parametrai ir gyvavimo ciklas
| Parametras | Specifikacija |
|---|---|
Parametrascontent_type | Specifikacijaapplication/json |
Parametrasrequired | Specifikacijamodel, input, voice, response_format |
Parametrasvoice_ids | Specifikacijacs-CZ-Grant:MAI-Voice-2.1, cs-CZ-Harper:MAI-Voice-2.1, da-DK-Grant:MAI-Voice-2.1, da-DK-Harper:MAI-Voice-2.1, de-DE-Grant:MAI-Voice-2.1, de-DE-Harper:MAI-Voice-2.1, de-DE-Klaus:MAI-Voice-2.1, de-DE-Mia:MAI-Voice-2.1, en-AU-Isla:MAI-Voice-2.1, en-GB-Emily:MAI-Voice-2.1, en-GB-Harry:MAI-Voice-2.1, en-IN-Dhruv:MAI-Voice-2.1, en-IN-Priya:MAI-Voice-2.1, en-US-Ethan:MAI-Voice-2.1, en-US-Grant:MAI-Voice-2.1, en-US-Harper:MAI-Voice-2.1, en-US-Iris:MAI-Voice-2.1, en-US-Jasper:MAI-Voice-2.1, en-US-Olivia:MAI-Voice-2.1, en-US-Sage:MAI-Voice-2.1, es-ES-Marta:MAI-Voice-2.1, es-MX-Alejo:MAI-Voice-2.1, es-MX-Grant:MAI-Voice-2.1, es-MX-Harper:MAI-Voice-2.1, es-MX-Valeria:MAI-Voice-2.1, fi-FI-Grant:MAI-Voice-2.1, fi-FI-Harper:MAI-Voice-2.1, fr-FR-Grant:MAI-Voice-2.1, fr-FR-Harper:MAI-Voice-2.1, fr-FR-Marc:MAI-Voice-2.1, fr-FR-Soleil:MAI-Voice-2.1, hi-IN-Arjun:MAI-Voice-2.1, hi-IN-Dhruv:MAI-Voice-2.1, hi-IN-Grant:MAI-Voice-2.1, hi-IN-Harper:MAI-Voice-2.1, hi-IN-Kavya:MAI-Voice-2.1, hi-IN-Priya:MAI-Voice-2.1, hu-HU-Bence:MAI-Voice-2.1, hu-HU-Grant:MAI-Voice-2.1, hu-HU-Harper:MAI-Voice-2.1, hu-HU-Levente:MAI-Voice-2.1, hu-HU-Lilla:MAI-Voice-2.1, hu-HU-Reka:MAI-Voice-2.1, id-ID-Grant:MAI-Voice-2.1, id-ID-Harper:MAI-Voice-2.1, it-IT-Grant:MAI-Voice-2.1, it-IT-Harper:MAI-Voice-2.1, it-IT-Luca:MAI-Voice-2.1, it-IT-Rosa:MAI-Voice-2.1, ko-KR-Grant:MAI-Voice-2.1, ko-KR-Haena:MAI-Voice-2.1, ko-KR-Harper:MAI-Voice-2.1, ko-KR-Junho:MAI-Voice-2.1, nb-NO-Grant:MAI-Voice-2.1, nb-NO-Harper:MAI-Voice-2.1, nl-NL-Grant:MAI-Voice-2.1, nl-NL-Harper:MAI-Voice-2.1, nl-NL-Sander:MAI-Voice-2.1, pl-PL-Grant:MAI-Voice-2.1, pl-PL-Harper:MAI-Voice-2.1, pt-BR-Caio:MAI-Voice-2.1, pt-BR-Grant:MAI-Voice-2.1, pt-BR-Harper:MAI-Voice-2.1, pt-BR-Luana:MAI-Voice-2.1, pt-BR-Pedro:MAI-Voice-2.1, pt-BR-Rafael:MAI-Voice-2.1, pt-PT-Grant:MAI-Voice-2.1, pt-PT-Harper:MAI-Voice-2.1, pt-PT-Rui:MAI-Voice-2.1, ro-RO-Andrei:MAI-Voice-2.1, ro-RO-Elena:MAI-Voice-2.1, ro-RO-Grant:MAI-Voice-2.1, ro-RO-Harper:MAI-Voice-2.1, ro-RO-Ioana:MAI-Voice-2.1, ro-RO-Radu:MAI-Voice-2.1, ru-RU-Grant:MAI-Voice-2.1, ru-RU-Harper:MAI-Voice-2.1, ru-RU-Lev:MAI-Voice-2.1, ru-RU-Masha:MAI-Voice-2.1, sv-SE-Grant:MAI-Voice-2.1, sv-SE-Harper:MAI-Voice-2.1, th-TH-Grant:MAI-Voice-2.1, th-TH-Harper:MAI-Voice-2.1, th-TH-Krit:MAI-Voice-2.1, th-TH-Nattapong:MAI-Voice-2.1, tr-TR-Aydin:MAI-Voice-2.1, tr-TR-Elif:MAI-Voice-2.1, tr-TR-Grant:MAI-Voice-2.1, tr-TR-Harper:MAI-Voice-2.1, vi-VN-Grant:MAI-Voice-2.1, vi-VN-Harper:MAI-Voice-2.1, zh-CN-Bo:MAI-Voice-2.1, zh-CN-Grant:MAI-Voice-2.1, zh-CN-Harper:MAI-Voice-2.1, zh-CN-Lan:MAI-Voice-2.1, zh-CN-Mei:MAI-Voice-2.1, zh-CN-Wei:MAI-Voice-2.1 |
Parametrasresponse_format | Specifikacijamp3 |
Parametrasmax_input_characters | Specifikacijanull |
Parametrasother_options | Specifikacijafalse |
Parametrasinput | Specifikacijatikslus UTF-8 tekstas; Unicode simbolių skaičius be normalizavimo |
Parametrasmaterial_types | Specifikacijatext |
Gyvavimo ciklas: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · faktiškai grąžinta task_id reikšmė arba medijos bibliotekos įrašas
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Pasirinkite tikslų balsą iš šio modelio profilio.
Įvesties simboliai ir garso sekundės yra skirtingi apskaitos vienetai.
Planai
Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.
- Spartusis režimas
- Nenurodyta Pasirinkus spartųjį režimą
- Flex režimas
- Nenurodyta Pasirinkus flex režimą
- Didžiausios samprotavimo pastangos
- Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)
Ailoot įkainiai
Kainos pagal konfigūraciją
Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.
| Konfigūracija | Įkainių lentelė | Apmokestinamas kiekis | Apskaitos vienetas | Mokestis |
|---|---|---|---|---|
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Apmokestinamas kiekis— | Apskaitos vienetas— | Mokestis Įvestis · Įvesties tokenai — / 1K tokenų Išvestis · Išvesties tokenai — / 1K tokenų Įvestis · Talpyklos skaitymas — / 1K tokenų Įvestis · Rašymas į talpyklą — / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų |
| KonfigūracijaUltra | Įkainių lentelė— | Apmokestinamas kiekisKiekvienas Unicode kodo taškas, įskaitant Han simbolius, skaičiuojamas kaip vienas simbolis. | Apskaitos vienetasuž 1K įvesties simbolių | Mokestis Įvestis · įvesties simbolis $0.044 už 1K įvesties simbolių |
Informacinio tarifo duomenys
Modelio informacinės lentelės nekeičia metodo pasirinkimo, kainos įverčių ar mokesčių. Galiojantys mokesčiai nustatomi pagal pasirinkto Ailoot metodo įkainius.
Microsoft AI: MAI-Voice-2.1
Kainos pagal konfigūraciją
| Konfigūracija | Apmokestinimo sąlygos | Mokestis |
|---|---|---|
| KonfigūracijaMicrosoft AI: MAI-Voice-2.1 · Numatytoji konfigūracija | Apmokestinimo sąlygosNumatytoji konfigūracija | Mokestis Įvestis · Įvesties simboliai 0,000044 USD už įvesties simbolį |
Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →
Užklausų pavyzdžiai
Ailoot Ultra · Įgarsinimas
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", "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", "cs-CZ-Harper:MAI-Voice-2.1", "da-DK-Grant:MAI-Voice-2.1", "da-DK-Harper:MAI-Voice-2.1", "de-DE-Grant:MAI-Voice-2.1", "de-DE-Harper:MAI-Voice-2.1", "de-DE-Klaus:MAI-Voice-2.1", "de-DE-Mia:MAI-Voice-2.1", "en-AU-Isla:MAI-Voice-2.1", "en-GB-Emily:MAI-Voice-2.1", "en-GB-Harry:MAI-Voice-2.1", "en-IN-Dhruv:MAI-Voice-2.1", "en-IN-Priya:MAI-Voice-2.1", "en-US-Ethan:MAI-Voice-2.1", "en-US-Grant:MAI-Voice-2.1", "en-US-Harper:MAI-Voice-2.1", "en-US-Iris:MAI-Voice-2.1", "en-US-Jasper:MAI-Voice-2.1", "en-US-Olivia:MAI-Voice-2.1", "en-US-Sage:MAI-Voice-2.1", "es-ES-Marta:MAI-Voice-2.1", "es-MX-Alejo:MAI-Voice-2.1", "es-MX-Grant:MAI-Voice-2.1", "es-MX-Harper:MAI-Voice-2.1", "es-MX-Valeria:MAI-Voice-2.1", "fi-FI-Grant:MAI-Voice-2.1", "fi-FI-Harper:MAI-Voice-2.1", "fr-FR-Grant:MAI-Voice-2.1", "fr-FR-Harper:MAI-Voice-2.1", "fr-FR-Marc:MAI-Voice-2.1", "fr-FR-Soleil:MAI-Voice-2.1", "hi-IN-Arjun:MAI-Voice-2.1", "hi-IN-Dhruv:MAI-Voice-2.1", "hi-IN-Grant:MAI-Voice-2.1", "hi-IN-Harper:MAI-Voice-2.1", "hi-IN-Kavya:MAI-Voice-2.1", "hi-IN-Priya:MAI-Voice-2.1", "hu-HU-Bence:MAI-Voice-2.1", "hu-HU-Grant:MAI-Voice-2.1", "hu-HU-Harper:MAI-Voice-2.1", "hu-HU-Levente:MAI-Voice-2.1", "hu-HU-Lilla:MAI-Voice-2.1", "hu-HU-Reka:MAI-Voice-2.1", "id-ID-Grant:MAI-Voice-2.1", "id-ID-Harper:MAI-Voice-2.1", "it-IT-Grant:MAI-Voice-2.1", "it-IT-Harper:MAI-Voice-2.1", "it-IT-Luca:MAI-Voice-2.1", "it-IT-Rosa:MAI-Voice-2.1", "ko-KR-Grant:MAI-Voice-2.1", "ko-KR-Haena:MAI-Voice-2.1", "ko-KR-Harper:MAI-Voice-2.1", "ko-KR-Junho:MAI-Voice-2.1", "nb-NO-Grant:MAI-Voice-2.1", "nb-NO-Harper:MAI-Voice-2.1", "nl-NL-Grant:MAI-Voice-2.1", "nl-NL-Harper:MAI-Voice-2.1", "nl-NL-Sander:MAI-Voice-2.1", "pl-PL-Grant:MAI-Voice-2.1", "pl-PL-Harper:MAI-Voice-2.1", "pt-BR-Caio:MAI-Voice-2.1", "pt-BR-Grant:MAI-Voice-2.1", "pt-BR-Harper:MAI-Voice-2.1", "pt-BR-Luana:MAI-Voice-2.1", "pt-BR-Pedro:MAI-Voice-2.1", "pt-BR-Rafael:MAI-Voice-2.1", "pt-PT-Grant:MAI-Voice-2.1", "pt-PT-Harper:MAI-Voice-2.1", "pt-PT-Rui:MAI-Voice-2.1", "ro-RO-Andrei:MAI-Voice-2.1", "ro-RO-Elena:MAI-Voice-2.1", "ro-RO-Grant:MAI-Voice-2.1", "ro-RO-Harper:MAI-Voice-2.1", "ro-RO-Ioana:MAI-Voice-2.1", "ro-RO-Radu:MAI-Voice-2.1", "ru-RU-Grant:MAI-Voice-2.1", "ru-RU-Harper:MAI-Voice-2.1", "ru-RU-Lev:MAI-Voice-2.1", "ru-RU-Masha:MAI-Voice-2.1", "sv-SE-Grant:MAI-Voice-2.1", "sv-SE-Harper:MAI-Voice-2.1", "th-TH-Grant:MAI-Voice-2.1", "th-TH-Harper:MAI-Voice-2.1", "th-TH-Krit:MAI-Voice-2.1", "th-TH-Nattapong:MAI-Voice-2.1", "tr-TR-Aydin:MAI-Voice-2.1", "tr-TR-Elif:MAI-Voice-2.1", "tr-TR-Grant:MAI-Voice-2.1", "tr-TR-Harper:MAI-Voice-2.1", "vi-VN-Grant:MAI-Voice-2.1", "vi-VN-Harper:MAI-Voice-2.1", "zh-CN-Bo:MAI-Voice-2.1", "zh-CN-Grant:MAI-Voice-2.1", "zh-CN-Harper:MAI-Voice-2.1", "zh-CN-Lan:MAI-Voice-2.1", "zh-CN-Mei:MAI-Voice-2.1", "zh-CN-Wei:MAI-Voice-2.1"]')
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
Gauti ir išsaugoti rezultatus
Ailoot Ultra · Įgarsinimas
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Kito turinio skaitymas
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
Išsaugoti visus baigtus rezultatus
Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.
Išsaugokite visą dvejetainį rezultatą ir antraštes. Jei grąžinamas JSON arba keli rezultatai, išsaugokite kiekvieną duomenų elementą ir atsisiųskite kiekvieną išteklių pagal faktiškai grąžintą pasirašytą URL.
Jei reikia patikrinti pradinį atsakymą
Išsaugokite pradinį operation_id/X-Client-Request-ID duomenims sutikrinti, pakartotinai neteikdami užklausos; atskiro garso būsenos tikrinimo maršruto nėra.
Atsakymo laukai
| Laukas | Tipas |
|---|---|
Laukasbinary audio | Tipasbytes |
Laukasresponse headers | Tipasheaders |
Klaidos ir tolesni veiksmai
| Atsakymas | Sąlyga | Kitas žingsnis |
|---|---|---|
Atsakymas400 · invalid_request_error | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |
Atsakymasserver_error | SąlygaGrąžintame atsakyme nurodoma, kad operaciją arba rezultatą reikia patikrinti | Kitas žingsnisIšsaugokite pradinį grąžintą operacijos ar užduoties ID, užklausos antraštes ir atsakymą; toliau tikrinkite tos pačios pradinės operacijos duomenis palaikomais būdais. Kūrimo užklausos pakartotinai neteikite. |
Pseudonimai
Modelių pseudonimai
Ailoot Ultra microsoft/mai-voice-2.1
Metodų kelių pseudonimai
Naudokite aukščiau nurodytus metodų kelius.
Susiję ID iškvietimui
FAQ · Microsoft AI: MAI-Voice-2.1
- Kokios įvestys ir rezultatai prieinami?
POST /v1/audio/speech·microsoft/mai-voice-2.1:text→audio- Kokius laukus naudoja užklausa?
POST /v1/audio/speech·microsoft/mai-voice-2.1:model,input,voice,response_format