models

hexgrad: Kokoro 82M

Markdown · JSON

hexgrad: Kokoro 82M

Kokoro 82M de hexgrad génère de la parole avec un modèle compact de 82 millions de paramètres et une voix prédéfinie propre à la langue. Son profil v1.0 documenté comprend huit langues, 54 voix et une sortie audio à 24 kHz.

À propos du modèle

Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.

Kokoro 82M est le modèle de synthèse vocale à poids ouverts de hexgrad avec quatre-vingt-deux millions de paramètres. Sa fiche de modèle décrit une architecture compacte à décodeur seul, fondée sur StyleTTS 2 et iSTFTNet. Le texte écrit est converti en informations de prononciation, puis en parole dans une voix choisie. La publication v1.0 documentée fournit cinquante-quatre voix dans huit langues ; ce profil est distinct de la publication v0.19 antérieure, exclusivement anglophone.

Choisir une langue et une voix correspondantes

Le catalogue vocal couvre l’anglais américain et britannique, le japonais, le chinois mandarin, l’espagnol, le français, l’hindi, l’italien et le portugais brésilien. Les deux accents anglais sont des variantes d’une même langue. Les noms de voix et les réglages linguistiques vont ensemble : af_heart est un exemple d’anglais américain dans le processus officiel, tandis que le catalogue possède des groupes distincts pour les autres langues et accents.

Choisissez le locuteur en fonction du contenu réel qu’il lira. Une courte narration de cours peut utiliser une voix prédéfinie cohérente dans toutes ses sections ; une collection multilingue peut choisir une voix dans chaque groupe linguistique requis. La couverture du catalogue diffère entre les groupes. Le français, par exemple, est représenté par une seule voix répertoriée, plutôt que par le choix plus vaste disponible en anglais.

Préparer la prononciation et les passages

Le pipeline de référence de Kokoro convertit les formes écrites en phonèmes. Ses exemples autorisent une lecture phonétique explicite pour un terme ; un nom difficile peut donc être préparé, plutôt que laissé à une graphie ambiguë. Gardez la phrase environnante naturelle et préservez les mots que l’auditeur doit entendre.

Un passage concret est : « Le guide comporte trois parties. D’abord, choisissez le contenu. Ensuite, comparez les exemples. Enfin, sauvegardez la version que vous voulez utiliser. » Rédigez des phrases complètes et gardez les pauses suggérées par la ponctuation. Pour un contenu long, organisez l’entrée en paragraphes cohérents, plutôt que de traiter le document entier comme un énoncé ininterrompu.

Le guide vocal indique que de nombreux locuteurs donnent leurs meilleurs résultats avec des passages d’environ 100 à 200 tokens dans une plage approximative de 500 tokens. Il relève des faiblesses sur les énoncés très courts, particulièrement en dessous de 10 à 20 tokens, et une tendance à accélérer sur les passages plus longs, surtout au-delà de 400 tokens. Ce sont des observations de préparation fondées sur les tokens, plutôt que des limites en nombre de mots ou en durée d’enregistrement. Réunir de courts fragments ou diviser un long passage peut fournir une unité de parole plus adaptée.

Sortie audio et rythme

Le processus officiel fournit le texte traité, les phonèmes et un résultat audio pour chaque segment généré. Il sauvegarde ces segments en WAV à 24 000 Hz et expose un réglage de vitesse dans le pipeline de référence. Gardez le texte des segments et leur ordre associés à l’audio afin que la narration assemblée suive le script visé.

Une vérification de montage utile consiste à écouter la jonction entre deux passages, puis à examiner les noms récurrents et le rythme des listes. La sortie audio et la vue des phonèmes servent à des objectifs différents : l’une est l’enregistrement entendu par l’auditeur, l’autre aide à examiner la prononciation du texte écrit.

Couverture linguistique et limites utiles

Le fabricant souligne explicitement que la prise en charge d’autres langues que l’anglais peut être limitée parce que le traitement de prononciation ou les données d’entraînement des voix sont restreints. Ses groupes de voix prédéfinies ne doivent donc pas être traités comme des garanties égales d’interprétation pour chaque passage. Choisissez un locuteur adapté et vérifiez les noms et les formulations réels nécessaires à la tâche.

Le livrable utile est un passage parlé ou une narration assemblée utilisant une voix prédéfinie documentée, avec un texte préparé selon ses besoins de prononciation et de longueur de passage. Ce profil suit les matériaux v1.0 de Kokoro 82M du fabricant ; une autre version, une implémentation quantifiée ou une voix modifiée extérieurement possèdent leur propre périmètre technique.

Ailoot Ultra · Synthèse vocale POST /v1/audio/speech hexgrad/kokoro-82m

hexgrad/kokoro-82m

hexgrad /hexgrad/kokoro-82m

Premiers pas

Kokoro 82M de hexgrad génère de la parole avec un modèle compact de 82 millions de paramètres et une voix prédéfinie propre à la langue. Son profil v1.0 documenté comprend huit langues, 54 voix et une sortie audio à 24 kHz.

Entrées acceptées
Texte
Résultats
Audio

Disponible dans Ailoot · entrées et méthodes

Ailoot Ultra · Synthèse vocale POST /v1/audio/speech
Entrée
text
Sortie
audio
Format de sortie
mp3
ChampTypeExigenceValeurs et limitesPar défaut
ChampmodelTypestringExigenceObligatoireValeurs et limites
hexgrad/kokoro-82m
Par défaut—
ChampinputTypestringExigenceObligatoireValeurs et limites
Longueur minimale: 1
Unité: caractères Unicode
Par défaut—
ChampvoiceTypestringExigenceObligatoireValeurs et limites
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
Par défaut—
Champresponse_formatTypestringExigenceObligatoireValeurs et limites
mp3
Par défaut—
Combinaisons d’éléments d’entrée

text_to_speech · Obligatoire : input

Paramètres et cycle de vie de la méthode
ParamètreContrat
Paramètrecontent_typeContratapplication/json
ParamètrerequiredContratmodel, input, voice, response_format
Paramètrevoice_idsContrataf_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ètreresponse_formatContratmp3
Paramètremax_input_charactersContratnull
Paramètreother_optionsContratfalse
ParamètreinputContrattexte UTF-8 exact ; comptage des caractères Unicode sans normalisation
Paramètrematerial_typesContrattext

Cycle de vie : synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · task_id effectivement renvoyé ou enregistrement de la bibliothèque multimédia

GET /v1/media/assets/{asset_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Sélectionnez la voix exacte dans ce profil de modèle.

Les caractères d’entrée et les secondes audio relèvent de compteurs distincts.

Tarifs

Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.

Mode rapide
Non précisé Lorsque le mode rapide est sélectionné
Mode Flex
Non précisé Lorsque le mode flex est sélectionné
Effort de raisonnement maximal
Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)

Tarifs Ailoot

Prix par configuration

Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.

ConfigurationBarème tarifaireQuantité facturableUnité de facturationCoût
ConfigurationTarifs de base des jetonsBarème tarifaireTarif de baseQuantité facturable—Unité de facturation—Coût
Entrée · Tokens en entrée — / 1K tokens
Sortie · Tokens en sortie — / 1K tokens
Entrée · Lecture du cache — / 1K tokens
Entrée · Écriture dans le cache — / 1K tokens
Entrée · Écriture dans le cache, 1 h — / 1K tokens
ConfigurationUltraBarème tarifaire—Quantité facturableChaque point de code Unicode compte pour un caractère, y compris les caractères Han.Unité de facturationpar 1K caractères en entréeCoût
Entrée · caractère en entrée $0.008 par 1K caractères en entrée

Détails du tarif de référence

Les barèmes de référence du modèle ne modifient ni la sélection de méthode, ni les devis, ni les coûts. Les frais actifs utilisent les tarifs de la méthode Ailoot sélectionnée.

hexgrad: Kokoro 82M

Prix par configuration

ConfigurationConditions de facturationCoût
Configurationhexgrad: Kokoro 82M · Configuration par défautConditions de facturationConfiguration par défautCoût
Entrée · Caractères en entrée 0,00000124 USD par caractère en entrée

Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →

Exemples de requêtes

Ailoot Ultra · Synthèse vocale

curl
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

Recevoir et enregistrer les résultats

Ailoot Ultra · Synthèse vocale

mp3

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Autres lectures de contenu
MédiathèqueÉtat de la tâcheDétails des ressources
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
Conserver tous les résultats terminés

Conservez chaque réponse, fichier et partie de contenu renvoyés dans leur intégralité.

Conservez le résultat binaire complet et les en-têtes. Si une réponse JSON ou plusieurs sorties sont renvoyées, conservez chaque élément de données et récupérez chaque ressource via son URL signée réelle.

Si la réponse d’origine doit être vérifiée

Conservez l’operation_id/X-Client-Request-ID d’origine pour le rapprochement sans nouvelle soumission ; aucune route dédiée à l’interrogation du statut audio.

Champs de la réponse
ChampType
Champbinary audioTypebytes
Champresponse headersTypeheaders
Erreurs et étapes suivantes
RéponseConditionÉtape suivante
Réponse400 · invalid_request_errorConditionChamps obligatoires, représentation des contenus ou valeur de paramètre non validesÉtape suivanteCorrigez les champs indiqués avant une nouvelle requête de création.
Réponseserver_errorConditionLa réponse renvoyée indique que l’opération ou le résultat nécessite une vérificationÉtape suivanteConservez l’identifiant d’opération/de tâche initialement renvoyé, les en-têtes de la requête et la réponse ; poursuivez les lectures prises en charge de cette opération d’origine. Ne soumettez pas à nouveau la requête de création.

Alias

Alias du modèle

Ailoot Ultra hexgrad/kokoro-82m

Alias des chemins de méthode

Utilisez les chemins de méthode indiqués ci-dessus.

ID d’appel associés

hexgrad/kokoro-82m

FAQ · hexgrad: Kokoro 82M
Quelles entrées et quels résultats sont disponibles ?

POST /v1/audio/speech · hexgrad/kokoro-82m: text → audio

Quels champs la requête utilise-t-elle ?

POST /v1/audio/speech · hexgrad/kokoro-82m: model, input, voice, response_format

Plus de détails

Connectez Ailoot à Claude Code, OpenCode, Hermes ou à votre application.

L’entreprise et son portefeuille de projets

L’entreprise et son portefeuille de projets : des millions de clients ; des ventes qui se chiffrent en milliards chaque mois.

Achetez des tokens à prix réduit.

Une remise d’abonnement pour le travail régulier. Des codes promo jusqu’à 50% sur l’achat de tokens.

Abonnement
Choisissez une offre à tarif réduit pour vos requêtes régulières.
Code promo jusqu’à 50%
Saisissez le code à l’achat. Le prix est recalculé selon la promotion en cours.
Dépenses dans l’historique
Modèle, tokens et montant sont enregistrés pour chaque requête.

Choisir un abonnement · Voir les prix des modèles

Connectez l’API au produit que vous vendez.

SaaS, applications et bots selon l’offre officielle et le contrat de licence Ailoot. Pour la revente, demandez une licence revendeur.

Application commerciale
Intégrez la génération de texte, d’images, de vidéo et de son aux fonctions payantes de votre service.
Licence revendeur
Envoyez la description du projet et le mode d’accès. Demandez des conditions écrites d’utilisation et de revente.
Documents sur le site
L’offre officielle, le contrat de licence et la politique de traitement des données sont accessibles avant connexion.

Demander une licence revendeur · Offre officielle et contrat de licence