Транскрипция и анализ встреч
Статус: работает с Phase 73 (2026-06-06). Загружай аудио/видеозаписи в композер чата — Arc OS транскрибирует, анализирует визуальный ряд, делает саммари и индексирует в поиске проекта.
Обзор
Пайплайн транскрипции встреч превращает сырую запись в структурированное, доступное для поиска знание, не покидая Arc OS:
Upload (Transcripts page or composer paperclip)
→ Groq whisper-large-v3 (~100× realtime, $0.111/audio-hour)
→ Claude vision on key frames (video only — slide content, screen shares)
→ Claude Sonnet summary (tldr, action items, decisions, topics)
→ Cohere RAG embed (transcript searchable via arc kb search)
→ done (source file deleted from disk)
Оценка стоимости (BYOK-ключ Anthropic): ~$0.20–0.45 за 30-минутную встречу (vision + саммари) + ~$0.056 за транскрипцию Groq. Функция требует платного тарифа (Starter / Starter Cloud / Beta).
Загрузка записи
- Открой воркспейс любого проекта.
- Нажми иконку скрепки в композере чата.
- Выбери аудио- или видеофайл. Поддерживаемые форматы:
- Видео: mp4, mov, webm, mkv, m4v
- Аудио: mp3, wav, m4a, aac, ogg, opus, flac
- Максимальный размер: 1 ГБ
- В композере появится чип прогресса с текущим шагом и процентами.
- Когда чип достигает 100% (Summary ready), кнопка Send разблокируется — можно сразу отправить сообщение со ссылкой на транскрипт.
- После короткого дополнительного шага (RAG-индексация) статус становится done, и исходный файл удаляется.
Во время обработки: можно печатать другие сообщения в композере. Кнопку Send блокируют только медиа-вложения, которые ещё обрабатываются.
Что инжектируется в чат
Когда ты отправляешь сообщение с готовым транскрипт-вложением, текст транскрипта автоматически добавляется к сообщению:
Your message text here
--- TRANSCRIPT: meeting-2026-06-06.mp4 (video) ---
[whisper transcript text...]
--- END TRANSCRIPT ---
AI-воркер видит полный транскрипт инлайн, как любой другой документ. Можно задавать вопросы по нему, просить саммари или поручить воркеру извлечь action items.
Шаги пайплайна в деталях
Шаг 1 — Извлечение аудио (ffmpeg)
Для видеофайлов Arc OS извлекает аудиодорожку в моно-WAV 16 кГц. Для аудиофайлов это лишь конвертация формата.
Шаг 2 — Транскрипция (Groq whisper-large-v3)
WAV отправляется в Groq API (модель whisper-large-v3). Скорость: ~100× realtime (клип 11 с → меньше 1 с). Платформенный GROQ_API_KEY настраивается админом в Platform Settings → Transcription. Мультиязычность — украинский, английский и все другие основные языки поддерживаются из коробки.
Шаг 3 — Извлечение кадров на смене сцен (только видео)
ffmpeg сэмплирует кадры в точках смены сцен (порог 0.4, чувствительность от 0 = каждый кадр до 1 = никогда). Таймстампы записываются в timestamps.json, чтобы описания кадров привязывались к точным позициям видео.
Максимум кадров на видео: 50 (~$0.15 в худшем случае на стоимость Claude vision).
Шаг 4 — Анализ Claude vision (только видео)
Каждый сэмплированный кадр отправляется в Claude Sonnet vision с промптом, сфокусированным на:
- Слайдах и контенте презентаций (заголовки, ключевые тезисы, графики)
- Демонстрациях экрана (приложения, код, дашборды, видимые URL)
- Диаграммах (блоки, стрелки, подписи)
- Видимом тексте (подписи UI, заголовки, важные цифры)
Кадры только с веб-камерой или без информационного содержания помечаются "No informational content" и не влияют на саммари.
Ошибки на кадрах не фатальны — описание становится [vision failed: <reason>], и пайплайн продолжает работу.
Шаг 5 — Саммари Claude Sonnet
Транскрипт (и описания кадров, если есть) отправляются в Claude Sonnet. Саммари сохраняется как структурированный JSON:
{
"tldr": "Team reviewed Q3 revenue forecast and decided to ship the new feature by end of month.",
"key_points": [
"Q3 revenue is 15% above projection",
"Two blockers remain on the backend API"
],
"action_items": [
{ "task": "Fix auth endpoint before Thursday", "owner": "Serhii" },
{ "task": "Update stakeholder deck", "owner": null }
],
"decisions": [
"Ship feature to production on June 30"
],
"topics": ["Q3 revenue", "product launch", "API blockers"],
"model": "claude-sonnet-4-5",
"generated_at": "2026-06-06T10:42:00Z"
}
При сбое саммари транскрипт откатывается к предыдущему состоянию, так что сырой текст сохраняется. Можно повторить попытку после исправления ключа Anthropic.
Шаг 6 — RAG-эмбеддинг (Phase 73.6)
Полный текст (транскрипт + описания кадров + саммари) чанкуется и эмбеддится через Cohere embed-multilingual-v3.0 в векторный индекс проекта. После этого шага:
- Запись доступна для поиска через
arc kb searchи инструмент знаний в чате - Исходный файл удаляется с диска (решение CEO D4 — таблица транскриптов является источником истины)
- Статус становится
done
Чтобы пропустить RAG-индексацию: передай embed_to_rag=false в форме загрузки (только API; UI всегда эмбеддит по умолчанию).
Настройка BYOK API-ключа
Claude vision и саммари используют твой API-ключ Anthropic:
- Открой Profile → API Keys → Anthropic Key.
- Вставь ключ. Перед сохранением он шифруется AES-256-GCM.
- Если личный ключ не настроен, используется общий ключ платформы (с её рейт-лимитами).
Транскрипция Groq использует платформенный GROQ_API_KEY — для транскрипции личный ключ не нужен.
Поиск по транскриптам
Как только транскрипт получает статус done, он доступен через семантический поиск:
arc kb search "action items from last standup"
arc kb search "decision about Q3 launch"
Из композера чата AI-воркер может автоматически отвечать на вопросы по твоим транскриптам через инструмент ask_notebooklm (который запрашивает тот же RAG-индекс).
Можно ограничить поиск только транскриптами через параметр doc_types:
GET /api/crm/projects/:name/rag/search?q=...&doc_types=transcript
Стоимость и лимиты
| Ресурс | Лимит | Примечания |
|---|---|---|
| Размер загрузки | 1 ГБ | На файл |
| Vision-кадры | максимум 50 | Жёсткий лимит; лишние кадры отбрасываются |
| Стоимость Claude vision | ~$0.003/кадр | При типичном разрешении JPEG 1024×768 |
| Стоимость саммари Claude | ~$0.005–0.02 | Зависит от длины транскрипта (в саммари идёт ≤60 000 символов) |
| Транскрипция Groq | $0.111/час аудио | Платформенный ключ; ~$0.056 за 30-минутную встречу |
| Месячный лимит (Starter) | 60 мин | Сбрасывается 1-го числа каждого месяца |
| Месячный лимит (Starter Cloud) | 300 мин | Сбрасывается 1-го числа каждого месяца |
| Месячный лимит (Beta) | 1 200 мин | Сбрасывается 1-го числа каждого месяца |
| Параллельные задачи | 1 | Задачи в очереди; одна транскрипция на сервер одновременно |
Устранение неполадок
| Симптом | Вероятная причина | Решение |
|---|---|---|
| Чип завис на "Transcribing" дольше 2 мин | Таймаут Groq API или длинная запись | Проверь GROQ_API_KEY в Platform Settings; задачи стоят в очереди |
На шаге vision видно [vision failed: ...] |
Ключ Anthropic отсутствует или упёрся в рейт-лимит | Установи BYOK-ключ в Profile → API Keys |
| Саммари упало, статус откатился | Ошибка Claude API | Исправь ключ; пайплайн примет новую загрузку |
| RAG-эмбеддинг упал (не фатально) | Проблема с ключом Cohere | Транскрипт всё равно работает; arc kb search не найдёт его до повторного эмбеддинга |
| Кнопка Send заблокирована после "Summary ready" | Устаревший кэш браузера | Обнови страницу |
| "No informational content" на всех кадрах | Запись только с веб-камеры (без демонстрации экрана) | Ожидаемо; vision пропускает чистые webcam-кадры |
Ссылки
master-bot/transcript-worker.ts— оркестратор пайплайна (Phase 73.2 + 73.4 + 73.5 + 73.6)master-bot/transcript-vision.ts— Claude vision по кадрам (Phase 73.4, #380)master-bot/transcript-summary.ts— саммари Claude Sonnet (Phase 73.5, #381)shared/migrations/052_transcripts.ts— таблица транскриптовshared/migrations/053_transcript_jobs.ts— трекер прогресса задачfrontend/src/crm/pages/workspace/Composer.jsx— чип загрузки + SSE-прогресс- Справочник API: эндпоинты Phase 73
- Архитектура: RAG — doc_type transcript