QuillAIQuillAIDocs
Войти
Основные концепцииТаймкоды

Таймкоды

Каждая транскрипция привязана ко времени. Вот как QuillAI отдаёт эти привязки, чтобы вы могли перематывать, подсвечивать, создавать субтитры и синхронизироваться с исходным аудио или видео.

Сегменты

Основная единица — это result.segments, массив коротких фразовых кусочков (обычно 2–15 секунд каждый). У каждого сегмента есть start, end и text. Если включено распознавание спикеров, добавляется поле speaker.

segments.jsonjson
{
  "segments": [
    { "start": 0.0,   "end": 3.84,  "text": "Welcome back to the channel." },
    { "start": 3.84,  "end": 7.12,  "text": "Today we're talking about timestamps." },
    { "start": 7.12,  "end": 12.48, "text": "They're the backbone of every transcript.", "speaker": "Speaker 1" },
    { "start": 12.48, "end": 18.02, "text": "Let's dig into how they work.", "speaker": "Speaker 1" }
  ]
}

Единицы и точность

Секунды, числа с плавающей точкой, отсчёт с нуля. Все таймкоды — в секундах относительно начала аудио (0.0 = самый первый кадр). Значения — float, не миллисекунды и не HH:MM:SS, точность около 0,1 секунды.

Абзацы

Если передать structure: true, QuillAI также группирует сегменты в читаемые абзацы в result.structured.paragraphs. Каждый абзац охватывает несколько сегментов и имеет свои границы start / end — удобно для глав, статьи или привязки к саммари.

paragraph.jsonjson
{
  "structured": {
    "paragraphs": [
      {
        "start": 0.0,
        "end": 42.7,
        "text": "Welcome back to the channel. Today we're talking about timestamps..."
      }
    ]
  }
}

Субтитры

result.subtitles.vtt и result.subtitles.srt — это presigned-URL на готовые файлы субтитров. Подставляйте их напрямую в <track>, плеер или редактор — ничего декодировать или переформатировать не нужно.

subtitles.vtttext
WEBVTT

00:00:00.000 --> 00:00:03.840
Welcome back to the channel.

00:00:03.840 --> 00:00:07.120
Today we're talking about timestamps.

00:00:07.120 --> 00:00:12.480
They're the backbone of every transcript.

Переход к моменту

Чтобы прыгнуть в конкретное место, просто используйте start нужного сегмента. Поскольку значение уже в секундах, оно подходит для HTML5-медиа и большинства встраиваемых плееров.

Совет. Присвойте segments[i].start свойству currentTime у audio или video, либо добавьте &t=42s к YouTube-ссылке, чтобы открыть видео ровно на этом моменте.

Таймкоды по словам

Пока недоступно. QuillAI сейчас отдаёт тайминги только на уровне сегментов. Индивидуальных смещений для слов в ответе нет.

Если нужна приблизительная оценка, можно разделить текст сегмента пропорционально по количеству символов в диапазоне [start, end]. Это не идеально точно, но вполне годится для караоке-подсветки или пословного скролла.