hexgrad: Kokoro 82M
A hexgrad Kokoro 82M modellje kompakt, 82 millió paraméteres modellel és nyelvspecifikus előre beállított hanggal generál beszédet. Dokumentált v1.0 leírása nyolc nyelvet, 54 hangot és 24 kHz-es hangkimenetet tartalmaz.
A modellről
Ez a leírás a modell képességeit ismerteti. Az Ailootban elérhető bemenetek, kimenetek és lehetőségek alább, a kiválasztott metódusnál láthatók.
A Kokoro 82M a hexgrad nyílt súlyú szövegfelolvasó modellje nyolcvankét millió paraméterrel. Modellkártyája StyleTTS 2-re és iSTFTNetre épülő kompakt, csak dekóderes architektúrát ír le. Az írott szöveget kiejtési információvá, majd a kiválasztott hangon beszéddé alakítja. A dokumentált v1.0 kiadás ötvennégy hangot biztosít nyolc nyelven; ez eltér a korábbi, kizárólag angol v0.19 kiadástól.
Válassz egymáshoz illő nyelvet és hangot
A hangkatalógus amerikai és brit angolt, japánt, mandarin kínait, spanyolt, franciát, hindit, olaszt és brazil portugált fed le. A két angol akcentus egyetlen nyelv változata. A hangnevek és nyelvbeállítások összetartoznak: az af_heart amerikai angol példa a hivatalos munkafolyamatban, míg a katalógus külön csoportokkal rendelkezik a többi nyelvhez és akcentushoz.
A ténylegesen felolvasandó anyag alapján válassz beszélőt. Egy rövid kurzusnarráció ugyanazt az előre beállított hangot használhatja a szakaszaiban; egy többnyelvű gyűjtemény minden szükséges nyelvcsoportból választhat hangot. A katalógus lefedettsége csoportonként eltér. A franciát például egyetlen felsorolt hang képviseli, szemben az angol nagyobb választékával.
Kiejtés és részletek előkészítése
A Kokoro referencia-feldolgozólánca az írott alakokat fonémákká alakítja. Példái lehetővé teszik egy kifejezés explicit fonetikus olvasatát, így egy nehéz név előkészíthető ahelyett, hogy kétértelmű írásmódra hagyatkoznánk. A környező mondat maradjon természetes, és őrizd meg a hallgatónak szánt megfogalmazást.
Egy gyakorlati részlet: „Az útmutató három részből áll. Először válaszd ki az anyagot. Ezután hasonlítsd össze a példákat. Végül mentsd el a használni kívánt változatot.” Teljes fordulatokat írj, és tartsd meg az írásjelek által jelzett szüneteket. Hosszú anyagnál összefüggő bekezdésekbe szervezd a bemenetet, ne kezeld a teljes dokumentumot egyetlen megszakítás nélküli megszólalásként.
A hangútmutató szerint sok beszélő körülbelül 100–200 tokenes részletekkel működik a legjobban, egy hozzávetőleg 500 tokenes tartományon belül. Nagyon rövid megszólalásoknál, különösen 10–20 token alatt gyengeségeket, hosszabb részleteknél, főleg 400 token felett sietésre való hajlamot említ. Ezek tokenalapú előkészítési megfigyelések, nem szószám- vagy felvételidő-korlátok. Rövid töredékek összekapcsolása vagy hosszú részlet felosztása alkalmasabb beszédegységet adhat.
Hangkimenet és tempó
A hivatalos munkafolyamat minden generált szegmenshez visszaadja a feldolgozott szöveget, fonémákat és hanganyagot. A szegmenseket 24 000 Hz-es WAV-ként menti, és a referencia-feldolgozóláncban sebességbeállítást tesz elérhetővé. A szegmensszöveget és sorrendet a hanganyaggal kapcsolódóan őrizd meg, hogy az összeállított narráció kövesse a tervezett szöveget.
Hasznos szerkesztési ellenőrzés két részlet határának meghallgatása, majd az ismétlődő nevek és a felsorolások tempójának vizsgálata. A hangkimenet és a fonémanézet eltérő célra szolgál: az egyik a hallgató által hallott felvétel, a másik segít ellenőrizni az írott szöveg kiejtését.
Nyelvi lefedettség és hasznos korlátok
A gyártó kifejezetten megjegyzi, hogy a nem angol támogatás szűkös lehet a korlátozott kiejtésfeldolgozás vagy hangtanítási adatok miatt. Ezért az előre beállított csoportokat nem szabad minden részletre azonos előadási garanciaként kezelni. Válassz megfelelő beszélőt, és ellenőrizd a feladatban ténylegesen szükséges neveket és megfogalmazást.
A hasznos eredmény egy elmondott részlet vagy összeállított narráció dokumentált előre beállított hanggal, a kiejtési és részlethossz-igényeihez előkészített szöveggel. Ez a leírás a gyártó v1.0 Kokoro 82M anyagait követi; másik modellváltozat, kvantált implementáció vagy külsőleg módosított hang saját műszaki határokkal rendelkezik.
Ailoot Ultra · Felolvasás POST /v1/audio/speech hexgrad/kokoro-82m
hexgrad/kokoro-82mKezdő lépések
A hexgrad Kokoro 82M modellje kompakt, 82 millió paraméteres modellel és nyelvspecifikus előre beállított hanggal generál beszédet. Dokumentált v1.0 leírása nyolc nyelvet, 54 hangot és 24 kHz-es hangkimenetet tartalmaz.
- Elfogadott bemenetek
- Szöveg
- Eredmények
- Hang
Elérhető az Ailootban · bemenetek és metódusok
Ailoot Ultra · Felolvasás POST /v1/audio/speech
- Bemenet
text- Kimenet
audio- Kimeneti formátum
- mp3
| Mező | Típus | Követelmény | Értékek és korlátok | Alapértelmezett |
|---|---|---|---|---|
Mezőmodel | Típusstring | KövetelményKötelező | Értékek és korlátok hexgrad/kokoro-82m | Alapértelmezett— |
Mezőinput | Típusstring | KövetelményKötelező | Értékek és korlátok Minimális hossz: 1 Egység: Unicode-karakterek | Alapértelmezett— |
Mezővoice | Típusstring | KövetelményKötelező | Értékek és korlátok 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 | Alapértelmezett— |
Mezőresponse_format | Típusstring | KövetelményKötelező | Értékek és korlátok mp3 | Alapértelmezett— |
Bemeneti anyagok kombinációi
text_to_speech · Kötelező: input
Metódus paraméterei és életciklusa
| Paraméter | Szerződés |
|---|---|
Paramétercontent_type | Szerződésapplication/json |
Paraméterrequired | Szerződésmodel, input, voice, response_format |
Paramétervoice_ids | Szerződésaf_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 |
Paraméterresponse_format | Szerződésmp3 |
Paramétermax_input_characters | Szerződésnull |
Paraméterother_options | Szerződésfalse |
Paraméterinput | Szerződéspontos UTF-8 szöveg; Unicode-karakterszám normalizálás nélkül |
Paramétermaterial_types | Szerződéstext |
Életciklus: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · A ténylegesen visszaadott task_id vagy a médiatár bejegyzése
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
E modell profiljából válassza ki a pontos hangot.
A bemeneti karakterek és a hangmásodpercek külön mérési egységek.
Díjcsomagok
A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.
- Gyors mód
- Nincs megadva Ha a gyors mód van kiválasztva
- Flex mód
- Nincs megadva Ha a flex mód van kiválasztva
- Maximális gondolkodási ráfordítás
- Nincs megadva Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik
Ailoot-díjak
Árak beállításonként
Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.
| Beállítás | Díjtáblázat | Számlázható mennyiség | Elszámolási egység | Díj |
|---|---|---|---|---|
| BeállításTokenek alapdíjai | DíjtáblázatAlapdíj | Számlázható mennyiség— | Elszámolási egység— | Díj Bemenet · Bemeneti tokenek — / 1K token Kimenet · Kimeneti tokenek — / 1K token Bemenet · Gyorsítótár olvasása — / 1K token Bemenet · Írás a gyorsítótárba — / 1K token Bemenet · Írás a gyorsítótárba, 1 óra — / 1K token |
| BeállításUltra | Díjtáblázat— | Számlázható mennyiségMinden Unicode-kódpont egy karakternek számít, a Han-karaktereket is beleértve. | Elszámolási egység1K bemeneti karakterenként | Díj Bemenet · bemeneti karakter $0.008 1K bemeneti karakterenként |
A referencia-díjszabás részletei
A modellszintű referenciatáblázatok nem módosítják a metódusválasztást, az árajánlatokat vagy a díjakat. A tényleges díjak a kiválasztott Ailoot-metódus díjtételeit használják.
hexgrad: Kokoro 82M
Árak beállításonként
| Beállítás | Elszámolási feltételek | Díj |
|---|---|---|
| Beállításhexgrad: Kokoro 82M · Alapértelmezett beállítások | Elszámolási feltételekAlapértelmezett konfiguráció | Díj Bemenet · Bemeneti karakterek 0,00000124 USD bemeneti karakterenként |
Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →
Példakérések
Ailoot Ultra · Felolvasás
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
Eredmények fogadása és mentése
Ailoot Ultra · Felolvasás
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
További tartalomlekérések
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
Őrizzen meg minden elkészült eredményt
Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.
Őrizze meg a teljes bináris eredményt és a fejléceket. JSON vagy több kimenet esetén őrizzen meg minden adatelemet, és töltse le minden ténylegesen visszaadott, aláírt média-URL tartalmát.
Ha az eredeti választ ellenőrizni kell
Őrizze meg az eredeti operation_id/X-Client-Request-ID értéket az egyeztetéshez, újbóli beküldés nélkül; nincs külön hangállapot-lekérdezési útvonal.
Válaszmezők
| Mező | Típus |
|---|---|
Mezőbinary audio | Típusbytes |
Mezőresponse headers | Típusheaders |
Hibák és következő lépések
| Válasz | Feltétel | Következő lépés |
|---|---|---|
Válasz400 · invalid_request_error | FeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterérték | Következő lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt. |
Válaszserver_error | FeltételA visszaadott válasz szerint a művelet vagy az eredmény ellenőrzést igényel | Következő lépésŐrizze meg az eredetileg visszaadott művelet- vagy feladatazonosítót, a kérés fejléceit és a választ; folytassa az eredeti művelet támogatott lekérdezéseit. Ne küldje be újra a létrehozási kérést. |
Álnevek
Modell álnevei
Ailoot Ultra hexgrad/kokoro-82m
Metódusútvonalak álnevei
Használja a fent látható metódusútvonalakat.
Kapcsolódó modellazonosítók
FAQ · hexgrad: Kokoro 82M
- Milyen bemenetek és eredmények érhetők el?
POST /v1/audio/speech·hexgrad/kokoro-82m:text→audio- Mely mezőket használja a kérés?
POST /v1/audio/speech·hexgrad/kokoro-82m:model,input,voice,response_format