hexgrad: Kokoro 82M
Kokoro 82M daripada hexgrad menjana pertuturan dengan model kompak berparameter 82 juta dan suara pratetap khusus bahasa. Profil v1.0 yang didokumenkan merangkumi lapan bahasa, 54 suara dan output audio 24 kHz.
Tentang model
Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.
Kokoro 82M ialah model teks ke pertuturan berpemberat terbuka daripada hexgrad dengan lapan puluh dua juta parameter. Kad modelnya menerangkan seni bina kompak yang hanya menggunakan penyahkod, berasaskan StyleTTS 2 dan iSTFTNet. Teks bertulis ditukar kepada maklumat sebutan, kemudian kepada pertuturan dengan suara pilihan. Keluaran v1.0 yang didokumenkan menyediakan lima puluh empat suara dalam lapan bahasa; profil itu berbeza daripada keluaran v0.19 terdahulu yang khusus untuk bahasa Inggeris.
Pilih bahasa dan suara yang sepadan
Katalog suara meliputi bahasa Inggeris Amerika dan British, Jepun, Cina Mandarin, Sepanyol, Perancis, Hindi, Itali dan Portugis Brazil. Kedua-dua loghat bahasa Inggeris ialah varian satu bahasa. Nama suara dan tetapan bahasa perlu dipadankan: af_heart ialah contoh bahasa Inggeris Amerika dalam aliran kerja rasmi, manakala katalog mempunyai kumpulan berasingan untuk bahasa dan loghat lain.
Pilih penutur berdasarkan bahan sebenar yang akan dibacanya. Narasi kursus ringkas boleh menggunakan satu suara pratetap yang konsisten merentas bahagiannya; koleksi berbilang bahasa boleh memilih suara daripada setiap kumpulan bahasa yang diperlukan. Liputan katalog berbeza antara kumpulan. Bahasa Perancis, misalnya, diwakili oleh satu suara yang disenaraikan dan bukannya pilihan lebih besar yang tersedia untuk bahasa Inggeris.
Sediakan sebutan dan petikan
Saluran pemprosesan rujukan Kokoro menukar bentuk bertulis kepada fonem. Contohnya membenarkan bacaan fonetik yang eksplisit untuk sesuatu istilah, supaya nama yang sukar boleh disediakan dan bukannya dibiarkan bergantung pada ejaan yang mengelirukan. Pastikan ayat sekeliling semula jadi dan kekalkan perkataan yang patut didengar oleh pendengar.
Petikan praktikal ialah: “Panduan ini mempunyai tiga bahagian. Pertama, pilih bahan. Seterusnya, bandingkan contoh. Akhir sekali, simpan versi yang anda mahu gunakan.” Tulis frasa lengkap dan kekalkan jeda yang dibayangkan oleh tanda baca. Untuk karya yang panjang, susun input menjadi perenggan yang koheren dan bukannya menganggap seluruh dokumen sebagai satu ujaran tanpa henti.
Panduan suara menyatakan bahawa ramai penutur berprestasi terbaik dengan petikan kira-kira 100–200 token dalam rentang sekitar 500 token. Ia menyatakan kelemahan pada ujaran yang sangat pendek, khususnya di bawah 10–20 token, dan kecenderungan untuk tergesa-gesa pada petikan yang lebih panjang, terutama melebihi 400 token. Ini ialah pemerhatian penyediaan berdasarkan token, bukannya had bilangan perkataan atau tempoh rakaman. Menggabungkan fragmen pendek atau membahagikan petikan panjang boleh memberikan unit pertuturan yang lebih sesuai.
Output audio dan rentak
Aliran kerja rasmi menghasilkan teks yang diproses, fonem dan hasil audio bagi setiap segmen yang dijana. Ia menyimpan segmen tersebut sebagai WAV pada 24,000 Hz dan menyediakan tetapan speed dalam saluran pemprosesan rujukan. Pastikan teks segmen dan susunannya dikaitkan dengan audio supaya narasi yang dicantumkan mengikuti skrip yang dimaksudkan.
Pemeriksaan penyuntingan yang berguna ialah mendengar merentas sempadan antara dua petikan, kemudian memeriksa nama berulang dan rentak senarai. Output audio dan paparan fonem mempunyai tujuan berbeza: satu ialah rakaman yang didengar oleh pendengar, satu lagi membantu memeriksa cara teks bertulis disebut.
Liputan bahasa dan batasan yang berguna
Pengeluar secara jelas menyatakan bahawa sokongan bukan bahasa Inggeris boleh terhad kerana pemprosesan sebutan atau data latihan suara adalah terhad. Oleh itu, kumpulan pratetapnya tidak patut dianggap memberikan jaminan penyampaian yang sama untuk setiap petikan. Pilih penutur yang sesuai dan semak nama serta ungkapan sebenar yang diperlukan oleh tugas.
Hasil yang berguna ialah petikan pertuturan atau narasi yang dicantumkan menggunakan suara pratetap yang didokumenkan, dengan teks disediakan mengikut keperluan sebutan dan panjang petikannya. Profil ini mengikuti bahan Kokoro 82M v1.0 pengeluar; checkpoint lain, pelaksanaan yang dikuantumkan atau suara yang diubah suai secara luaran mempunyai skop teknikalnya sendiri.
Ailoot Ultra · Penjanaan suara POST /v1/audio/speech hexgrad/kokoro-82m
hexgrad/kokoro-82mPengenalan
Kokoro 82M daripada hexgrad menjana pertuturan dengan model kompak berparameter 82 juta dan suara pratetap khusus bahasa. Profil v1.0 yang didokumenkan merangkumi lapan bahasa, 54 suara dan output audio 24 kHz.
- Input yang diterima
- Teks
- Hasil
- Audio
Tersedia di Ailoot · input & kaedah
Ailoot Ultra · Penjanaan suara POST /v1/audio/speech
- Input
text- Output
audio- Format output
- mp3
| Medan | Jenis | Keperluan | Nilai & had | Lalai |
|---|---|---|---|---|
Medanmodel | Jenisstring | KeperluanDiperlukan | Nilai & had hexgrad/kokoro-82m | Lalai— |
Medaninput | Jenisstring | KeperluanDiperlukan | Nilai & had Panjang minimum: 1 Unit: aksara Unicode | Lalai— |
Medanvoice | Jenisstring | KeperluanDiperlukan | Nilai & had 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 | Lalai— |
Medanresponse_format | Jenisstring | KeperluanDiperlukan | Nilai & had mp3 | Lalai— |
Gabungan bahan input
text_to_speech · Diperlukan: input
Parameter kaedah dan kitar hayat
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, input, voice, response_format |
Parametervoice_ids | Kontrakaf_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 | Kontrakmp3 |
Parametermax_input_characters | Kontraknull |
Parameterother_options | Kontrakfalse |
Parameterinput | Kontrakteks UTF-8 tepat; kiraan aksara Unicode tanpa penormalan |
Parametermaterial_types | Kontraktext |
Kitar hayat: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id sebenar yang dikembalikan atau rekod pustaka media
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Pilih suara yang tepat daripada profil model ini.
Aksara input dan saat audio ialah ukuran penggunaan yang berbeza.
Pelan harga
Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.
- Mod pantas
- Tidak dinyatakan Apabila mod pantas dipilih
- Mod flex
- Tidak dinyatakan Apabila mod flex dipilih
- Usaha penaakulan maksimum
- Tidak dinyatakan Apabila usaha penaakulan maksimum menggunakan pelarasan default
Kadar Ailoot
Harga mengikut konfigurasi
Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.
| Konfigurasi | Jadual kadar | Kuantiti yang boleh dibilkan | Unit pengebilan | Caj |
|---|---|---|---|---|
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Kuantiti yang boleh dibilkan— | Unit pengebilan— | Caj Input · Token input — / 1K token Output · Token output — / 1K token Input · Bacaan cache — / 1K token Input · Penulisan cache — / 1K token Input · Penulisan cache, 1 jam — / 1K token |
| KonfigurasiUltra | Jadual kadar— | Kuantiti yang boleh dibilkanSetiap titik kod Unicode dikira sebagai satu aksara, termasuk aksara Han. | Unit pengebilanbagi setiap 1K aksara masukan | Caj Input · aksara input $0.008 bagi setiap 1K aksara masukan |
Butiran tarif rujukan
Jadual rujukan peringkat model tidak mengubah pemilihan kaedah, sebut harga atau caj. Caj aktif menggunakan kadar kaedah Ailoot yang dipilih.
hexgrad: Kokoro 82M
Harga mengikut konfigurasi
| Konfigurasi | Syarat pengebilan | Caj |
|---|---|---|
| Konfigurasihexgrad: Kokoro 82M · Konfigurasi lalai | Syarat pengebilanKonfigurasi lalai | Caj Input · Aksara input USD 0.00000124 bagi setiap aksara masukan |
Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →
Contoh permintaan
Ailoot Ultra · Penjanaan suara
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
Terima dan simpan hasil
Ailoot Ultra · Penjanaan suara
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Pembacaan kandungan lain
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
Simpan semua hasil yang selesai
Simpan setiap respons lengkap, fail dan bahagian kandungan yang dikembalikan.
Simpan hasil binari dan pengepala yang lengkap. Jika JSON atau berbilang output dikembalikan, simpan setiap item data dan dapatkan setiap URL aset bertandatangan yang sebenar.
Jika respons asal perlu disemak
Simpan operation_id/X-Client-Request-ID asal untuk penyelarasan rekod tanpa penghantaran semula; tiada laluan khusus untuk meninjau status audio.
Medan respons
| Medan | Jenis |
|---|---|
Medanbinary audio | Jenisbytes |
Medanresponse headers | Jenisheaders |
Ralat dan langkah seterusnya
| Respons | Syarat | Langkah seterusnya |
|---|---|---|
Respons400 · invalid_request_error | SyaratMedan wajib, perwakilan bahan atau nilai parameter tidak sah | Langkah seterusnyaBetulkan medan yang ditunjukkan sebelum permintaan penciptaan baharu. |
Responsserver_error | SyaratRespons yang dikembalikan menyatakan bahawa operasi atau hasil memerlukan semakan | Langkah seterusnyaSimpan ID operasi/tugas asal yang dikembalikan, pengepala permintaan dan respons; teruskan pembacaan yang disokong bagi operasi asal tersebut. Jangan hantar semula permintaan penciptaan. |
Alias
Alias model
Ailoot Ultra hexgrad/kokoro-82m
Alias laluan kaedah
Gunakan laluan kaedah yang dipaparkan di atas.
ID pemanggil berkaitan
FAQ · hexgrad: Kokoro 82M
- Apakah input dan hasil yang tersedia?
POST /v1/audio/speech·hexgrad/kokoro-82m:text→audio- Apakah medan yang digunakan oleh permintaan?
POST /v1/audio/speech·hexgrad/kokoro-82m:model,input,voice,response_format