hexgrad: Kokoro 82M
hexgrads Kokoro 82M genererar tal med en kompakt modell med 82 miljoner parametrar och en språkspecifik förinställd röst. Den dokumenterade v1.0-profilen omfattar åtta språk, 54 röster och ljudutdata vid 24 kHz.
Om modellen
Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.
Kokoro 82M är hexgrads text-till-tal-modell med öppna vikter och åttiotvå miljoner parametrar. Modellkortet beskriver en kompakt arkitektur med enbart decoder, baserad på StyleTTS 2 och iSTFTNet. Skriven text omvandlas till uttalsinformation och sedan till tal med en vald röst. Den dokumenterade v1.0-utgåvan erbjuder femtiofyra röster på åtta språk; den profilen skiljer sig från den tidigare v0.19-utgåvan som enbart stöder engelska.
Välj ett matchande språk och en röst
Röstkatalogen omfattar amerikansk och brittisk engelska, japanska, mandarinkinesiska, spanska, franska, hindi, italienska och brasiliansk portugisiska. De två engelska accenterna är varianter av ett och samma språk. Röstnamn och språkinställningar hör ihop: af_heart är ett amerikanskt engelskt exempel i det officiella arbetsflödet, medan katalogen har separata grupper för övriga språk och accenter.
Välj talaren utifrån det faktiska material som ska läsas upp. En kort kursberättarröst kan använda en konsekvent förinställd röst genom avsnitten; en flerspråkig samling kan välja en röst från varje språkgrupp som behövs. Katalogens täckning skiljer sig mellan grupperna. Franska representeras till exempel av en listad röst i stället för det större urval som finns för engelska.
Förbered uttal och avsnitt
Kokoros referenspipeline omvandlar skrivna former till fonem. Exemplen tillåter en uttrycklig fonetisk läsning för en term, så ett svårt namn kan förberedas i stället för att lämnas åt en tvetydig stavning. Håll den omgivande meningen naturlig och bevara de ord som lyssnaren ska höra.
Ett praktiskt avsnitt är: ”Guiden har tre delar. Välj först materialet. Jämför sedan exemplen. Spara till sist den version du vill använda.” Skriv fullständiga fraser och behåll pauserna som antyds av interpunktionen. För ett långt innehåll organiserar du indata i sammanhängande stycken i stället för att behandla hela dokumentet som ett enda oavbrutet yttrande.
Röstguiden säger att många talare fungerar bäst med avsnitt på ungefär 100–200 token inom en omfattning på cirka 500 token. Den noterar svagheter vid mycket korta yttranden, särskilt under 10–20 token, och en tendens att skynda genom längre avsnitt, särskilt över 400 token. Detta är tokenbaserade observationer för förberedelse, inte gränser för antal ord eller inspelningslängd. Att kombinera korta fragment eller dela ett långt avsnitt kan ge en lämpligare talenhet.
Ljudutdata och tempo
Det officiella arbetsflödet ger den bearbetade texten, fonemen och ett ljudresultat för varje genererat segment. Det sparar segmenten som WAV vid 24 000 Hz och erbjuder en hastighetsinställning i referenspipelinen. Håll segmenttext och ordning kopplade till ljudet så att den sammansatta berättarrösten följer det avsedda manuset.
En användbar redigeringskontroll är att lyssna över gränsen mellan två avsnitt och sedan granska återkommande namn och tempot i listor. Ljudutdata och fonemvyn fyller olika syften: det ena är inspelningen lyssnaren hör, det andra hjälper dig att granska hur den skrivna texten uttalas.
Språktäckning och användbara begränsningar
Tillverkaren påpekar uttryckligen att stödet för andra språk än engelska kan vara tunt eftersom uttalsbearbetningen eller röstträningsdata är begränsade. De förinställda grupperna ska därför inte behandlas som likvärdiga garantier för framförandet av varje avsnitt. Välj en lämplig talare och granska de verkliga namn och formuleringar som uppgiften kräver.
Den användbara leveransen är ett talat avsnitt eller en sammansatt berättarröst med en dokumenterad förinställd röst, där texten förberetts utifrån behoven för uttal och avsnittslängd. Den här profilen följer tillverkarens v1.0-material för Kokoro 82M; en annan checkpoint, kvantiserad implementation eller externt modifierad röst har sin egen tekniska omfattning.
Ailoot Ultra · Talproduktion POST /v1/audio/speech hexgrad/kokoro-82m
hexgrad/kokoro-82mStart
hexgrads Kokoro 82M genererar tal med en kompakt modell med 82 miljoner parametrar och en språkspecifik förinställd röst. Den dokumenterade v1.0-profilen omfattar åtta språk, 54 röster och ljudutdata vid 24 kHz.
- Godkända indata
- Text
- Resultat
- Ljud
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Talproduktion POST /v1/audio/speech
- Indatatyper
text- Utdatatyper
audio- Utdataformat
- mp3
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser hexgrad/kokoro-82m | Standard— |
Fältinput | Typstring | KravObligatoriskt | Värden & gränser Minsta längd: 1 Enhet: Unicode-tecken | Standard— |
Fältvoice | Typstring | KravObligatoriskt | Värden & gränser 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 | Standard— |
Fältresponse_format | Typstring | KravObligatoriskt | Värden & gränser mp3 | Standard— |
Kombinationer av indatamaterial
text_to_speech · Krävs: input
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, input, voice, response_format |
Parametervoice_ids | Avtalaf_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 |
Parameterresponse_format | Avtalmp3 |
Parametermax_input_characters | Avtalnull |
Parameterother_options | Avtalfalse |
Parameterinput | Avtalexakt UTF-8-text; antal Unicode-tecken utan normalisering |
Parametermaterial_types | Avtaltext |
Livscykel: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · Det task_id som faktiskt returnerades eller en post i mediebiblioteket
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Välj den exakta rösten från denna modellprofil.
Indatatecken och ljudsekunder är olika mätenheter.
Priser
Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.
- Snabbt läge
- Ej angivet När snabbt läge är valt
- Flex-läge
- Ej angivet När läget flex är valt
- Högsta resonemangsnivå
- Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)
Ailoot-priser
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Prislista | Debiterbar mängd | Debiteringsenhet | Avgift |
|---|---|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Debiterbar mängd— | Debiteringsenhet— | Avgift Indata · Indatatoken — / 1K token Utdata · Utdatatoken — / 1K token Indata · Cacheläsning — / 1K token Indata · Skrivning till cache — / 1K token Indata · Skrivning till cache, 1 tim — / 1K token |
| KonfigurationUltra | Prislista— | Debiterbar mängdVarje Unicode-kodpunkt räknas som ett tecken, även Han-tecken. | Debiteringsenhetper 1K indatatecken | Avgift Indata · indatatecken $0.008 per 1K indatatecken |
Detaljer om referenstariffen
Referensprislistor på modellnivå ändrar inte metodval, prisuppgifter eller avgifter. Aktiva avgifter använder priserna för den valda Ailoot-metoden.
hexgrad: Kokoro 82M
Priser efter konfiguration
| Konfiguration | Debiteringsvillkor | Avgift |
|---|---|---|
| Konfigurationhexgrad: Kokoro 82M · Standardkonfiguration | DebiteringsvillkorStandardkonfiguration | Avgift Indata · Indatatecken 0,00000124 US$ per indatatecken |
Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →
Exempelbegäranden
Ailoot Ultra · Talproduktion
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
Ta emot och spara resultat
Ailoot Ultra · Talproduktion
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Andra innehållsläsningar
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
Behåll alla färdiga resultat
Behåll varje fullständigt returnerat svar, fil och innehållsdel.
Spara hela det binära resultatet och dess headers. Om JSON eller flera resultat returneras ska du behålla varje dataobjekt och hämta innehållet via varje faktisk signerad URL till en resurs.
Om det ursprungliga svaret behöver kontrolleras
Behåll de ursprungliga värdena för operation_id/X-Client-Request-ID för avstämning utan att skicka förfrågan igen; det finns ingen särskild rutt för statusavläsning av ljud.
Svarsfält
| Fält | Typ |
|---|---|
Fältbinary audio | Typbytes |
Fältresponse headers | Typheaders |
Fel och nästa steg
| Svar | Villkor | Nästa steg |
|---|---|---|
Svar400 · invalid_request_error | VillkorOgiltiga obligatoriska fält, ogiltig representation av underlaget eller ogiltigt parametervärde | Nästa stegKorrigera de angivna fälten före en ny begäran om att skapa. |
Svarserver_error | VillkorDet returnerade svaret anger att operationen eller resultatet behöver kontrolleras | Nästa stegSpara det ursprungliga operations- eller uppgifts-ID som returnerades, förfrågans headers och svaret. Fortsätt att läsa den ursprungliga operationen med de läsmetoder som stöds. Skicka inte skapandeförfrågan igen. |
Alias
Modellalias
Ailoot Ultra hexgrad/kokoro-82m
Alias för metodsökvägar
Använd metodsökvägarna som visas ovan.
Relaterade anropar-ID:n
FAQ · hexgrad: Kokoro 82M
- Vilka indata och resultat finns?
POST /v1/audio/speech·hexgrad/kokoro-82m:text→audio- Vilka fält använder begäran?
POST /v1/audio/speech·hexgrad/kokoro-82m:model,input,voice,response_format