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البداية
يولّد 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 · الإعداد الافتراضي | شروط الفوترةالإعداد الافتراضي | الرسوم الإدخال · أحرف الإدخال 0.00000124 US$ لكل حرف مُدخل |
تحجز 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 | الشرطتشير الاستجابة المُعادة إلى أن العملية أو النتيجة تتطلب التحقق | الخطوة التاليةاحتفظ بمعرّف العملية أو المهمة الأصلي المُعاد، وبترويسات الطلب وبالاستجابة؛ وواصل عمليات القراءة المدعومة لتلك العملية الأصلية. لا تُعِد إرسال طلب الإنشاء. |
الأسماء البديلة
الأسماء البديلة للنموذج
Ailoot Ultra hexgrad/kokoro-82m
الأسماء البديلة لمسارات الطرائق
استخدم مسارات الطرائق المعروضة أعلاه.
معرّفات النماذج ذات الصلة IDs
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