
Bibi
- 1 installs
- 6.2k repo stars
- Updated May 4, 2026
- jimmylv/bibigpt
Summarizes videos, audio, and podcasts from the terminal via the BibiGPT CLI, supporting async, chapter, subtitle, and JSON output.
About
Uses the BibiGPT CLI to summarize YouTube, Bilibili, podcast, and audio URLs from the terminal with async, chapter, subtitle-only, and JSON modes. A developer uses it when they want terminal-based AI summaries piped into files or downstream tools.
- Async mode for long videos and chapter-by-chapter summaries
- Reads desktop-app session or BIBI_API_TOKEN; pipeable stdout output
Bibi by the numbers
- 1 all-time installs (skills.sh)
- Ranked #467 of 550 CLI & Terminal skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/jimmylv/bibigpt --skill bibiAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1 |
|---|---|
| repo stars | ★ 6.2k |
| Last updated | May 4, 2026 |
| Repository | jimmylv/bibigpt ↗ |
What it does
Summarizes videos, audio, and podcasts from the terminal via the BibiGPT CLI, supporting async, chapter, subtitle, and JSON output.
Files
BibiGPT CLI (bibi)
Summarize videos, audio, and podcasts from the terminal using the BibiGPT API.
Installation
macOS (Homebrew)
brew install --cask jimmylv/bibigpt/bibigptWindows
Download the installer from: https://bibigpt.co/download/desktop
winget install BibiGPT is pending review and not yet available.Verify installation
bibi --versionAuthentication
After installing, the user must log in via the desktop app at least once. The CLI reads the saved session automatically from the desktop app's settings.
Alternatively, set an API token:
export BIBI_API_TOKEN=<token>On Windows (PowerShell):
$env:BIBI_API_TOKEN="<token>"Commands
Summarize a URL
Important: URLs containing ? or & must be quoted to avoid shell glob errors.
# Basic summary (Markdown output to stdout)
bibi summarize "<URL>"
# Async mode — recommended for long videos (>30min)
bibi summarize "<URL>" --async
# Chapter-by-chapter summary
bibi summarize "<URL>" --chapter
# Fetch subtitles/transcript only (no AI summary)
bibi summarize "<URL>" --subtitle
# Full JSON response
bibi summarize "<URL>" --json
# Combine flags
bibi summarize "<URL>" --subtitle --jsonSupported URL types: YouTube, Bilibili, podcasts, audio files, and any URL supported by BibiGPT.
Authentication
# Check current auth status
bibi auth check
# Open browser to log in
bibi auth login
# Show how to set API token
bibi auth set-token <TOKEN>Updates
# Check if a new version is available
bibi check-update
# Download and install the latest version
bibi self-updateOutput Format
- Default: Markdown summary text sent to stdout. Progress info goes to stderr.
- --json: Complete API response as pretty-printed JSON to stdout.
This means you can pipe the output:
bibi summarize "<URL>" > summary.md
bibi summarize "<URL>" --json | jq '.summary'Error Handling
| Exit Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Error (auth missing, API error, timeout, etc.) |
| HTTP Status | User Action |
|---|---|
| 401 | Token expired — run bibi auth login or re-login in desktop app |
| 402/403 | Quota exceeded — visit https://bibigpt.co/pricing |
| 429 | Rate limited — wait and retry |
Usage Tips
- For very long videos, use
--asyncto avoid HTTP timeout. - Use
--subtitleto get raw subtitles/transcript without AI summarization. - Use
--jsonwhen you need structured data (e.g.,sourceUrl,htmlUrl,detail). - The
--chapterflag provides section-by-section summaries, useful for lectures or tutorials. - The CLI does NOT open any GUI window — all output goes to the terminal.
- Run
bibi check-updateperiodically to get new features and bug fixes.
#!/usr/bin/env bash
# Quick check: is the bibi CLI available?
if command -v bibi &>/dev/null; then
bibi --version
else
echo "bibi not found."
if [[ "$OSTYPE" == "darwin"* ]]; then
echo "Install via Homebrew: brew install --cask jimmylv/bibigpt/bibigpt"
else
echo "Download from: https://bibigpt.co/download/desktop"
fi
exit 1
fi