Transcription + Analyse de réunions

Statut : En production depuis la Phase 73 (2026-06-06). Uploadez des enregistrements audio/vidéo dans le composer de chat — Arc OS transcrit, analyse les visuels, résume et indexe dans la recherche du projet.


Vue d'ensemble

Le pipeline de transcription de réunions transforme un enregistrement brut en connaissances structurées et interrogeables, sans quitter 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)

Estimation de coût (clé Anthropic BYOK) : ~0,20–0,45 $ par réunion de 30 minutes (vision + résumé) + ~0,056 $ de transcription Groq. La fonctionnalité nécessite un plan payant (Starter / Starter Cloud / Beta).


Uploader un enregistrement

  1. Ouvrez le workspace de n'importe quel projet.
  2. Cliquez sur l'icône trombone dans le composer de chat.
  3. Sélectionnez un fichier audio ou vidéo. Formats pris en charge :
    • Vidéo : mp4, mov, webm, mkv, m4v
    • Audio : mp3, wav, m4a, aac, ogg, opus, flac
    • Taille max : 1 Go
  4. Une puce de progression apparaît dans le composer, affichant l'étape en cours et le pourcentage.
  5. Quand la puce atteint 100 % (Summary ready), le bouton Send se débloque — vous pouvez immédiatement envoyer un message faisant référence à la transcription.
  6. Après une brève étape supplémentaire (indexation RAG), le statut passe à done et le fichier source est supprimé.

Pendant le traitement : vous pouvez taper d'autres messages dans le composer. Seules les pièces jointes média encore en traitement bloquent le bouton Send.


Ce qui est injecté dans le chat

Quand vous envoyez un message contenant une pièce jointe de transcription terminée, le texte de la transcription est automatiquement ajouté à votre message :

Your message text here

--- TRANSCRIPT: meeting-2026-06-06.mp4 (video) ---
[whisper transcript text...]
--- END TRANSCRIPT ---

Le worker IA voit la transcription complète en ligne, comme n'importe quel autre document. Vous pouvez poser des questions dessus, demander des résumés ou faire extraire les action items par le worker.


Les étapes du pipeline en détail

Étape 1 — Extraction audio (ffmpeg)

Pour les fichiers vidéo, Arc OS extrait la piste audio en WAV mono 16 kHz. Pour les fichiers audio, il s'agit d'une simple conversion de format.

Étape 2 — Transcription (Groq whisper-large-v3)

Le WAV est envoyé à l'API Groq (modèle whisper-large-v3). Vitesse : ~100× temps réel (clip de 11 s → moins de 1 s). La clé GROQ_API_KEY de la plateforme est configurée dans Platform Settings → Transcription par un admin. Multilingue — l'ukrainien, l'anglais et toutes les autres langues majeures sont pris en charge nativement.

Étape 3 — Extraction des images aux changements de scène (vidéo uniquement)

ffmpeg échantillonne des images aux points de changement de scène (seuil 0.4, sensibilité de 0 = chaque image à 1 = jamais). Les timestamps sont enregistrés dans timestamps.json afin que les descriptions d'images renvoient aux positions exactes de la vidéo.

Nombre maximum d'images par vidéo : 50 (~0,15 $ au pire en coûts Claude vision).

Étape 4 — Analyse Claude vision (vidéo uniquement)

Chaque image échantillonnée est envoyée à Claude Sonnet vision avec un prompt centré sur :

Les images webcam seules ou sans contenu informatif sont marquées "No informational content" et ne contribuent en rien au résumé.

Les échecs d'image ne sont pas fatals — la description devient [vision failed: <reason>] et le pipeline continue.

Étape 5 — Résumé Claude Sonnet

La transcription (et les descriptions d'images vision si disponibles) sont envoyées à Claude Sonnet. Le résumé est stocké en JSON structuré :

{
  "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"
}

En cas d'échec du résumé, la transcription revient à son état précédent afin de préserver le texte brut. Vous pouvez réessayer après avoir corrigé votre clé Anthropic.

Étape 6 — Indexation RAG (Phase 73.6)

Le texte complet (transcription + descriptions d'images + résumé) est découpé en chunks et indexé via Cohere embed-multilingual-v3.0 dans l'index vectoriel du projet. Après cette étape :

Pour sauter l'indexation RAG : passez embed_to_rag=false dans le formulaire d'upload (API uniquement ; l'UI indexe toujours par défaut).


Configuration de la clé API BYOK

Claude vision et le résumé utilisent votre clé API Anthropic :

  1. Allez dans Profile → API Keys → Anthropic Key.
  2. Collez votre clé. Elle est chiffrée en AES-256-GCM avant stockage.
  3. Si aucune clé personnelle n'est configurée, la clé partagée de la plateforme est utilisée (soumise aux limites de débit de la plateforme).

La transcription Groq utilise la clé GROQ_API_KEY de la plateforme — aucune clé personnelle n'est nécessaire pour la transcription.


Rechercher dans les transcriptions

Dès qu'une transcription atteint le statut done, elle est trouvable via la recherche sémantique :

arc kb search "action items from last standup"
arc kb search "decision about Q3 launch"

Depuis le composer de chat, le worker IA peut automatiquement répondre à des questions ancrées dans vos transcriptions via l'outil ask_notebooklm (qui interroge le même index RAG).

Vous pouvez restreindre la recherche aux seules transcriptions via le paramètre doc_types :

GET /api/crm/projects/:name/rag/search?q=...&doc_types=transcript

Coûts et limites

Ressource Limite Notes
Taille d'upload 1 Go Par fichier
Images vision 50 max Plafond strict ; les images excédentaires sont ignorées
Coût Claude vision ~0,003 $/image À une résolution JPEG typique de 1024×768
Coût résumé Claude ~0,005–0,02 $ Selon la longueur de la transcription (≤60 000 caractères envoyés au résumé)
Transcription Groq 0,111 $/heure audio Clé plateforme ; ~0,056 $ par réunion de 30 min
Plafond mensuel (Starter) 60 min Réinitialisé le 1er de chaque mois
Plafond mensuel (Starter Cloud) 300 min Réinitialisé le 1er de chaque mois
Plafond mensuel (Beta) 1 200 min Réinitialisé le 1er de chaque mois
Jobs simultanés 1 Les jobs sont mis en file ; une transcription à la fois par serveur

Dépannage

Symptôme Cause probable Solution
Puce bloquée sur « Transcribing » pendant >2 min Timeout de l'API Groq ou enregistrement long Vérifiez GROQ_API_KEY dans Platform Settings ; les jobs sont mis en file
L'étape vision affiche [vision failed: ...] Clé Anthropic manquante ou limitée en débit Configurez une clé BYOK dans Profile → API Keys
Résumé en échec, statut revenu en arrière Erreur de l'API Claude Corrigez la clé ; le pipeline acceptera un nouvel upload
Échec de l'indexation RAG (non fatal) Problème de clé Cohere La transcription reste utilisable ; arc kb search ne la trouvera pas avant ré-indexation
Bouton Send toujours bloqué après « Summary ready » Cache navigateur obsolète Rafraîchissez la page
« No informational content » sur toutes les images Enregistrement webcam uniquement (pas de partage d'écran) Comportement attendu ; la vision ignore les images webcam pures

Références