NexaraNexara

Временные метки

Узнайте, как получить временные метки слов при транскрибации.

По умолчанию API возвращает временные метки на уровне сегментов — крупных фрагментов речи. Но можно запросить метки на уровне каждого слова: тогда для любого слова будет известно точное время начала и конца. Это удобно для субтитров, поиска по аудио и синхронизации текста со звуком.

Как получить временные метки слов

Передайте два параметра:

  • timestamp_granularities[]=word — уровень детализации меток;
  • response_format=verbose_json — подробный формат ответа, в котором содержится массив слов.
curl https://api.nexara.ru/v1/audio/transcriptions \
  -H "Authorization: Bearer nx-XXXXXXXXXXXXXXXXXXXXXXXX" \
  -F "file=@audio.mp3" \
  -F "model=whisper-1" \
  -F "response_format=verbose_json" \
  -F "timestamp_granularities[]=word"

Временные метки слов возвращаются только в формате verbose_json. В форматах json и text массив слов не передаётся.

Структура ответа

В ответе появляется массив words, где для каждого слова указаны время начала (start), время конца (end) в секундах и уверенность модели (prob):

{
  "task": "transcribe",
  "text": "Привет мир",
  "words": [
    { "word": "Привет", "start": 0.0, "end": 0.42, "prob": 0.99 },
    { "word": "мир", "start": 0.42, "end": 0.88, "prob": 0.98 }
  ],
  ...
}

Уровни детализации

segment (по умолчанию)

Метки на уровне крупных фрагментов речи. Подходит для большинства сценариев и работает без дополнительных параметров.

word

Временные метки для каждого отдельного слова. Полезно для генерации субтитров.

Временные метки и диаризация

При диаризации (task=diarize) временные метки слов дополнительно содержат идентификатор или роль говорящего в поле speaker.

Пример вывода:

{
  "task": "diarize",
  "words": [
    {
      "word": "Здравствуйте",
      "start": 0.0,
      "end": 0.8,
      "prob": 0.99,
      "speaker": "speaker_0"
    },
    {
      "word": "Слушаю",
      "start": 1.2,
      "end": 1.7,
      "prob": 0.97,
      "speaker": "speaker_1"
    }
  ],
  ...
}

Если включена разметка ролей, метки speaker_N в словах заменяются на назначенные роли (например, Клиент, Агент).

On this page