hexgrad: Kokoro 82M
hexgrad Kokoro 82M generuoja kalbą kompaktišku 82 milijonų parametrų modeliu ir konkrečiai kalbai skirtu iš anksto nustatytu balsu. Dokumentuotas v1.0 profilis apima aštuonias kalbas, 54 balsus ir 24 kHz garso išvestį.
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
Kokoro 82M yra atvirų svorių hexgrad teksto įgarsinimo modelis, turintis aštuoniasdešimt du milijonus parametrų. Jo modelio kortelėje aprašoma kompaktiška tik dekoduotuvo architektūra, pagrįsta StyleTTS 2 ir iSTFTNet. Rašytinis tekstas paverčiamas tarimo informacija, o tada – kalba pasirinktu balsu. Dokumentuotas v1.0 leidimas pateikia penkiasdešimt keturis balsus aštuoniomis kalbomis; šis profilis skiriasi nuo ankstesnio tik anglų kalbai skirto v0.19 leidimo.
Pasirinkite atitinkančią kalbą ir balsą
Balsų katalogas apima amerikietišką ir britišką anglų, japonų, mandarinų kinų, ispanų, prancūzų, hindi, italų ir Brazilijos portugalų kalbas. Du angliški akcentai yra vienos kalbos variantai. Balsų vardai ir kalbos nustatymai priklauso vienas kitam: af_heart yra amerikietiškos anglų kalbos pavyzdys oficialiame procese, o kitoms kalboms bei akcentams katalogas turi atskiras grupes.
Kalbėtoją pasirinkite pagal faktinę medžiagą, kurią jis skaitys. Trumpo kurso pasakojimas gali naudoti vieną nuoseklų iš anksto nustatytą balsą visuose skyriuose; daugiakalbis rinkinys gali pasirinkti po balsą iš kiekvienos reikalingos kalbos grupės. Katalogo aprėptis tarp grupių skiriasi. Pavyzdžiui, prancūzų kalbai pateiktas vienas nurodytas balsas, o ne platesnis anglų kalbos pasirinkimas.
Paruoškite tarimą ir ištraukas
Etaloninis Kokoro procesas paverčia rašytines formas fonemomis. Jo pavyzdžiai leidžia terminui aiškiai nurodyti fonetinį skaitymą, todėl sudėtingą vardą galima paruošti, o ne palikti dviprasmiškai rašybai. Aplinkinį sakinį išlaikykite natūralų ir išsaugokite formuluotes, kurias klausytojas turi girdėti.
Praktinė ištrauka: „Vadovą sudaro trys dalys. Pirmiausia pasirinkite medžiagą. Tada palyginkite pavyzdžius. Galiausiai išsaugokite versiją, kurią norite naudoti.“ Rašykite pilnas frazes ir išlaikykite skyrybos numanomas pauzes. Ilgam kūriniui įvestį suskirstykite į nuoseklias pastraipas, užuot visą dokumentą laikę vienu nepertraukiamu pasakymu.
Balsų vadove nurodoma, kad daug kalbėtojų geriausiai veikia su maždaug 100–200 žetonų ištraukomis maždaug 500 žetonų apimties ribose. Jame pažymimos labai trumpų pasakymų silpnybės, ypač trumpesnių nei 10–20 žetonų, ir polinkis skubinti ilgesnes ištraukas, ypač viršijančias 400 žetonų. Tai žetonais pagrįsti paruošimo stebėjimai, o ne žodžių skaičiaus ar įrašo trukmės ribos. Trumpų fragmentų sujungimas ar ilgos ištraukos padalijimas gali suteikti tinkamesnį kalbos vienetą.
Garso išvestis ir tempas
Oficialus procesas kiekvienam sugeneruotam segmentui pateikia apdorotą tekstą, fonemas ir garso rezultatą. Jis išsaugo tuos segmentus WAV formatu 24 000 Hz dažniu ir etaloniniame procese pateikia greičio nustatymą. Segmento tekstą bei tvarką susiekite su garsu, kad surinktas pasakojimas sektų numatytą tekstą.
Naudingas redagavimo patikrinimas – perklausyti ribą tarp dviejų ištraukų, tada patikrinti pasikartojančius vardus ir sąrašų tempą. Garso išvestis ir fonemų rodinys tarnauja skirtingiems tikslams: garso išvestis yra klausytojo girdimas įrašas, o fonemų rodinys padeda patikrinti, kaip tariamas parašytas tekstas.
Kalbų aprėptis ir naudingi apribojimai
Kūrėjas aiškiai pažymi, kad ne anglų kalbų palaikymas gali būti ribotas dėl riboto tarimo apdorojimo ar balso mokymo duomenų kiekio. Todėl jo iš anksto nustatytų balsų grupių nereikėtų laikyti vienodomis kiekvienos ištraukos atlikimo garantijomis. Pasirinkite tinkamą kalbėtoją ir patikrinkite užduočiai reikalingus tikrus vardus bei formuluotes.
Naudingas rezultatas yra sakytinė ištrauka ar surinktas pasakojimas su dokumentuotu iš anksto nustatytu balsu, tekstą paruošus pagal jo tarimo ir ištraukos ilgio poreikius. Šis profilis remiasi kūrėjo v1.0 Kokoro 82M medžiaga; kitas modelio leidimas, kvantizuota realizacija ar išoriškai pakeistas balsas turi savą techninę sritį.
Ailoot Ultra · Įgarsinimas POST /v1/audio/speech hexgrad/kokoro-82m
hexgrad/kokoro-82mPradžia
hexgrad Kokoro 82M generuoja kalbą kompaktišku 82 milijonų parametrų modeliu ir konkrečiai kalbai skirtu iš anksto nustatytu balsu. Dokumentuotas v1.0 profilis apima aštuonias kalbas, 54 balsus ir 24 kHz garso išvestį.
- 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 hexgrad/kokoro-82m | 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 af_alloy, af_aoede, af_bella, af_heart, af_jessica, af_kore, af_nicole, af_nova, af_river, af_sarah, af_sky, am_adam, am_echo, am_eric, am_fenrir, am_liam, am_michael, am_onyx, am_puck, am_santa, bf_alice, bf_emma, bf_isabella, bf_lily, bm_daniel, bm_fable, bm_george, bm_lewis, ef_dora, em_alex, em_santa, ff_siwis, hf_alpha, hf_beta, hm_omega, hm_psi, if_sara, im_nicola, jf_alpha, jf_gongitsune, jf_nezumi, jf_tebukuro, jm_kumo, pf_dora, pm_alex, pm_santa, zf_xiaobei, zf_xiaoni, zf_xiaoxiao, zf_xiaoyi, zm_yunjian, zm_yunxi, zm_yunxia, zm_yunyang | 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 | Specifikacijaaf_alloy, af_aoede, af_bella, af_heart, af_jessica, af_kore, af_nicole, af_nova, af_river, af_sarah, af_sky, am_adam, am_echo, am_eric, am_fenrir, am_liam, am_michael, am_onyx, am_puck, am_santa, bf_alice, bf_emma, bf_isabella, bf_lily, bm_daniel, bm_fable, bm_george, bm_lewis, ef_dora, em_alex, em_santa, ff_siwis, hf_alpha, hf_beta, hm_omega, hm_psi, if_sara, im_nicola, jf_alpha, jf_gongitsune, jf_nezumi, jf_tebukuro, jm_kumo, pf_dora, pm_alex, pm_santa, zf_xiaobei, zf_xiaoni, zf_xiaoxiao, zf_xiaoyi, zm_yunjian, zm_yunxi, zm_yunxia, zm_yunyang |
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.008 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.
hexgrad: Kokoro 82M
Kainos pagal konfigūraciją
| Konfigūracija | Apmokestinimo sąlygos | Mokestis |
|---|---|---|
| Konfigūracijahexgrad: Kokoro 82M · Numatytoji konfigūracija | Apmokestinimo sąlygosNumatytoji konfigūracija | Mokestis Įvestis · Įvesties simboliai 0,00000124 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": "hexgrad/kokoro-82m", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["af_alloy", "af_aoede", "af_bella", "af_heart", "af_jessica", "af_kore", "af_nicole", "af_nova", "af_river", "af_sarah", "af_sky", "am_adam", "am_echo", "am_eric", "am_fenrir", "am_liam", "am_michael", "am_onyx", "am_puck", "am_santa", "bf_alice", "bf_emma", "bf_isabella", "bf_lily", "bm_daniel", "bm_fable", "bm_george", "bm_lewis", "ef_dora", "em_alex", "em_santa", "ff_siwis", "hf_alpha", "hf_beta", "hm_omega", "hm_psi", "if_sara", "im_nicola", "jf_alpha", "jf_gongitsune", "jf_nezumi", "jf_tebukuro", "jm_kumo", "pf_dora", "pm_alex", "pm_santa", "zf_xiaobei", "zf_xiaoni", "zf_xiaoxiao", "zf_xiaoyi", "zm_yunjian", "zm_yunxi", "zm_yunxia", "zm_yunyang"]')
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 hexgrad/kokoro-82m
Metodų kelių pseudonimai
Naudokite aukščiau nurodytus metodų kelius.
Susiję ID iškvietimui
FAQ · hexgrad: Kokoro 82M
- Kokios įvestys ir rezultatai prieinami?
POST /v1/audio/speech·hexgrad/kokoro-82m:text→audio- Kokius laukus naudoja užklausa?
POST /v1/audio/speech·hexgrad/kokoro-82m:model,input,voice,response_format