
Bibi
Call BibiGPT HTTP APIs from agents, CI, or containers when the bibi CLI is unavailable, using auth headers and curated endpoint decision tables.
Install
npx skills add https://github.com/jimmylv/bibigpt-skill --skill bibiWhat is this skill?
- Hand-curated api.md plus auto-generated references/endpoints.md from live OpenAPI
- Required headers: Authorization Bearer and x-client-type bibi-cli for agent-skill channel billing
- OAuth 2.0 authorize and token endpoints with bibi-cli client_id
- MCP server at bibigpt.co/api/mcp (Streamable HTTP, OAuth 2.1)
- URL percent-encoding helpers for Python and Node when passing media URLs as query params
Adoption & trust: 1.4k installs on skills.sh; 83 GitHub stars; 1/3 security scanners passed (skills.sh audits).
Recommended Skills
Agent Browservercel-labs/agent-browser
Lark Imlarksuite/cli
Lark Calendarlarksuite/cli
Lark Sheetslarksuite/cli
Lark Vclarksuite/cli
Lark Contactlarksuite/cli
Journey fit
Common Questions / FAQ
Is Bibi safe to install?
skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Bibi
# BibiGPT OpenAPI Reference Use these HTTP endpoints when the `bibi` CLI is not installed (Linux, containers, CI). > An auto-generated companion (`references/endpoints.md`) lists every > endpoint with curl examples — derived from the live OpenAPI spec > ([https://bibigpt.co/api/openapi.json](https://bibigpt.co/api/openapi.json)). > This file (`api.md`) is hand-curated for auth, decision tables, and > agent-friendly explanations. Use both together. **Base URL**: `https://api.bibigpt.co/api` **OpenAPI spec**: `https://bibigpt.co/api/openapi.json` **MCP Server**: `https://bibigpt.co/api/mcp` (Streamable HTTP, OAuth 2.1) ## Authentication Every request **MUST** include both headers: ``` Authorization: Bearer $BIBI_API_TOKEN x-client-type: bibi-cli ``` Get your token at: **https://bibigpt.co/user/integration** The `x-client-type: bibi-cli` header identifies agent-skill channel calls. Paid members get **100 free calls/day** before normal billing. ### OAuth 2.0 | Endpoint | URL | |----------|-----| | Authorization | `https://bibigpt.co/api/auth/authorize` | | Token exchange | `https://bibigpt.co/api/auth/token` | Use `bibigpt-skill` as `client_id` with redirect URI `http://localhost`. ## URL Encoding URLs must be percent-encoded when passed as query params: ```bash # Python python3 -c 'import urllib.parse,sys; print(urllib.parse.quote(sys.argv[1], safe=""))' "$URL" # Node.js node -e 'console.log(encodeURIComponent(process.argv[1]))' "$URL" ``` --- ## Endpoints ### 1. Summarize — `GET /v1/summarize` MCP tool: `summarize_video` | Param | Type | Required | Description | |-------|------|----------|-------------| | `url` | string | yes | Video/audio URL | | `includeDetail` | boolean | no | Include full subtitle data in `detail` field | ```bash curl -s "https://api.bibigpt.co/api/v1/summarize?url=ENCODED_URL" \ -H "Authorization: Bearer $BIBI_API_TOKEN" \ -H "x-client-type: bibi-cli" ``` Response: ```json { "success": true, "id": "...", "service": "youtube", "sourceUrl": "...", "htmlUrl": "https://bibigpt.co/video/...", "summary": "Markdown summary...", "costDuration": 12.5, "remainingTime": 3600 } ``` ### 2. Summarize with Config — `POST /v1/summarizeWithConfig` MCP tool: `summarize_video_with_config` | Param | Type | Required | Description | |-------|------|----------|-------------| | `url` | string | yes | Video/audio URL | | `includeDetail` | boolean | no | Include subtitle data | | `promptConfig.customPrompt` | string | no | Custom summary prompt | | `promptConfig.outputLanguage` | string | no | Output language (e.g., `zh-CN`, `en-US`) | | `promptConfig.audioLanguage` | string | no | Source audio language | | `promptConfig.showEmoji` | boolean | no | Include emoji in output | | `promptConfig.detailLevel` | number | no | Detail level (0-1000) | | `promptConfig.showTimestamp` | boolean | no | Include timestamps | | `promptConfig.isRefresh` | boolean | no | Force refresh (skip cache) | ```bash curl -s -X POST "https://api.bibigpt.co/api/v1/summarizeWithConfig" \ -H "Authorization: Bearer $BIBI_API_TOKEN" \ -H "x-client-type: bibi-cli" \ -H "Content-Type: application/json" \ -d '{"url":"VIDEO_URL","promptConfig":{"outputLanguage":"en-US","customPrompt":"Focus on key insights"}}' ``` ### 3. Chapter Summary — `GET /v1/summarizeByChapter` MCP tool: `summarize_by_chapter` | Param | Type | Required | Description | |-------|------|----------|-------------| | `url` | string | yes | Video/audio URL | | `outputLanguage` | string | no | Output language | | `includeDetail` | boolean | no | Include subtitle data | ```bash curl -s "https://api.bibigpt.co/api/v1/summarizeByChapter?url=ENCODED_URL" \ -H "Authorization: Bearer $BIBI_API_TOKEN" \ -H "x-client-type: bibi-cli" ``` Response adds: `title`, `chapters` array (with `start`, `end`, `content`, `summary`), `chapterSummary`. ### 4. Get Subtitles — `GET /v1/getSubtitle` MCP tool: `get_subtitle` | Param | Type | Required | Description |