hexgrad: Kokoro 82M
Kokoro 82M dari hexgrad menghasilkan ucapan dengan model ringkas berparameter 82 juta dan suara prasetel khusus bahasa. Profil v1.0 yang didokumentasikan mencakup delapan bahasa, 54 suara, dan keluaran audio 24 kHz.
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
Kokoro 82M adalah model teks ke suara berbobot terbuka dari hexgrad dengan delapan puluh dua juta parameter. Kartu modelnya menjelaskan arsitektur ringkas yang hanya menggunakan dekoder, berbasis StyleTTS 2 dan iSTFTNet. Teks tertulis diubah menjadi informasi pelafalan, lalu menjadi ucapan dengan suara pilihan. Rilis v1.0 yang didokumentasikan menyediakan lima puluh empat suara dalam delapan bahasa; profil ini berbeda dari rilis v0.19 sebelumnya yang hanya mendukung bahasa Inggris.
Pilih bahasa dan suara yang sesuai
Katalog suara mencakup bahasa Inggris Amerika dan Britania, Jepang, Mandarin, Spanyol, Prancis, Hindi, Italia, dan Portugis Brasil. Kedua aksen Inggris merupakan varian dari satu bahasa. Nama suara dan pengaturan bahasa harus digunakan berpasangan: af_heart adalah contoh bahasa Inggris Amerika dalam alur kerja resmi, sedangkan katalog memiliki kelompok terpisah untuk bahasa dan aksen lainnya.
Pilih penutur dengan menggunakan materi yang benar-benar akan dibacakannya. Narasi kursus singkat dapat memakai satu suara prasetel yang konsisten di semua bagiannya; koleksi multibahasa dapat memilih suara dari setiap kelompok bahasa yang dibutuhkan. Cakupan katalog berbeda antarkelompok. Bahasa Prancis, misalnya, diwakili oleh satu suara yang tercantum, dibandingkan pilihan yang lebih banyak untuk bahasa Inggris.
Siapkan pelafalan dan petikan
Pipeline referensi Kokoro mengubah bentuk tertulis menjadi fonem. Contohnya memungkinkan pembacaan fonetis yang eksplisit untuk suatu istilah, sehingga nama yang sulit dapat disiapkan dan tidak diserahkan pada ejaan yang ambigu. Pertahankan kealamian kalimat di sekitarnya dan susunan kata yang seharusnya didengar pendengar.
Contoh petikan praktis: “Panduan ini memiliki tiga bagian. Pertama, pilih materinya. Berikutnya, bandingkan contoh-contohnya. Terakhir, simpan versi yang ingin Anda gunakan.” Tulis frasa lengkap dan pertahankan jeda yang tersirat dalam tanda baca. Untuk karya panjang, susun masukan menjadi paragraf yang koheren, alih-alih memperlakukan seluruh dokumen sebagai satu ucapan tanpa henti.
Panduan suara menyatakan bahwa banyak penutur bekerja paling baik dengan petikan sekitar 100–200 token dalam rentang sekitar 500 token. Panduan ini mencatat kelemahan pada ucapan yang sangat pendek, khususnya di bawah 10–20 token, dan kecenderungan membacakan petikan panjang terlalu cepat, terutama di atas 400 token. Ini merupakan pengamatan persiapan berbasis token, bukan batas jumlah kata atau durasi rekaman. Menggabungkan fragmen pendek atau membagi petikan panjang dapat menghasilkan satuan ucapan yang lebih sesuai.
Keluaran audio dan tempo
Alur kerja resmi menghasilkan teks yang telah diproses, fonem, dan hasil audio untuk setiap segmen yang dihasilkan. Segmen disimpan sebagai WAV pada 24.000 Hz, dan pipeline referensi menyediakan pengaturan kecepatan. Pertahankan kaitan teks dan urutan segmen dengan audio agar narasi yang dirangkai mengikuti naskah yang dimaksud.
Pemeriksaan penyuntingan yang berguna adalah mendengarkan peralihan antara dua petikan, lalu memeriksa nama yang berulang dan tempo daftar. Keluaran audio dan tampilan fonem memiliki tujuan berbeda: yang satu adalah rekaman yang didengar pendengar, sedangkan yang lain membantu memeriksa bagaimana teks tertulis dilafalkan.
Cakupan bahasa dan batas yang berguna
Pembuatnya secara eksplisit mencatat bahwa dukungan selain bahasa Inggris dapat terbatas karena pemrosesan pelafalan atau data pelatihan suara terbatas. Karena itu, kelompok prasetelnya tidak boleh dianggap memberikan jaminan penyampaian yang sama untuk setiap petikan. Pilih penutur yang sesuai dan tinjau nama serta ungkapan nyata yang dibutuhkan tugas.
Hasil yang berguna adalah petikan lisan atau narasi yang dirangkai menggunakan suara prasetel yang didokumentasikan, dengan teks yang disiapkan sesuai kebutuhan pelafalan dan panjang petikannya. Profil ini mengikuti materi Kokoro 82M v1.0 dari pembuatnya; checkpoint lain, implementasi terkuantisasi, atau suara yang dimodifikasi pihak luar memiliki cakupan teknis tersendiri.
Ailoot Ultra · Sintesis ucapan POST /v1/audio/speech hexgrad/kokoro-82m
hexgrad/kokoro-82mMulai
Kokoro 82M dari hexgrad menghasilkan ucapan dengan model ringkas berparameter 82 juta dan suara prasetel khusus bahasa. Profil v1.0 yang didokumentasikan mencakup delapan bahasa, 54 suara, dan keluaran audio 24 kHz.
- Masukan yang diterima
- Teks
- Hasil
- Audio
Tersedia di Ailoot · masukan & metode
Ailoot Ultra · Sintesis ucapan POST /v1/audio/speech
- Masukan
text- Keluaran
audio- Format keluaran
- mp3
| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
|---|---|---|---|---|
Kolommodel | Jenisstring | PersyaratanWajib | Nilai & batasan hexgrad/kokoro-82m | Bawaan— |
Kolominput | Jenisstring | PersyaratanWajib | Nilai & batasan Panjang minimum: 1 Satuan: karakter Unicode | Bawaan— |
Kolomvoice | Jenisstring | PersyaratanWajib | Nilai & batasan 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 | Bawaan— |
Kolomresponse_format | Jenisstring | PersyaratanWajib | Nilai & batasan mp3 | Bawaan— |
Kombinasi bahan masukan
text_to_speech · Wajib: input
Parameter metode dan siklus hidup
| 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 persis; jumlah karakter Unicode tanpa normalisasi |
Parametermaterial_types | Kontraktext |
Siklus hidup: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id aktual yang dikembalikan atau catatan pustaka media
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Pilih suara yang tepat dari profil model ini.
Karakter masukan dan detik audio merupakan satuan pengukuran yang berbeda.
Paket
Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.
- Mode Fast
- Tidak ditentukan Saat mode fast dipilih
- Mode Flex
- Tidak ditentukan Saat mode flex dipilih
- Upaya penalaran maksimum
- Tidak ditentukan Saat upaya penalaran maksimum menggunakan penyesuaian default
Tarif Ailoot
Harga menurut konfigurasi
Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.
| Konfigurasi | Jadwal tarif | Jumlah yang ditagihkan | Satuan penagihan | Biaya |
|---|---|---|---|---|
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Jumlah yang ditagihkan— | Satuan penagihan— | Biaya Masukan · Token masukan — / 1K token Keluaran · Token keluaran — / 1K token Masukan · Pembacaan cache — / 1K token Masukan · Penulisan cache — / 1K token Masukan · Penulisan cache, 1 jam — / 1K token |
| KonfigurasiUltra | Jadwal tarif— | Jumlah yang ditagihkanSetiap titik kode Unicode dihitung sebagai satu karakter, termasuk karakter Han. | Satuan penagihanper 1K karakter masukan | Biaya Masukan · karakter masukan $0.008 per 1K karakter masukan |
Detail tarif referensi
Jadwal referensi tingkat model tidak mengubah pemilihan metode, estimasi harga, atau biaya. Biaya aktif menggunakan tarif metode Ailoot yang dipilih.
hexgrad: Kokoro 82M
Harga menurut konfigurasi
| Konfigurasi | Kondisi penagihan | Biaya |
|---|---|---|
| Konfigurasihexgrad: Kokoro 82M · Konfigurasi bawaan | Kondisi penagihanKonfigurasi bawaan | Biaya Masukan · Karakter masukan US$0,00000124 per karakter masukan |
Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. Cara kerja cadangan dan penyelesaian tagihan →
Contoh permintaan
Ailoot Ultra · Sintesis ucapan
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 · Sintesis ucapan
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Pembacaan konten 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, berkas, dan bagian konten yang dikembalikan.
Simpan hasil biner dan header secara lengkap. Jika JSON atau beberapa keluaran dikembalikan, simpan setiap item data dan ambil data dari setiap URL aset bertanda tangan yang benar-benar dikembalikan.
Jika respons asli perlu diperiksa
Simpan operation_id/X-Client-Request-ID asli untuk rekonsiliasi tanpa pengiriman ulang; tidak ada rute polling khusus audio.
Kolom respons
| Kolom | Jenis |
|---|---|
Kolombinary audio | Jenisbytes |
Kolomresponse headers | Jenisheaders |
Kesalahan dan langkah berikutnya
| Respons | Kondisi | Langkah berikutnya |
|---|---|---|
Respons400 · invalid_request_error | KondisiBidang wajib, representasi materi, atau nilai parameter tidak valid | Langkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru. |
Responsserver_error | KondisiRespons yang dikembalikan menyatakan bahwa operasi atau hasil perlu diperiksa | Langkah berikutnyaSimpan ID operasi/tugas asli yang dikembalikan, header permintaan, dan respons; lanjutkan pembacaan yang didukung untuk operasi asli tersebut. Jangan kirim ulang permintaan pembuatan. |
Alias
Alias model
Ailoot Ultra hexgrad/kokoro-82m
Alias jalur metode
Gunakan jalur metode yang ditampilkan di atas.
ID pemanggil terkait
FAQ · hexgrad: Kokoro 82M
- Input dan hasil apa yang tersedia?
POST /v1/audio/speech·hexgrad/kokoro-82m:text→audio- Kolom apa yang digunakan permintaan?
POST /v1/audio/speech·hexgrad/kokoro-82m:model,input,voice,response_format