Диктанты¶
Генерация асинхронная: статус и результат - методом «Статус генерации» (раздел «ИИ-генерации»).
Создание диктанта¶
Создаёт аудио диктанта по тексту: целиком, затем по словам, по слогам, с паузой для записи после каждого слова, затем ещё раз целиком.
Числа, даты и знаки ИИ сначала записывает словами, как их читают («2024» - «две тысячи двадцать четвёртый»); озвучивает ElevenLabs.
Готовый диктант в несколько раз длиннее текста; пока он готовится, progress показывает шаг: {"current_step": 2, "max_steps": 4}.
Запрос: POST {API_URL}/v1/dictations, авторизация - токен.
| Параметр | Тип | Описание |
|---|---|---|
text* |
string | Текст диктанта, 1-1000 символов |
grade_level* |
integer | Класс, 1-12; темп пока один для всех: пауза 2 секунды после каждого слова, 4,5 секунды между частями |
female_voice |
boolean | Женский голос; по умолчанию false |
{"text": "Осень. Листья падают.", "grade_level": 3, "female_voice": false}
Ответ 202: объект «Генерация», kind: "dictation".
Результат - аудио ogg по download_url и разметка в result:
| Параметр | Тип | Описание |
|---|---|---|
text* |
string | Всё, что звучит, тремя частями через пустую строку: текст, тот же текст по слогам, текст ещё раз; числа в нём уже записаны словами |
alignment* |
array | Элементы [начало, конец, мс]: отрезок text[начало:конец] (конец не входит) звучит с мс миллисекунды аудио |
{
"text": "Осень. Листья падают.\n\nО—сень. Лис—тья па—да—ют.\n\nОсень. Листья падают.",
"alignment": [[0, 5, 300], [7, 13, 1200], [14, 20, 1900], [23, 30, 7400], [31, 38, 11300], [39, 48, 16100], [50, 55, 22900], [57, 63, 23800], [64, 70, 24500]]
}
Отрезок - одно слово, в средней части - слово по слогам; слова из одной буквы («и», «в») тоже размечены. По разметке подсвечивайте слово, которое сейчас звучит, во всех трёх частях.