hexgrad: Kokoro 82M
Kokoro 82M của hexgrad tạo lời nói bằng mô hình gọn có 82 triệu tham số và giọng đặt sẵn theo từng ngôn ngữ. Hồ sơ v1.0 được công bố gồm tám ngôn ngữ, 54 giọng và đầu ra âm thanh 24 kHz.
Về mô hình
Mô tả này trình bày khả năng của mô hình. Đầu vào, đầu ra và tùy chọn có trên Ailoot được liệt kê bên dưới cho phương thức đã chọn.
Kokoro 82M là mô hình chuyển văn bản thành giọng nói có trọng số mở của hexgrad với tám mươi hai triệu tham số. Thẻ mô hình mô tả kiến trúc gọn chỉ có bộ giải mã, dựa trên StyleTTS 2 và iSTFTNet. Văn bản viết sẵn được chuyển thành thông tin phát âm rồi thành lời nói bằng giọng đã chọn. Bản phát hành v1.0 được công bố cung cấp năm mươi bốn giọng ở tám ngôn ngữ; hồ sơ đó tách biệt với bản v0.19 trước đây chỉ dành cho tiếng Anh.
Chọn ngôn ngữ và giọng tương ứng
Danh mục giọng bao gồm tiếng Anh giọng Mỹ và Anh, tiếng Nhật, Trung phổ thông, Tây Ban Nha, Pháp, Hindi, Ý và Bồ Đào Nha Brazil. Hai chất giọng tiếng Anh là biến thể của một ngôn ngữ. Tên giọng và thiết lập ngôn ngữ cần đi cùng nhau: af_heart là ví dụ tiếng Anh giọng Mỹ trong quy trình chính thức, còn danh mục có các nhóm riêng cho ngôn ngữ và chất giọng vùng miền khác.
Chọn người nói dựa trên tài liệu thực tế sẽ đọc. Lời dẫn khóa học ngắn có thể dùng một giọng đặt sẵn nhất quán qua các phần; bộ sưu tập đa ngôn ngữ có thể chọn giọng từ từng nhóm ngôn ngữ cần thiết. Phạm vi bao phủ của danh mục khác nhau giữa các nhóm. Chẳng hạn, tiếng Pháp được đại diện bởi một giọng được liệt kê thay vì lựa chọn nhiều hơn có sẵn cho tiếng Anh.
Chuẩn bị phát âm và các đoạn lời nói
Quy trình tham chiếu Kokoro chuyển dạng viết thành âm vị. Các ví dụ cho phép chỉ định rõ cách đọc theo ngữ âm cho một thuật ngữ, để tên khó có thể được chuẩn bị thay vì để cách viết mơ hồ quyết định. Giữ câu xung quanh tự nhiên và giữ câu chữ người nghe cần nghe.
Một đoạn thực tế là: “Hướng dẫn có ba phần. Trước tiên, chọn tài liệu. Tiếp theo, so sánh các ví dụ. Cuối cùng, lưu phiên bản bạn muốn dùng.” Viết các cụm lời hoàn chỉnh và giữ khoảng nghỉ hàm ý qua dấu câu. Với tác phẩm dài, tổ chức đầu vào thành các đoạn văn mạch lạc thay vì xem toàn bộ tài liệu là một câu nói liên tục không nghỉ.
Hướng dẫn giọng nói cho biết nhiều người nói thể hiện tốt nhất với đoạn khoảng 100–200 token trong phạm vi xấp xỉ 500 token. Hướng dẫn lưu ý điểm yếu ở câu nói rất ngắn, đặc biệt dưới 10–20 token, và xu hướng đọc vội các đoạn dài hơn, nhất là vượt 400 token. Đây là quan sát để chuẩn bị theo token, không phải giới hạn số từ hoặc thời lượng ghi âm. Ghép các mẩu ngắn hoặc chia đoạn dài có thể cung cấp đơn vị lời nói phù hợp hơn.
Đầu ra âm thanh và nhịp đọc
Quy trình chính thức trả về văn bản đã xử lý, âm vị và kết quả âm thanh cho từng đoạn được tạo. Quy trình lưu các đoạn thành WAV ở 24.000 Hz và cung cấp thiết lập speed trong quy trình tham chiếu. Giữ văn bản đoạn và thứ tự gắn với âm thanh để lời dẫn ghép lại đi theo kịch bản dự kiến.
Một kiểm tra chỉnh sửa hữu ích là nghe qua ranh giới giữa hai đoạn, rồi kiểm tra tên lặp lại và nhịp đọc danh sách. Đầu ra âm thanh và phần hiển thị âm vị phục vụ mục đích khác nhau: một là bản ghi người nghe nghe thấy, phần còn lại giúp kiểm tra cách văn bản viết đang được phát âm.
Phạm vi ngôn ngữ và các giới hạn hữu ích
Nhà sản xuất nêu rõ hỗ trợ ngoài tiếng Anh có thể hạn chế vì việc xử lý phát âm hoặc dữ liệu huấn luyện giọng có giới hạn. Vì vậy, không nên coi các nhóm giọng đặt sẵn là bảo đảm ngang nhau về cách thể hiện cho mọi đoạn. Chọn người nói phù hợp và kiểm tra tên cùng cách diễn đạt thực tế mà nhiệm vụ yêu cầu.
Sản phẩm hữu ích là đoạn lời nói hoặc lời dẫn được ghép bằng một giọng đặt sẵn đã được công bố, với văn bản được chuẩn bị theo nhu cầu phát âm và độ dài đoạn. Hồ sơ này đi theo tài liệu Kokoro 82M v1.0 của nhà sản xuất; checkpoint khác, bản triển khai lượng tử hóa hoặc giọng được bên ngoài sửa đổi có phạm vi kỹ thuật riêng.
Ailoot Ultra · Tổng hợp giọng nói POST /v1/audio/speech hexgrad/kokoro-82m
hexgrad/kokoro-82mBắt đầu
Kokoro 82M của hexgrad tạo lời nói bằng mô hình gọn có 82 triệu tham số và giọng đặt sẵn theo từng ngôn ngữ. Hồ sơ v1.0 được công bố gồm tám ngôn ngữ, 54 giọng và đầu ra âm thanh 24 kHz.
- Đầu vào được chấp nhận
- Văn bản
- Kết quả
- Âm thanh
Có trên Ailoot · đầu vào & phương thức
Ailoot Ultra · Tổng hợp giọng nói POST /v1/audio/speech
- Đầu vào
text- Đầu ra
audio- Định dạng đầu ra
- mp3
| Trường | Loại | Yêu cầu | Giá trị & giới hạn | Mặc định |
|---|---|---|---|---|
Trườngmodel | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn hexgrad/kokoro-82m | Mặc định— |
Trườnginput | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn Độ dài tối thiểu: 1 Đơn vị: ký tự Unicode | Mặc định— |
Trườngvoice | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn 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 | Mặc định— |
Trườngresponse_format | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn mp3 | Mặc định— |
Tổ hợp tư liệu đầu vào
text_to_speech · Bắt buộc: input
Tham số phương thức và vòng đời
| Tham số | Hợp đồng |
|---|---|
Tham sốcontent_type | Hợp đồngapplication/json |
Tham sốrequired | Hợp đồngmodel, input, voice, response_format |
Tham sốvoice_ids | Hợp đồngaf_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 |
Tham sốresponse_format | Hợp đồngmp3 |
Tham sốmax_input_characters | Hợp đồngnull |
Tham sốother_options | Hợp đồngfalse |
Tham sốinput | Hợp đồngvăn bản UTF-8 nguyên dạng; đếm ký tự Unicode mà không chuẩn hóa |
Tham sốmaterial_types | Hợp đồngtext |
Vòng đời: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · Giá trị task_id thực tế đã trả về hoặc bản ghi trong thư viện nội dung đa phương tiện
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Chọn giọng nói chính xác từ hồ sơ mô hình này.
Ký tự đầu vào và giây âm thanh là các đơn vị đo tính phí khác nhau.
Bảng giá
Thông tin biểu giá không bổ sung tùy chọn yêu cầu. Các tham số được hỗ trợ nằm trong phương thức đã chọn.
- Chế độ nhanh
- Chưa chỉ định Khi chọn chế độ nhanh
- Chế độ Flex
- Chưa chỉ định Khi chọn chế độ flex
- Mức độ suy luận tối đa
- Chưa chỉ định Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa
Mức phí Ailoot
Giá theo cấu hình
Đối chiếu từng khoản phí với điều kiện hiển thị. Dùng một mức phí cho mỗi nhóm cấu hình thay thế.
| Cấu hình | Biểu mức phí | Lượng tính phí | Đơn vị tính phí | Phí |
|---|---|---|---|---|
| Cấu hìnhGiá cơ sở cho token | Biểu mức phíMức phí cơ bản | Lượng tính phí— | Đơn vị tính phí— | Phí Đầu vào · Token đầu vào — / 1K token Đầu ra · Token đầu ra — / 1K token Đầu vào · Đọc bộ nhớ đệm — / 1K token Đầu vào · Ghi bộ nhớ đệm — / 1K token Đầu vào · Ghi bộ nhớ đệm, 1 giờ — / 1K token |
| Cấu hìnhUltra | Biểu mức phí— | Lượng tính phíMỗi điểm mã Unicode được tính là một ký tự, bao gồm ký tự Hán (Han). | Đơn vị tính phímỗi 1K ký tự đầu vào | Phí Đầu vào · Ký tự đầu vào $0.008 mỗi 1K ký tự đầu vào |
Chi tiết giá cước tham chiếu
Biểu tham chiếu cấp mô hình không thay đổi việc chọn phương thức, báo giá hoặc khoản phí. Khoản phí đang áp dụng dùng mức phí phương thức Ailoot đã chọn.
hexgrad: Kokoro 82M
Giá theo cấu hình
| Cấu hình | Điều kiện tính phí | Phí |
|---|---|---|
| Cấu hìnhhexgrad: Kokoro 82M · Cấu hình mặc định | Điều kiện tính phíCấu hình mặc định | Phí Đầu vào · Ký tự đầu vào 0,00000124 US$ mỗi ký tự đầu vào |
Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. Cách hoạt động của cơ chế tạm giữ và quyết toán →
Ví dụ yêu cầu
Ailoot Ultra · Tổng hợp giọng nói
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
Nhận và lưu kết quả
Ailoot Ultra · Tổng hợp giọng nói
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Lượt đọc nội dung khác
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
Lưu tất cả kết quả đã hoàn tất
Lưu mọi phản hồi hoàn chỉnh, tệp và phần nội dung được trả về.
Giữ lại toàn bộ kết quả nhị phân và các header. Nếu phản hồi ở dạng JSON hoặc chứa nhiều đầu ra, giữ lại mọi phần tử dữ liệu và tải từng tài nguyên từ URL có chữ ký thực tế.
Nếu cần kiểm tra phản hồi gốc
Giữ lại operation_id/X-Client-Request-ID gốc để đối soát mà không gửi lại yêu cầu; không có tuyến truy vấn trạng thái riêng cho âm thanh.
Trường phản hồi
| Trường | Loại |
|---|---|
Trườngbinary audio | Loạibytes |
Trườngresponse headers | Loạiheaders |
Lỗi và bước tiếp theo
| Phản hồi | Điều kiện | Bước tiếp theo |
|---|---|---|
Phản hồi400 · invalid_request_error | Điều kiệnTrường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ | Bước tiếp theoSửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới. |
Phản hồiserver_error | Điều kiệnPhản hồi trả về cho biết thao tác hoặc kết quả cần được kiểm tra | Bước tiếp theoGiữ lại ID thao tác/tác vụ gốc đã trả về, các header của yêu cầu và toàn bộ phản hồi; tiếp tục truy xuất thao tác gốc đó bằng các phương thức được hỗ trợ. Không gửi lại yêu cầu tạo. |
Bí danh
Bí danh mô hình
Ailoot Ultra hexgrad/kokoro-82m
Bí danh đường dẫn phương thức
Dùng các đường dẫn phương thức hiển thị ở trên.
ID gọi liên quan
FAQ · hexgrad: Kokoro 82M
- Có những đầu vào và kết quả nào?
POST /v1/audio/speech·hexgrad/kokoro-82m:text→audio- Yêu cầu sử dụng những trường nào?
POST /v1/audio/speech·hexgrad/kokoro-82m:model,input,voice,response_format