ДАРА
Разделы документации

ДокументацияРуководства

Результаты анализа

Транскрипт с таймкодами, кадры и дубли, сводка, модерация и её категории, субтитры — что возвращает GET /items/{id} и как читать поля.

После приёма объекта ДАРА анализирует его медиа и текст: распознаёт речь, разбирает кадры, пишет сводку и строит векторы. Какие шаги выполняются и какими моделями — задаёт проект (см. Модели). Результаты видны в кабинете, в карточке объекта, и отдаются по API.

Где взять результаты

GET /items/{id} отдаёт объект вместе со сводкой. Транскрипты и кадры тяжёлые, поэтому приходят только по параметру include:

curl "https://core.daratech.ru/api/v1/items/v-1042?include=transcript,frames" \
  -H "Authorization: Bearer $DARA_KEY"
Поле ответа Когда есть Что внутри
status, processing всегда статус объекта и состояние шагов — см. Объекты
summary когда сводка готова, иначе null описания, темы, теги, сущности, язык, возраст, модерация
transcript include=transcript транскрипт каждого медиа со звуком
frames include=frames кадры видео и изображения с результатами анализа

Пока шаг не завершён, его результата нет в ответе. Когда объект получит статус ready или partial, запросите его снова — удобнее всего по сверке GET /items?updated_since=….

Транскрипт

{"transcript": [
  {"media_position": 0, "language": "ru", "timestamps": "model",
   "text": "Добрый день. Сегодня готовим борщ.",
   "segments": [
     {"start": 0.0, "end": 2.4, "text": "Добрый день."},
     {"start": 2.4, "end": 5.1, "text": "Сегодня готовим борщ."}
   ]}
]}
Поле Описание
media_position позиция медиа в media объекта, с нуля
language язык распознанной речи, код ISO 639-1
timestamps model — время реплик вернула модель; estimated — модель времени не даёт, оно рассчитано по паузам в звуке с точностью до пары секунд
text весь текст медиа
segments реплики {start, end, text, speaker}: время в секундах от начала медиа; speaker есть, только если модель различает говорящих

Если в медиа нет слов — например, музыка, — транскрипт пустой, а шаг речи всё равно done. У видео без звуковой дорожки шаг речи получает skipped, транскрипта нет.

В кабинете транскрипт открывается на вкладке «Речь» карточки объекта — по одному медиа, с переключателем медиа по позиции. Длинный транскрипт разбит на страницы по 1000 реплик. Таймкод доказательства из сводки открывает страницу с репликой в этот момент; у объекта из нескольких медиа — в первом медиа, где такая реплика есть.

Кадры

Кадры видео берутся с интервалом из настроек проекта — по умолчанию каждые 10 секунд, начиная с нулевой. Изображение — один кадр с ts: 0.

{"frames": [
  {"media_position": 0, "ts": 0, "description": "Повар режет свёклу на деревянной доске.",
   "tags": ["кухня", "повар", "нож", "свёкла"], "ocr_text": "БОРЩ ЗА 30 МИНУТ",
   "safety": {"adult": 0.01, "violence": 0.0, "weapons": 0.08, "drugs": 0.0, "extremism": 0.0, "hate": 0.0, "self_harm": 0.0, "gore": 0.02},
   "image_url": "https://…"},
  {"media_position": 0, "ts": 10, "duplicate_of_ts": 0, "description": "Повар режет свёклу на деревянной доске.",
   "tags": ["кухня", "повар", "нож", "свёкла"], "ocr_text": "БОРЩ ЗА 30 МИНУТ",
   "safety": {"adult": 0.01, "violence": 0.0, "weapons": 0.08, "drugs": 0.0, "extremism": 0.0, "hate": 0.0, "self_harm": 0.0, "gore": 0.02},
   "image_url": "https://…"}
]}
Поле Описание
media_position позиция медиа, с нуля
ts время кадра в секундах от начала медиа
duplicate_of_ts есть у дубля: время исходного кадра
description описание кадра в 1–2 предложения; null у быстрого локального анализа
tags что в кадре: предметы, сцена, действия — строки по-русски
ocr_text текст в кадре: надписи, слайды, титры; null, если текста нет
safety оценки от 0 до 1 по категориям безопасности; null у категории, которую модель не оценивает
image_url подписанная ссылка на JPEG кадра, действует час; ссылки не храните — запросите объект заново

Дубли. Кадр считается дублем, если он почти не отличается от предыдущего уникального: статичная сцена, слайд, заставка. Дубль не анализируется повторно и повторяет результат исходного кадра, а duplicate_of_ts показывает, откуда результат взят. Смена субтитров или подписи внизу кадра делает кадр уникальным.

Быстрый режим. Локальная модель кадров распознаёт текст, теги и флаги безопасности, но не пишет описаний: description у её кадров — null, а категории extremism, hate и self_harmnull. В кабинете такие кадры помечены «быстрый режим — без описаний».

Точность времени. Кадры длинных тяжёлых видео могут браться по опорным кадрам потока: тогда ts отличается от точного шага на доли секунды или секунды.

Сводка

{"summary": {
  "summary": "Пошаговый рецепт классического борща за 30 минут.",
  "description": "Повар показывает, как подготовить овощи, сварить бульон и подать борщ со сметаной…",
  "topics": ["кулинария", "рецепты супов"],
  "tags": ["борщ", "свёкла", "рецепт", "обед"],
  "entities": [{"name": "Москва", "type": "place"}],
  "language": "ru",
  "age_rating": "0+",
  "moderation": {"level": "none",
    "categories": {"adult": 0.0, "violence": 0.0, "gore": 0.02, "weapons": 0.08, "drugs": 0.0, "extremism": 0.0, "hate": 0.0, "self_harm": 0.0, "gambling": 0.0, "spam": 0.0},
    "evidence": []}
}}
Поле Описание
summary кратко, 2–4 предложения
description подробное описание до 1000 знаков
topics 3–7 тем
tags 5–15 тегов строчными буквами, по-русски
entities {name, type}, typeperson, organization, brand, place, product, event, other
language основной язык объекта
age_rating 0+, 6+, 12+, 16+ или 18+
moderation уровень, оценки категорий и доказательства — ниже

Сводка строится по тексту объекта, транскрипту и уникальным кадрам. Если речь или кадры в проекте не выполняются, сводка обходится текстом и тем, что есть. Если сводка отключена, у объекта нет тегов, возрастной отметки и модерации, а summarynull.

Модерация

moderation.level — общий вывод: none, low, medium или high. categories — оценки от 0 до 1:

Категория Что оценивает
adult откровенные сцены и материалы для взрослых
violence насилие, драки, жестокость
gore кровь, раны и увечья
weapons оружие
drugs наркотики и их употребление
extremism экстремистские символы и призывы
hate вражда и оскорбления по признаку группы
self_harm самоповреждение и суицид
gambling азартные игры и ставки
spam спам и навязчивая реклама

Флаги безопасности кадров входят в модерацию: для каждой категории берётся максимум по кадрам, а такой кадр становится доказательством.

evidence[{source, ts, quote}]: sourcespeech (фрагмент речи), frame (кадр) или text (текст объекта); ts — время в секундах, если доказательство в медиа; quote — цитата или описание. В кабинете таймкод доказательства открывает нужное место транскрипта или кадр.

Оценка — подсказка для вашей модерации, а не решение. Порог выбирайте сами: например, скрывать из детской ленты объекты с age_rating 16+ и выше или отправлять на ручную проверку всё с level medium и high.

Субтитры

Субтитры собираются из транскрипта: реплика не длиннее 7 секунд, до двух строк по 42 знака. Файлы VTT и SRT скачиваются в кабинете, в карточке объекта на вкладке «Речь». Метод API для субтитров появится в следующей версии; до тех пор соберите их из transcript.segments у себя.