hexgrad: Kokoro 82M
Το Kokoro 82M της hexgrad παράγει ομιλία με ένα μικρό μοντέλο 82 εκατομμυρίων παραμέτρων και μια προκαθορισμένη φωνή ειδική για τη γλώσσα. Το τεκμηριωμένο προφίλ v1.0 περιλαμβάνει οκτώ γλώσσες, 54 φωνές και έξοδο ήχου στα 24 kHz.
Σχετικά με το μοντέλο
Αυτή η περιγραφή καλύπτει τις δυνατότητες του μοντέλου. Οι είσοδοι, έξοδοι και επιλογές που διατίθενται στο Ailoot παρατίθενται παρακάτω για την επιλεγμένη μέθοδο.
Το Kokoro 82M είναι το μοντέλο μετατροπής κειμένου σε ομιλία της hexgrad με ανοικτά βάρη και ογδόντα δύο εκατομμύρια παραμέτρους. Η κάρτα μοντέλου του περιγράφει μια μικρή αρχιτεκτονική μόνο με αποκωδικοποιητή, βασισμένη στα StyleTTS 2 και iSTFTNet. Το γραπτό κείμενο μετατρέπεται σε πληροφορίες προφοράς και έπειτα σε ομιλία με μια επιλεγμένη φωνή. Η τεκμηριωμένη έκδοση v1.0 παρέχει πενήντα τέσσερις φωνές σε οκτώ γλώσσες· αυτό το προφίλ διαφέρει από την προηγούμενη έκδοση v0.19, που υποστήριζε αποκλειστικά αγγλικά.
Επιλέξτε αντίστοιχη γλώσσα και φωνή
Ο κατάλογος φωνών καλύπτει αμερικανικά και βρετανικά αγγλικά, ιαπωνικά, μανδαρινικά κινεζικά, ισπανικά, γαλλικά, χίντι, ιταλικά και πορτογαλικά Βραζιλίας. Οι δύο αγγλικές προφορές είναι παραλλαγές μίας γλώσσας. Τα ονόματα φωνών και οι ρυθμίσεις γλώσσας συνδέονται: το af_heart είναι παράδειγμα αμερικανικών αγγλικών στην επίσημη ροή εργασίας, ενώ ο κατάλογος έχει ξεχωριστές ομάδες για τις άλλες γλώσσες και προφορές.
Επιλέξτε τον ομιλητή με βάση το πραγματικό υλικό που θα διαβάσει. Μια σύντομη αφήγηση μαθήματος μπορεί να χρησιμοποιεί μία συνεπή προκαθορισμένη φωνή σε όλες τις ενότητές της· μια πολύγλωσση συλλογή μπορεί να επιλέγει φωνή από κάθε απαιτούμενη γλωσσική ομάδα. Η κάλυψη του καταλόγου διαφέρει μεταξύ ομάδων. Τα γαλλικά, για παράδειγμα, αντιπροσωπεύονται από μία καταχωρισμένη φωνή αντί για την ευρύτερη επιλογή που διατίθεται στα αγγλικά.
Προετοιμάστε την προφορά και τα αποσπάσματα
Η ροή αναφοράς του Kokoro μετατρέπει τις γραπτές μορφές σε φωνήματα. Τα παραδείγματά της επιτρέπουν ρητή φωνητική ανάγνωση ενός όρου, ώστε ένα δύσκολο όνομα να μπορεί να προετοιμαστεί αντί να αφεθεί σε αμφίσημη γραφή. Κρατήστε φυσική την πρόταση που το περιβάλλει και διατηρήστε τη διατύπωση που πρέπει να ακούσει ο ακροατής.
Ένα πρακτικό απόσπασμα είναι: «Ο οδηγός έχει τρία μέρη. Πρώτα, επιλέξτε το υλικό. Στη συνέχεια, συγκρίνετε τα παραδείγματα. Τέλος, αποθηκεύστε την έκδοση που θέλετε να χρησιμοποιήσετε.» Γράψτε πλήρεις φράσεις και διατηρήστε τις παύσεις που υποδηλώνει η στίξη. Για ένα εκτενές έργο, οργανώστε την είσοδο σε συνεκτικές παραγράφους αντί να αντιμετωπίζετε όλο το έγγραφο ως μία αδιάκοπη εκφώνηση.
Ο οδηγός φωνών αναφέρει ότι πολλοί ομιλητές αποδίδουν καλύτερα με αποσπάσματα περίπου 100–200 token μέσα σε ένα εύρος περίπου 500 token. Σημειώνει αδυναμίες σε πολύ σύντομες εκφωνήσεις, ιδιαίτερα κάτω από 10–20 token, και τάση να βιάζονται στα μεγαλύτερα αποσπάσματα, ειδικά πέρα από 400 token. Αυτές είναι παρατηρήσεις προετοιμασίας με βάση τα token και όχι όρια αριθμού λέξεων ή διάρκειας ηχογράφησης. Η συνένωση σύντομων τμημάτων ή ο χωρισμός ενός μεγάλου αποσπάσματος μπορεί να δώσει καταλληλότερη μονάδα ομιλίας.
Έξοδος ήχου και ρυθμός
Η επίσημη ροή εργασίας παρέχει το επεξεργασμένο κείμενο, τα φωνήματα και ένα ηχητικό αποτέλεσμα για κάθε παραγόμενο τμήμα. Αποθηκεύει αυτά τα τμήματα ως WAV στα 24.000 Hz και διαθέτει ρύθμιση ταχύτητας στη ροή αναφοράς. Κρατήστε το κείμενο των τμημάτων και τη σειρά τους συνδεδεμένα με τον ήχο, ώστε η ενωμένη αφήγηση να ακολουθεί το επιθυμητό κείμενο εκφώνησης.
Ένας χρήσιμος έλεγχος επεξεργασίας είναι να ακούσετε τη μετάβαση στο όριο μεταξύ δύο αποσπασμάτων και έπειτα να εξετάσετε τα επαναλαμβανόμενα ονόματα και τον ρυθμό των λιστών. Η έξοδος ήχου και η προβολή φωνημάτων εξυπηρετούν διαφορετικούς σκοπούς: η μία είναι η ηχογράφηση που ακούει ο ακροατής, η άλλη βοηθά να εξεταστεί πώς προφέρεται το γραπτό κείμενο.
Γλωσσική κάλυψη και χρήσιμα όρια
Ο κατασκευαστής σημειώνει ρητά ότι η υποστήριξη γλωσσών εκτός αγγλικών μπορεί να είναι περιορισμένη, επειδή η επεξεργασία προφοράς ή τα δεδομένα εκπαίδευσης φωνών είναι περιορισμένα. Οι ομάδες προκαθορισμένων φωνών του δεν πρέπει επομένως να αντιμετωπίζονται ως ίσες εγγυήσεις εκφοράς για κάθε απόσπασμα. Επιλέξτε κατάλληλο ομιλητή και ελέγξτε τα πραγματικά ονόματα και τη διατύπωση που απαιτεί η εργασία.
Το χρήσιμο παραδοτέο είναι ένα προφορικό απόσπασμα ή μια ενωμένη αφήγηση με τεκμηριωμένη προκαθορισμένη φωνή και με κείμενο προετοιμασμένο σύμφωνα με τις ανάγκες προφοράς και μήκους αποσπασμάτων. Αυτό το προφίλ ακολουθεί το υλικό του κατασκευαστή για το Kokoro 82M v1.0· άλλο checkpoint, κβαντισμένη υλοποίηση ή εξωτερικά τροποποιημένη φωνή έχουν το δικό τους τεχνικό πεδίο.
Ailoot Ultra · Σύνθεση ομιλίας POST /v1/audio/speech hexgrad/kokoro-82m
hexgrad/kokoro-82mΕισαγωγή
Το Kokoro 82M της hexgrad παράγει ομιλία με ένα μικρό μοντέλο 82 εκατομμυρίων παραμέτρων και μια προκαθορισμένη φωνή ειδική για τη γλώσσα. Το τεκμηριωμένο προφίλ v1.0 περιλαμβάνει οκτώ γλώσσες, 54 φωνές και έξοδο ήχου στα 24 kHz.
- Αποδεκτές είσοδοι
- Κείμενο
- Αποτελέσματα
- Ήχος
Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι
Ailoot Ultra · Σύνθεση ομιλίας POST /v1/audio/speech
- Είσοδος
text- Έξοδος
audio- Μορφή εξόδου
- mp3
| Πεδίο | Τύπος | Απαίτηση | Τιμές και όρια | Προεπιλογή |
|---|---|---|---|---|
Πεδίοmodel | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια hexgrad/kokoro-82m | Προεπιλογή— |
Πεδίοinput | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια Ελάχιστο μήκος: 1 Μονάδα: χαρακτήρες Unicode | Προεπιλογή— |
Πεδίοvoice | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια 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 | Προεπιλογή— |
Πεδίοresponse_format | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια mp3 | Προεπιλογή— |
Συνδυασμοί υλικών εισόδου
text_to_speech · Υποχρεωτικό: input
Παράμετροι και κύκλος ζωής μεθόδου
| Παράμετρος | Σύμβαση |
|---|---|
Παράμετροςcontent_type | Σύμβασηapplication/json |
Παράμετροςrequired | Σύμβασηmodel, input, voice, response_format |
Παράμετροςvoice_ids | Σύμβαση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 |
Παράμετροςresponse_format | Σύμβασηmp3 |
Παράμετροςmax_input_characters | Σύμβασηnull |
Παράμετροςother_options | Σύμβασηfalse |
Παράμετροςinput | Σύμβασηακριβές κείμενο UTF-8· πλήθος χαρακτήρων Unicode χωρίς κανονικοποίηση |
Παράμετροςmaterial_types | Σύμβασηtext |
Κύκλος ζωής: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Επιλέξτε την ακριβή φωνή από αυτό το προφίλ μοντέλου.
Οι χαρακτήρες εισόδου και τα δευτερόλεπτα ήχου αποτελούν διαφορετικές μονάδες μέτρησης.
Τιμολόγηση
Οι τιμολογιακές αναφορές δεν προσθέτουν επιλογές αιτήματος. Οι υποστηριζόμενες παράμετροι αναφέρονται στην επιλεγμένη μέθοδο.
- Γρήγορη λειτουργία
- Δεν έχει οριστεί Όταν επιλέγεται η γρήγορη λειτουργία
- Λειτουργία flex
- Δεν έχει οριστεί Όταν επιλέγεται η λειτουργία flex
- Μέγιστη προσπάθεια συλλογισμού
- Δεν έχει οριστεί Όταν η μέγιστη προσπάθεια συλλογισμού χρησιμοποιεί την προσαρμογή default
Χρεώσεις Ailoot
Τιμές ανά διαμόρφωση
Αντιστοιχίστε κάθε χρέωση στις συνθήκες που εμφανίζονται. Χρησιμοποιήστε μία χρέωση ανά σύνολο εναλλακτικών διαμορφώσεων.
| Διαμόρφωση | Πίνακας χρεώσεων | Χρεώσιμη ποσότητα | Μονάδα τιμολόγησης | Χρέωση |
|---|---|---|---|---|
| ΔιαμόρφωσηΒασικές χρεώσεις token | Πίνακας χρεώσεωνΒασική χρέωση | Χρεώσιμη ποσότητα— | Μονάδα τιμολόγησης— | Χρέωση Είσοδος · Token εισόδου — / 1K token Έξοδος · Token εξόδου — / 1K token Είσοδος · Ανάγνωση από την κρυφή μνήμη — / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη — / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα — / 1K token |
| ΔιαμόρφωσηUltra | Πίνακας χρεώσεων— | Χρεώσιμη ποσότηταΚάθε σημείο κώδικα Unicode μετρά ως ένας χαρακτήρας, συμπεριλαμβανομένων των χαρακτήρων Han. | Μονάδα τιμολόγησηςανά 1K χαρακτήρες εισόδου | Χρέωση Είσοδος · χαρακτήρας εισόδου $0.008 ανά 1K χαρακτήρες εισόδου |
Στοιχεία τιμοκαταλόγου αναφοράς
Οι πίνακες αναφοράς του μοντέλου δεν αλλάζουν την επιλογή μεθόδου, τις εκτιμήσεις τιμής ή τις χρεώσεις. Οι εφαρμοζόμενες χρεώσεις χρησιμοποιούν τις τιμές της επιλεγμένης μεθόδου Ailoot.
hexgrad: Kokoro 82M
Τιμές ανά διαμόρφωση
| Διαμόρφωση | Συνθήκες χρέωσης | Χρέωση |
|---|---|---|
| Διαμόρφωσηhexgrad: Kokoro 82M · Προεπιλεγμένη διαμόρφωση | Συνθήκες χρέωσηςΠροεπιλεγμένη διαμόρφωση | Χρέωση Είσοδος · Χαρακτήρες εισόδου 0,00000124 $ ανά χαρακτήρα εισόδου |
Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. Πώς λειτουργούν η δέσμευση και η εκκαθάριση →
Παραδείγματα αιτημάτων
Ailoot Ultra · Σύνθεση ομιλίας
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
Λήψη και αποθήκευση αποτελεσμάτων
Ailoot Ultra · Σύνθεση ομιλίας
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Άλλες ανακτήσεις περιεχομένου
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
Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα
Διατηρήστε κάθε πλήρη απάντηση, αρχείο και τμήμα περιεχομένου που επιστρέφεται.
Διατηρήστε ολόκληρο το δυαδικό αποτέλεσμα και τις κεφαλίδες. Αν επιστραφεί JSON ή επιστραφούν πολλαπλές έξοδοι, διατηρήστε κάθε στοιχείο δεδομένων και ανακτήστε κάθε πραγματικό υπογεγραμμένο URL πόρου.
Αν χρειάζεται έλεγχος της αρχικής απάντησης
Διατηρήστε το αρχικό operation_id/X-Client-Request-ID για τη συμφωνία των εγγραφών χωρίς νέα υποβολή· δεν υπάρχει ειδική διαδρομή περιοδικού ελέγχου για τον ήχο.
Πεδία απάντησης
| Πεδίο | Τύπος |
|---|---|
Πεδίοbinary audio | Τύποςbytes |
Πεδίοresponse headers | Τύποςheaders |
Σφάλματα και επόμενα βήματα
| Απάντηση | Συνθήκη | Επόμενο βήμα |
|---|---|---|
Απάντηση400 · invalid_request_error | ΣυνθήκηΜη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου | Επόμενο βήμαΔιορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας. |
Απάντησηserver_error | ΣυνθήκηΗ απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχο | Επόμενο βήμαΔιατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας. |
Εναλλακτικά ονόματα
Εναλλακτικά ονόματα μοντέλου
Ailoot Ultra hexgrad/kokoro-82m
Εναλλακτικές διαδρομές μεθόδων
Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.
Σχετικά ID μοντέλων
FAQ · hexgrad: Kokoro 82M
- Ποιες είσοδοι και αποτελέσματα διατίθενται;
POST /v1/audio/speech·hexgrad/kokoro-82m:text→audio- Ποια πεδία χρησιμοποιεί το αίτημα;
POST /v1/audio/speech·hexgrad/kokoro-82m:model,input,voice,response_format