hexgrad: Kokoro 82M
Kokoro 82M von hexgrad erzeugt Sprachausgabe mit einem kompakten Modell mit 82 Millionen Parametern und einer sprachspezifischen voreingestellten Stimme. Sein dokumentiertes v1.0-Profil umfasst acht Sprachen, 54 Stimmen und Audioausgabe mit 24 kHz.
Über das Modell
Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.
Kokoro 82M ist das Text-to-Speech-Modell von hexgrad mit offenen Gewichten und zweiundachtzig Millionen Parametern. Seine Modellkarte beschreibt eine kompakte reine Decoder-Architektur auf Basis von StyleTTS 2 und iSTFTNet. Geschriebener Text wird in Ausspracheinformationen und anschließend in Sprachausgabe mit einer ausgewählten Stimme umgewandelt. Die dokumentierte Version v1.0 bietet vierundfünfzig Stimmen in acht Sprachen; dieses Profil unterscheidet sich von der früheren, ausschließlich englischsprachigen Version v0.19.
Passende Sprache und Stimme auswählen
Der Stimmenkatalog umfasst amerikanisches und britisches Englisch, Japanisch, Mandarin-Chinesisch, Spanisch, Französisch, Hindi, Italienisch und brasilianisches Portugiesisch. Die beiden englischen Akzente sind Varianten einer Sprache. Stimmennamen und Spracheinstellungen gehören zusammen: af_heart ist im offiziellen Workflow ein Beispiel für amerikanisches Englisch; für die anderen Sprachen und Akzente enthält der Katalog separate Gruppen.
Wählen Sie den Sprecher anhand des tatsächlichen Materials aus, das er lesen wird. Ein kurzer Sprechertext für einen Kurs kann über alle Abschnitte hinweg dieselbe voreingestellte Stimme verwenden; eine mehrsprachige Sammlung kann aus jeder benötigten Sprachgruppe eine Stimme auswählen. Der Umfang des Katalogs unterscheidet sich zwischen den Gruppen. Französisch ist beispielsweise durch eine aufgeführte Stimme vertreten, während für Englisch eine größere Auswahl verfügbar ist.
Aussprache und Passagen vorbereiten
Die Referenzpipeline von Kokoro wandelt Schriftformen in Phoneme um. Ihre Beispiele ermöglichen eine explizite phonetische Lesung für einen Begriff, sodass ein schwieriger Name vorbereitet werden kann, statt einer mehrdeutigen Schreibweise überlassen zu bleiben. Halten Sie den umgebenden Satz natürlich und bewahren Sie den Wortlaut, den der Hörer hören soll.
Eine praktische Passage lautet: „Die Anleitung besteht aus drei Teilen. Wählen Sie zuerst das Material. Vergleichen Sie anschließend die Beispiele. Speichern Sie zum Schluss die Version, die Sie verwenden möchten.“ Schreiben Sie vollständige Formulierungen und bewahren Sie die durch Satzzeichen nahegelegten Pausen. Gliedern Sie die Eingabe für ein langes Stück in zusammenhängende Absätze, statt das gesamte Dokument als eine ununterbrochene Äußerung zu behandeln.
Laut Stimmenleitfaden funktionieren viele Sprecher am besten mit Passagen von ungefähr 100–200 Tokens innerhalb eines Bereichs von etwa 500 Tokens. Er nennt Schwächen bei sehr kurzen Äußerungen, insbesondere unter 10–20 Tokens, und eine Tendenz, längere Passagen zu hastig zu sprechen, besonders jenseits von 400 Tokens. Dies sind tokenbezogene Beobachtungen zur Vorbereitung, keine Grenzen für Wortzahl oder Aufnahmedauer. Das Zusammenführen kurzer Fragmente oder Teilen einer langen Passage kann eine geeignetere Sprecheinheit ergeben.
Audioausgabe und Tempo
Der offizielle Workflow liefert für jedes erzeugte Segment den verarbeiteten Text, Phoneme und ein Audioergebnis. Er speichert diese Segmente als WAV mit 24.000 Hz und stellt in der Referenzpipeline eine Geschwindigkeitseinstellung bereit. Halten Sie Segmenttext und Reihenfolge mit dem Audio verknüpft, damit die zusammengesetzte Erzählaufnahme dem vorgesehenen Skript folgt.
Eine nützliche Schnittkontrolle ist das Anhören des Übergangs zwischen zwei Passagen mit anschließender Prüfung wiederkehrender Namen und des Tempos von Aufzählungen. Audioausgabe und Phonemansicht dienen unterschiedlichen Zwecken: Die eine ist die Aufnahme, die der Hörer hört, die andere hilft zu prüfen, wie der geschriebene Text ausgesprochen wird.
Sprachabdeckung und praktische Grenzen
Der Hersteller weist ausdrücklich darauf hin, dass die Unterstützung anderer Sprachen als Englisch wegen begrenzter Ausspracheverarbeitung oder Stimmtrainingsdaten eingeschränkt sein kann. Die Gruppen voreingestellter Stimmen sind deshalb nicht als gleichwertige Garantien für die Sprechweise jeder Passage zu behandeln. Wählen Sie einen geeigneten Sprecher und prüfen Sie die tatsächlichen Namen und Formulierungen, die die Aufgabe erfordert.
Das nützliche Ergebnis ist eine gesprochene Passage oder eine zusammengesetzte Erzählaufnahme mit einer dokumentierten voreingestellten Stimme; der Text ist dabei auf deren Aussprache- und Passagenlängenbedarf abgestimmt. Dieses Profil folgt den v1.0-Unterlagen des Herstellers zu Kokoro 82M; ein anderer Checkpoint, eine quantisierte Implementierung oder eine extern veränderte Stimme hat ihren eigenen technischen Geltungsbereich.
Ailoot Ultra · Sprachausgabe POST /v1/audio/speech hexgrad/kokoro-82m
hexgrad/kokoro-82mEinstieg
Kokoro 82M von hexgrad erzeugt Sprachausgabe mit einem kompakten Modell mit 82 Millionen Parametern und einer sprachspezifischen voreingestellten Stimme. Sein dokumentiertes v1.0-Profil umfasst acht Sprachen, 54 Stimmen und Audioausgabe mit 24 kHz.
- Zulässige Eingaben
- Text
- Ergebnisse
- Audio
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Sprachausgabe POST /v1/audio/speech
- Eingabe
text- Ausgabe
audio- Ausgabeformat
- mp3
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits hexgrad/kokoro-82m | Standard— |
Feldinput | Typstring | AnforderungErforderlich | Werte und Limits Mindestlänge: 1 Einheit: Unicode-Zeichen | Standard— |
Feldvoice | Typstring | AnforderungErforderlich | Werte und Limits 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— |
Feldresponse_format | Typstring | AnforderungErforderlich | Werte und Limits mp3 | Standard— |
Kombinationen von Eingabematerialien
text_to_speech · Erforderlich: input
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragmodel, input, voice, response_format |
Parametervoice_ids | Vertragaf_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 | Vertragmp3 |
Parametermax_input_characters | Vertragnull |
Parameterother_options | Vertragfalse |
Parameterinput | Vertragexakter UTF-8-Text; Unicode-Zeichenzahl ohne Normalisierung |
Parametermaterial_types | Vertragtext |
Lebenszyklus: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · die tatsächlich zurückgegebene task_id oder ein Eintrag in der Medienbibliothek
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Wählen Sie die genaue Stimme aus diesem Modellprofil.
Eingabezeichen und Audiosekunden sind unterschiedliche Messgrößen.
Tarife
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Nicht angegeben Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Nicht angegeben Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Nicht angegeben Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
Ailoot-Tarife
Preise nach Konfiguration
Ordnen Sie jede Gebühr den angezeigten Bedingungen zu. Verwenden Sie für jede Gruppe alternativer Konfigurationen einen Tarif.
| Konfiguration | Tarifstaffel | Abrechenbare Menge | Abrechnungseinheit | Gebühr |
|---|---|---|---|---|
| KonfigurationBasistarife für Tokens | TarifstaffelGrundtarif | Abrechenbare Menge— | Abrechnungseinheit— | Gebühr Eingabe · Eingabetoken — / 1K Tokens Ausgabe · Ausgabetoken — / 1K Tokens Eingabe · Cache lesen — / 1K Tokens Eingabe · In Cache schreiben — / 1K Tokens Eingabe · In Cache schreiben, 1 Stunde — / 1K Tokens |
| KonfigurationUltra | Tarifstaffel— | Abrechenbare MengeJeder Unicode-Codepunkt zählt als ein Zeichen, einschließlich Han-Zeichen. | Abrechnungseinheitpro 1K Eingabezeichen | Gebühr Eingabe · Eingabezeichen $0.008 pro 1K Eingabezeichen |
Details zum Referenztarif
Referenztarifstaffeln auf Modellebene ändern weder Methodenauswahl noch Kostenvoranschläge oder Gebühren. Für die aktive Abrechnung gelten die Tarife der ausgewählten Ailoot-Methode.
hexgrad: Kokoro 82M
Preise nach Konfiguration
| Konfiguration | Abrechnungsbedingungen | Gebühr |
|---|---|---|
| Konfigurationhexgrad: Kokoro 82M · Standardkonfiguration | AbrechnungsbedingungenStandardkonfiguration | Gebühr Eingabe · Eingabezeichen $ 0,00000124 pro Eingabezeichen |
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
Ailoot Ultra · Sprachausgabe
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
Ergebnisse abrufen und speichern
Ailoot Ultra · Sprachausgabe
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Abrufe anderer Inhalte
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
Alle fertiggestellten Ergebnisse aufbewahren
Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.
Das vollständige Binärergebnis und die Header aufbewahren. Wenn JSON oder mehrere Ausgaben zurückgegeben werden, jedes Datenelement aufbewahren und jede tatsächlich zurückgegebene signierte Asset-URL abrufen.
Wenn die ursprüngliche Antwort geprüft werden muss
Die ursprüngliche operation_id/X-Client-Request-ID für den Abgleich ohne erneute Einreichung aufbewahren; es gibt keine eigene Route zur Abfrage des Audiostatus.
Antwortfelder
| Feld | Typ |
|---|---|
Feldbinary audio | Typbytes |
Feldresponse headers | Typheaders |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungPflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültig | Nächster SchrittDie angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren. |
Antwortserver_error | BedingungDie zurückgegebene Antwort gibt an, dass der Vorgang oder das Ergebnis eine Prüfung erfordert | Nächster SchrittDie ursprünglich zurückgegebene Vorgangs-/Aufgaben-ID, die Anfrageheader und die Antwort aufbewahren; mit unterstützten Leseaufrufen für diesen ursprünglichen Vorgang fortfahren. Die Erstellungsanfrage nicht erneut senden. |
Aliasnamen
Modellaliasnamen
Ailoot Ultra hexgrad/kokoro-82m
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · hexgrad: Kokoro 82M
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/audio/speech·hexgrad/kokoro-82m:text→audio- Welche Felder verwendet die Anfrage?
POST /v1/audio/speech·hexgrad/kokoro-82m:model,input,voice,response_format