Skip to content

Meeting Blips API

Two endpoints, usually used together: transcribe an audio file, then extract structure from the resulting (or a directly-pasted) transcript.

POST /api/briefblip/extract.php

Extracts attendees, decisions, action items, next steps, and a recap from a meeting transcript.

Auth: anonymous (20/hour per network) or X-Briefblip-Key (no limit).

{
  "transcript": "full transcript text (required, max 60,000 chars)",
  "title": "optional meeting title (max 200 chars)"
}
{
  "title": "...",
  "attendees": [{ "name": "...", "role": "..." }],
  "meeting_date": "...",
  "meeting_time": "...",
  "location": "...",
  "decisions": ["..."],
  "action_items": [{ "text": "...", "owner": "..." }],
  "next_steps": ["..."],
  "recap": "...",
  "model": "...",
  "cost": { "usd": 0.0, "input_tokens": 0, "output_tokens": 0 }
}

Errors: 400 missing/oversize transcript · 429 rate limit · 502 model gateway unavailable, or the model's output couldn't be parsed as JSON.

Notes: stateless — nothing is stored. attendees/decisions/etc. are never invented; a category with nothing found comes back as an empty array/null.

POST /api/briefblip/transcribe.php

Transcribes an uploaded audio file. Typically called first, with its transcript field then passed to extract.php.

Auth: anonymous (10/hour per network) or X-Briefblip-Key (no limit).

Request: multipart/form-data

Field Required Notes
audio yes One of mp3, wav, ogg, oga, m4a, mp4, flac, webm, aac, ≤100 MB
language no ISO language code, or auto (default)
num_speakers no 1–20; only honored when diarization is enabled
{
  "transcript": "...",
  "engine": "whisper",
  "language": "...",
  "duration_sec": 0,
  "segments": [ ],
  "speakers": [ ],
  "num_speakers": 0,
  "diarized": false
}

Errors: 400 upload error/missing file · 413 file too large · 415 unsupported format · 429 rate limit · 503 transcription service temporarily unavailable.

Notes: speaker diarization is a feature flag — when it's off, diarized comes back false and everything is treated as one speaker.