meetbot.dev

v1en production · meet · teams · zoom

L'API meeting-bot.

0,005 $ par minute. Facturé à la minute, pas à la réunion. Déposez une URL Meet, Teams ou Zoom — récupérez l'audio par locuteur, la vidéo de l'onglet, des sous-titres horodatés et le chat entrant envoyés vers votre bucket compatible S3. Un webhook signé arrive à la fin de la réunion.

Se connecter →Essayez gratuitement avec bot@meetbot.devpremière heure gratuite · sans carte · facturation à la minute
~/your-app/dispatch.tsmain
import { createMeetbot } from "@meetbot/sdk";

const meetbot = createMeetbot({ apiKey: process.env.MEETBOT_API_KEY! });

const job = await meetbot.dispatchBot({
  url: "https://meet.google.com/abc-defg-hij",
  externalId: "session-42",
  webhooks: { onFinalize: "https://yours.example/hook" },
});

console.log(job.id, job.status);

02 · ce que vous récupérez

Quatre fichiers. Dans votre bucket.

Aucun container propriétaire. Aucun "connectez-vous à notre portail pour télécharger". Quand la réunion se termine, ils atterrissent dans le préfixe que vous avez désigné, et un webhook arrive avec le chemin du manifest.

audio · par locuteur

audio.{speaker}.webm

Une piste Opus par participant. Pas de mixage, pas de fuite. Indexée par SSRC WebRTC ; les étiquettes de locuteur viennent de la liste de la réunion.

manifest/
├─ alice.audio.webm        12.3 MB · opus@48k mono
├─ bob.audio.webm           8.7 MB · opus@48k mono
└─ carol.audio.webm         9.1 MB · opus@48k mono
vidéo · onglet entier

tab.video.webm

ffmpeg x11grab de l'onglet de la réunion — ce qu'un spectateur verrait, écrans partagés inclus. VP9, bitrate configurable.

tab.video.webm
  vp9 · 1920×1080 · 15 fps · 1.5 Mbps
  duration 00:42:17 · 412 MB
sous-titres · JSON en direct

captions.jsonl

JSON délimité par lignes. Une ligne par énoncé finalisé — speakerId, texte, ms début/fin. Depuis le data channel de Meet quand disponible ; scrape DOM en direct sinon.

{"speakerId":"p-2","name":"alice",
 "text":"so the redesign…",
 "tStart":423120,"tEnd":425840}
{"speakerId":"p-3","name":"bob",
 "text":"yeah, ship it.",
 "tStart":425900,"tEnd":426710}
chat · entrant

chat.jsonl

Ce que les participants ont tapé dans le chat de la réunion. Horodaté, attribué à l'expéditeur. Même format à travers Meet/Teams/Zoom.

{"sender":"alice","text":"link?",
 "tMs":1827000}
{"sender":"bob",
 "text":"https://docs.example/x",
 "tMs":1834120}

03 · plateformes

Trois plateformes. Un contrat.

Google Meet

disponible*

Rejoint en tant qu'invité anonyme par défaut. La connexion via compte Workspace est en cours pour le déploiement de l'admission à double file d'avril 2026.

Microsoft Teams

disponible

Client web, jointure anonyme. Sous-titres via interception du data-channel ; vrais noms de participants depuis le panneau People.

Zoom (Web)

disponible

Uniquement client web — pas de clé SDK Zoom requise, pas de binaire natif. Audio par locuteur via mappage SSRC WebRTC.

* À propos de l'astérisque : Google a déployé en avril 2026 un système d'admission à double file pour Meet qui refuse automatiquement les participants anonymes dans les réunions Workspace. Nous lançons un pool d'identités Workspace-bot pour gérer ça — disponible ce mois-ci.

04 · le flux

Un HTTP POST en entrée. Des fichiers dans votre bucket en sortie.

L'orchestrateur tourne sur votre infrastructure ou la nôtre. Aucune machine à états boîte noire — la table des jobs, les containers du bot, les livraisons de webhook sont visibles pour vous (et inspectables dans l'admin) à chaque étape.


  your app                                  meetbot orchestrator
 ┌────────────┐         POST /jobs         ┌──────────────────────┐
 │            │ ─────────────────────────▶ │                      │
 │  Linqua    │   Bearer mb_…              │   Next.js + Drizzle  │
 │  worker    │ ◀───────────────────────── │   pg-boss queue      │
 │            │   201 { id, status }       │                      │
 └────────────┘                            └──────┬───────────────┘
                                                  │ docker run
                                                  ▼
                                         ┌──────────────────────┐
                                         │   meetbot/bot        │
                                         │   ─────────────      │
                                         │   puppeteer + xvfb   │
                                         │   joins the meeting  │
                                         └──────┬───────────────┘
                                                │  per-speaker tracks,
                                                │  captions, chat
                                                ▼
                                         ┌──────────────────────┐
                                         │   YOUR  S3  BUCKET   │
                                         │   manifest.json      │
                                         │   alice.audio.webm   │
                                         │   bob.audio.webm     │
                                         │   tab.video.webm …   │
                                         └──────┬───────────────┘
                                                │
                              POST /your-hook   │  HMAC-SHA256
                              ◀─────────────────┘  X-Meetbot-Signature
                                  signed event              

05 · tarifs

0,005 $ par minute.

C'est 0,30 $ de l'heure. Facturé à la minute, pas à la réunion — un appel de 17 minutes vous coûte 8,5 cents. La première réunion (jusqu'à une heure) est gratuite. Nous publions nos tarifs parce que nous n'avons rien à cacher — y compris le calcul face à l'alternative à code fermé.

mis à jour 2026-05-08facturation mensuelle · stripe
meetbotRecall.ai
par minute de réunion$0.005$0.008340% moins
granularité de facturationpar minutepar minute (arrondi)
offre gratuite1 heure première réunion5 heures / mois
frais par bot
dépense minimale
tarifs publicscette pageaprès appel commercial

Tarifs Recall.ai selon leur ; nous mettrons à jour cette ligne quand la leur bougera. C'est une comparaison, pas une attaque — ils ont fait un excellent produit. page tarifaire publique

calculatrice

Ce que vous paieriez vraiment, côte à côte

Déplacez le curseur sur votre volume réel de réunions. Nous comparons meetbot à Recall.ai, MeetingBaaS et Vexa avec les prix publics de chaque fournisseur — sans astérisque, sans "appelez-nous".

h / mois
préréglages :

Vous économisez 40 $US/mois vs Recall.ai à ce volume.

fournisseurmensuelannuel$ / h effectif
meetbot
30 $US360 $US0,30 $US
Recall.ai
70 $US840 $US0,70 $US
MeetingBaaS(Free PAYG)
50 $US600 $US0,50 $US
Vexa
50 $US600 $US0,50 $US

Prix vérifiés le 2026-05-09. Voir /vs/recall pour la comparaison complète.

06 · code

Toute l'API. Trois appels.

import { createMeetbot } from "@meetbot/sdk";

const meetbot = createMeetbot({ apiKey: process.env.MEETBOT_API_KEY! });

const job = await meetbot.dispatchBot({
  url: "https://meet.google.com/abc-defg-hij",
  externalId: "session-42",
  webhooks: { onFinalize: "https://yours.example/hook" },
});

console.log(job.id, job.status);

07 · faq

Les questions que les ingénieurs posent vraiment.

Q.Comment le bot apparaît-il dans la réunion ?
Comme une vignette de participant ordinaire, avec le displayName que vous avez passé à dispatchBot. Par défaut c'est meetbot ; passez displayName: "Linqua note-taker" si vous voulez que la liste des participants l'affiche. Les hôtes l'admettent depuis le lobby comme n'importe quel invité.
Q.Comment gérez-vous la détection anti-bot ?
Trois couches, par ordre croissant : comptes Workspace bot dans un pool de rotation (la seule chose qui survive à l'écran d'admission à double file de Google d'avril 2026 sur les réunions Workspace), persistance de cookies entre runs, et escalade par paliers au retry — chaque retry utilise une empreinte Chrome plus furtive.
Q.Et si la réunion dure trois heures ?
L'orchestrateur surveille le container du bot avec des heartbeats périodiques. Pas de timeout à configurer — l'exécution se termine quand l'hôte part, quand la réunion se termine, ou quand le bot est expulsé. Vous êtes facturé à la seconde de temps de réunion, pas au wall-clock du container.
Q.Comment commencer ?
Le plus simple : ajoutez bot@meetbot.dev à votre prochaine invitation calendrier Meet, Teams ou Zoom. Le bot rejoint, enregistre et vous envoie l'enregistrement par email à la fin de la réunion. Première réunion (jusqu'à une heure) offerte — pas d'inscription, pas de carte. Ensuite vous pouvez continuer sur un compte payant.
Q.Comment gérez-vous le RGPD / le consentement à l'enregistrement ?
Nous ne le gérons pas, et nous ne ferons pas semblant. meetbot est de l'infrastructure — vous prévenez les participants que la réunion est enregistrée, vous obtenez leur consentement selon la juridiction qui s'applique, vous décidez si vous honorez les demandes "ne pas enregistrer". Le bot a un nom configurable précisément pour que les participants sachent qu'il est là.