hexgrad: Kokoro 82M
Kokoro 82M от hexgrad генерирует речь компактной моделью с 82 миллионами параметров и готовым голосом нужного языка. Документированный профиль v1.0 включает восемь языков, 54 голоса и аудиовывод 24 кГц.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
Kokoro 82M — модель синтеза речи hexgrad с открытыми весами и восемьюдесятью двумя миллионами параметров. Карточка описывает компактную архитектуру decoder-only на основе StyleTTS 2 и iSTFTNet. Письменный текст преобразуется в сведения о произношении, затем в речь выбранным голосом. Документированный выпуск v1.0 предоставляет пятьдесят четыре голоса на восьми языках; этот профиль отличается от прежнего англоязычного v0.19.
Выберите соответствующие язык и голос
Каталог охватывает американский и британский английский, японский, мандаринский китайский, испанский, французский, хинди, итальянский и бразильский португальский. Два английских акцента — варианты одного языка. Названия голосов связаны с языковыми настройками: af_heart — пример американского английского в официальном сценарии; для остальных языков и акцентов есть отдельные группы.
Выбирайте диктора с учётом конкретного материала. Для короткого курса можно использовать один готовый голос во всех разделах; для многоязычной коллекции — выбрать голос из каждой нужной языковой группы. Охват групп различается. Например, французский представлен одним голосом, тогда как для английского выбор шире.
Подготовьте произношение и отрывки
Эталонный конвейер Kokoro преобразует письменные формы в фонемы. Его примеры допускают явное фонетическое чтение термина, позволяя подготовить сложное имя вместо неоднозначного написания. Сохраняйте естественность окружающего предложения и слова, которые слушатель должен услышать.
Пример отрывка: «В руководстве три части. Сначала выберите материал. Затем сравните примеры. Наконец, сохраните версию, которую хотите использовать». Пишите законченные фразы и сохраняйте паузы, задаваемые пунктуацией. Длинный материал организуйте связными абзацами, а не одной непрерывной репликой.
Руководство по голосам указывает, что многие дикторы лучше работают с отрывками примерно по 100–200 токенов в пределах около 500 токенов. Оно отмечает слабости очень коротких реплик, особенно менее 10–20 токенов, и склонность торопиться в длинных, особенно свыше 400 токенов. Это наблюдения для подготовки по токенам, а не лимиты слов или длительности. Объединение коротких фрагментов либо разделение длинного отрывка может дать более подходящую речевую единицу.
Аудиовывод и темп
Официальный сценарий выдаёт обработанный текст, фонемы и аудиорезультат для каждого сегмента. Он сохраняет сегменты в WAV с частотой 24 000 Гц и предоставляет настройку скорости в эталонном конвейере. Сохраняйте связь текста и порядка сегментов с аудио, чтобы собранное повествование следовало сценарию.
Полезная монтажная проверка — прослушать границу двух отрывков, затем повторяющиеся имена и темп списков. Аудиовывод и представление фонем имеют разные назначения: первое — запись для слушателя, второе помогает проверить произношение письменного текста.
Языковой охват и полезные ограничения
Производитель явно отмечает, что поддержка других языков может быть ограниченной из-за обработки произношения или недостатка голосовых обучающих данных. Поэтому готовые группы не гарантируют равную подачу каждого отрывка. Выбирайте подходящего диктора и проверяйте реальные имена и формулировки задачи.
Полезный результат — озвученный отрывок или собранное повествование документированным готовым голосом с текстом, подготовленным под произношение и длину фрагментов. Профиль следует материалам Kokoro 82M v1.0 производителя; другой checkpoint, квантованная реализация или изменённый сторонний голос имеют собственную техническую область.
Ailoot Ultra · Озвучка POST /v1/audio/speech hexgrad/kokoro-82m
hexgrad/kokoro-82mНачало
Kokoro 82M от hexgrad генерирует речь компактной моделью с 82 миллионами параметров и готовым голосом нужного языка. Документированный профиль v1.0 включает восемь языков, 54 голоса и аудиовывод 24 кГц.
- Допустимые входные данные
- Текст
- Результаты
- Аудио
Доступно в 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
- Не указано При выборе режима flex
- Максимальная интенсивность рассуждений
- Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
Ставки Ailoot
Цены по конфигурациям
Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.
| Конфигурация | Шкала ставок | Оплачиваемое количество | Расчётная единица | Плата |
|---|---|---|---|---|
| КонфигурацияБазовые тарифы на токены | Шкала ставокБазовая ставка | Оплачиваемое количество— | Расчётная единица— | Плата Вход · Входные токены — / 1K токенов Выход · Выходные токены — / 1K токенов Вход · Чтение кэша — / 1K токенов Вход · Запись в кэш — / 1K токенов Вход · Запись в кэш, 1 час — / 1K токенов |
| КонфигурацияUltra | Шкала ставок— | Оплачиваемое количествоКаждая кодовая точка Unicode считается одним символом, включая символы Han. | Расчётная единицаза 1K входных символов | Плата Вход · входной символ $0.008 за 1K входных символов |
Сведения о справочном тарифе
Справочные шкалы модели не меняют выбор метода, расчёт стоимости или списания. Действующая плата определяется ставками выбранного метода Ailoot.
hexgrad: Kokoro 82M
Цены по конфигурациям
| Конфигурация | Условия расчёта | Плата |
|---|---|---|
| Конфигурацияhexgrad: Kokoro 82M · Стандартная конфигурация | Условия расчётаКонфигурация по умолчанию | Плата Вход · Входные символы 0,00000124 $ за входной символ |
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 | УсловиеВозвращённый ответ указывает, что операция или результат требуют проверки | Следующий шагСохраните исходный возвращённый ID операции или задачи, заголовки запроса и ответ; продолжайте поддерживаемые операции чтения исходной операции. Не отправляйте запрос создания повторно. |
Псевдонимы
Псевдонимы моделей
Ailoot Ultra hexgrad/kokoro-82m
Псевдонимы путей метода
Используйте пути методов, указанные выше.
Связанные ID для вызова
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