models

hexgrad: Kokoro 82M

Markdown · JSON

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 โทเคน ภายในช่วงราว 500 โทเคน โดยระบุจุดอ่อนกับคำพูดสั้นมาก โดยเฉพาะต่ำกว่า 10–20 โทเคน และแนวโน้มเร่งพูดเมื่อย่อหน้ายาว โดยเฉพาะเกิน 400 โทเคน นี่คือข้อสังเกตในการเตรียมงานตามจำนวนโทเคน ไม่ใช่ขีดจำกัดจำนวนคำหรือระยะเวลาบันทึกเสียง การรวมชิ้นสั้นหรือแยกย่อหน้ายาวอาจทำให้ได้หน่วยคำพูดที่เหมาะสมกว่า

เอาต์พุตเสียงและจังหวะ

เวิร์กโฟลว์ทางการให้ข้อความที่ประมวลผลแล้ว หน่วยเสียง และผลเสียงสำหรับแต่ละเซกเมนต์ที่สร้าง โดยบันทึกเป็น WAV ที่ 24,000 Hz และมีการตั้งค่าความเร็วในไปป์ไลน์อ้างอิง เก็บข้อความกับลำดับเซกเมนต์ให้เชื่อมกับเสียง เพื่อให้การบรรยายที่นำมาประกอบตามบทที่ต้องการ

การตรวจแก้ไขที่มีประโยชน์คือฟังข้ามรอยต่อของสองย่อหน้า แล้วตรวจชื่อที่ใช้ซ้ำกับจังหวะอ่านรายการ เอาต์พุตเสียงกับมุมมองหน่วยเสียงมีจุดประสงค์ต่างกัน อย่างหนึ่งคือเสียงบันทึกที่ผู้ฟังได้ยิน อีกอย่างช่วยตรวจว่าข้อความที่เขียนถูกออกเสียงอย่างไร

การรองรับภาษาและข้อจำกัดที่ควรใช้ประกอบงาน

ผู้ผลิตระบุชัดว่าการรองรับภาษาที่ไม่ใช่อังกฤษอาจมีจำกัด เพราะการประมวลผลการออกเสียงหรือข้อมูลฝึกเสียงมีไม่มาก จึงไม่ควรถือว่าหมวดเสียงสำเร็จรูปทุกหมวดรับประกันการถ่ายทอดเท่ากันในทุกย่อหน้า เลือกผู้พูดที่เหมาะและตรวจชื่อกับถ้อยคำจริงที่งานต้องใช้

ผลงานที่มีประโยชน์คือย่อหน้าเสียงพูดหรือการบรรยายที่ประกอบขึ้นด้วยเสียงสำเร็จรูปตามเอกสาร พร้อมข้อความที่เตรียมให้เหมาะกับการออกเสียงและความยาวย่อหน้า ข้อมูลนี้ตามเอกสาร Kokoro 82M v1.0 ของผู้ผลิต เช็กพอยต์อื่น ชุดทำงานแบบควอนไทซ์ หรือเสียงที่ภายนอกแก้ไข มีขอบเขตทางเทคนิคของตัวเอง

Ailoot Ultra · การสังเคราะห์เสียงพูด POST /v1/audio/speech hexgrad/kokoro-82m

hexgrad/kokoro-82m

hexgrad /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
ระดับการใช้เหตุผลสูงสุด
ไม่ได้ระบุ เมื่อใช้การปรับตามค่าเริ่มต้น (default) สำหรับระดับการใช้เหตุผลสูงสุด

อัตราค่าบริการ Ailoot

ราคาตามการตั้งค่า

เทียบค่าบริการแต่ละรายการกับเงื่อนไขที่แสดง เลือกใช้อัตราเดียวสำหรับแต่ละชุดการตั้งค่าที่เป็นตัวเลือกทดแทนกัน

การตั้งค่าตารางอัตราค่าบริการปริมาณที่ใช้คิดค่าบริการหน่วยคิดค่าบริการค่าบริการ
การตั้งค่าอัตราค่าบริการโทเคนพื้นฐานตารางอัตราค่าบริการอัตราพื้นฐานปริมาณที่ใช้คิดค่าบริการ—หน่วยคิดค่าบริการ—ค่าบริการ
ขาเข้า · โทเค็นอินพุต — / 1K โทเค็น
ขาออก · โทเค็นเอาต์พุต — / 1K โทเค็น
ขาเข้า · การอ่านแคช — / 1K โทเค็น
ขาเข้า · การเขียนแคช — / 1K โทเค็น
ขาเข้า · การเขียนแคช, 1 ชั่วโมง — / 1K โทเค็น
การตั้งค่าUltraตารางอัตราค่าบริการ—ปริมาณที่ใช้คิดค่าบริการนับแต่ละโค้ดพอยต์ Unicode เป็นหนึ่งอักขระ รวมถึงอักษรฮั่นหน่วยคิดค่าบริการต่ออักขระอินพุต 1K ตัวค่าบริการ
ขาเข้า · อักขระขาเข้า $0.008 ต่ออักขระอินพุต 1K ตัว

รายละเอียดอัตราอ้างอิง

ตารางอัตราอ้างอิงระดับโมเดลไม่เปลี่ยนเมธอดที่เลือก ยอดประมาณการ หรือค่าบริการ การคิดค่าบริการจริงใช้อัตราของเมธอด Ailoot ที่เลือก

hexgrad: Kokoro 82M

ราคาตามการตั้งค่า

การตั้งค่าเงื่อนไขคิดค่าบริการค่าบริการ
การตั้งค่าhexgrad: Kokoro 82M · การตั้งค่าเริ่มต้นเงื่อนไขคิดค่าบริการการตั้งค่าเริ่มต้นค่าบริการ
ขาเข้า · อักขระอินพุต US$0.00000124 ต่ออักขระอินพุต

Ailoot กันยอดเงินประมาณการไว้ก่อนส่งคำขอ หลังได้ผลลัพธ์ จะคิดค่าบริการสุดท้ายตามการใช้งานที่วัดได้ การคิดค่าบริการแบบสตรีมใช้บันทึกการใช้งานสุดท้าย วิธีกันยอดเงินและคิดค่าบริการสุดท้าย →

ตัวอย่างคำขอ

Ailoot Ultra · การสังเคราะห์เสียงพูด

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

รับและบันทึกผลลัพธ์

Ailoot Ultra · การสังเคราะห์เสียงพูด

mp3

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /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 ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล

hexgrad/kokoro-82m

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

รายละเอียดเพิ่มเติม

เชื่อม Ailoot กับ Claude Code, OpenCode, Hermes หรือแอปของคุณ

บริษัทและพอร์ตโฟลิโอโครงการของบริษัท

บริษัทและพอร์ตโฟลิโอโครงการของบริษัท: ลูกค้าหลายล้านราย; ยอดขายระดับหลายพันล้านต่อเดือน.

ซื้อโทเคนพร้อมส่วนลด

ส่วนลดสมาชิกสำหรับงานประจำ โค้ดโปรโมชั่นลดซื้อโทเคนสูงสุด 50%

สมาชิก
เลือกแพ็กเกจมีส่วนลดสำหรับคำขอประจำ
โค้ดลดสูงสุด 50%
ใส่โค้ดขณะซื้อ ราคาคำนวณใหม่ตามโปรโมชั่นที่ใช้
รายจ่ายในประวัติ
เก็บโมเดล โทเคน และยอดสำหรับทุกคำขอ

เลือกสมาชิก · ดูราคาโมเดล

เชื่อม API กับผลิตภัณฑ์ ที่คุณขาย

SaaS แอป และบอต ตามข้อเสนอและสัญญาอนุญาต Ailoot หากขายต่อให้ขอใบอนุญาตรีเซลเลอร์

แอปเชิงพาณิชย์
ใส่การสร้างข้อความ ภาพ วิดีโอ และเสียงในฟีเจอร์เสียเงินของบริการคุณ
ใบอนุญาตรีเซลเลอร์
ส่งคำอธิบายโครงการและรูปแบบการเข้าถึง ขอเงื่อนไขใช้และขายต่อเป็นลายลักษณ์อักษร
เอกสารบนเว็บไซต์
อ่านข้อเสนอ สัญญาอนุญาต และนโยบายประมวลผลข้อมูลก่อนเชื่อมได้

ขอใบอนุญาตขายต่อ · ข้อเสนอและสัญญาอนุญาต