BibiGPT के video summaries को custom OpenAI-compatible API पर चलाएं।

Updated 2026-07-30

Self-hosted BibiGPT अपने environment से OPENAI_COMPATIBLE_BASE_URL, OPENAI_COMPATIBLE_API_KEY, और OPENAI_COMPATIBLE_MODEL पढ़ता है। Base URL को https://api.apisrouter.com/v1 पर point करें और हर Bilibili, YouTube, या podcast summary gateway के through चलता है, Chinese और global models एक key के पीछे।

Quick answer: तीन environment variables।

BibiGPT की example environment file सीधे surface document करती है: OPENAI_COMPATIBLE_BASE_URL endpoint set करता है (default https://api.openai.com/v1), OPENAI_COMPATIBLE_API_KEY key रखता है (unset होने पर OPENAI_API_KEY पर fall back करता है), और OPENAI_COMPATIBLE_MODEL summaries के लिए default model चुनता है। Base URL को https://api.apisrouter.com/v1 set करें, key variable में एक gateway key डालें, और model के तौर पर कोई भी catalog id चुनें। Base URL इस्तेमाल के समय validate होता है: यह http:// या https:// से शुरू होना चाहिए, और trailing slashes strip हो जाते हैं, तो ऊपर वाला /v1 form बिल्कुल सही है। अंदर, app इन values से एक Vercel AI SDK openai-compatible provider बनाता है और configured id के साथ chatModel call करता है, जो यही वजह है कि endpoint जो भी serve करे वह model बिना code changes के काम करता है।

# Optional: use OpenAI-compatible providers (falls back to OPENAI_API_KEY)
OPENAI_COMPATIBLE_API_KEY=sk-YOUR-APISROUTER-KEY
OPENAI_COMPATIBLE_BASE_URL=https://api.apisrouter.com/v1
OPENAI_COMPATIBLE_MODEL=deepseek-v4-flash

BibiGPT endpoint को क्या भेजता है।

BibiGPT (GitHub पर JimmyLv, open-source v1 के लिए लगभग 6K stars) audio और video के लिए एक one-click AI summarizer है: एक Bilibili या YouTube link, एक podcast, एक meeting recording, या एक local file paste करें, और यह transcript fetch करता है, इसे condense करता है, और आपको content से chat करने देता है। यह Bilibili summaries के लिए BiliGPT के तौर पर शुरू हुआ और एक bilingual tool में बढ़ा जिसका एक hosted successor है; यहां बताई गई environment configuration self-hosted open-source version पर लागू होती है। Workload transcript-shaped है: लंबे inputs, छोटे outputs। एक घंटे की speech बहुत सारा transcript है, जिसे app summarize करने से पहले model-sized pieces में chunk करता है, तो एक video कई chat-completions calls मतलब रख सकता है जिनके input tokens produced summary से कहीं ज़्यादा हैं। तो per-input-token price ही पूरी economics है, और long-context models लंबे lectures और podcasts के लिए chunking कम करते हैं। Provider construction values को एक sensible cascade में resolve करता है: एक per-request key (उन instances के लिए जो users को अपनी key लाने देते हैं) OPENAI_COMPATIBLE_API_KEY पर जीतती है, जो OPENAI_API_KEY पर जीतती है; यही base URL और model पर भी लागू होता है। User-entered keys accept करने के लिए एक OPENAI_COMPATIBLE_KEY_PREFIXES variable भी है जिनके prefixes sk- नहीं हैं, जो matter करता है जब आपके users के पास रखी keys OpenAI की बजाय एक gateway से आती हैं।

एक self-hosted instance के लिए पूरा setup।

BibiGPT एक Next.js app है, तो environment वैसे travel करता है जैसे आप deploy करते हैं: locally एक .env file, Vercel पर project environment variables, या Docker में container env। तीनों variables set करें, redeploy या restart करें, और summaries gateway के through route होती हैं। Model variable एक default है, hard limit नहीं। Requests एक per-video config carry करती हैं जिसका model field, मौजूद होने पर, OPENAI_COMPATIBLE_MODEL को override करता है, तो एक instance एक volume id पर default कर सकता है जबकि specific flows एक stronger id request करते हैं। अगर आप दूसरों के लिए instance चला रहे हैं और उन्हें अपनी keys paste करने देते हैं, तो OPENAI_COMPATIBLE_KEY_PREFIXES को अपने gateway के key prefix के साथ include करने के लिए set करें ताकि form इन्हें accept करे।

OPENAI_COMPATIBLE_API_KEY=sk-YOUR-APISROUTER-KEY
OPENAI_COMPATIBLE_BASE_URL=https://api.apisrouter.com/v1
OPENAI_COMPATIBLE_MODEL=deepseek-v4-flash

# accepting user-entered gateway keys in the UI:
OPENAI_COMPATIBLE_KEY_PREFIXES=sk-

Summarization model चुनना, East और West।

Comparison honestly चलाना आसान है: same video, दो model ids, दोनों summaries को transcript के against पढ़ें। Per-key usage log हर candidate को असली content पर price करता है, और transcript workloads के लिए difference input-token column में तुरंत दिखता है।

  • Chinese content BibiGPT का home turf है: Bilibili lectures, Douyin clips, Chinese podcasts। glm-5.2, deepseek-v4-flash, और kimi-k2.6 Chinese transcripts पर natively strong हैं और बाकी सब की तरह same endpoint के पीछे बैठते हैं।
  • English और mixed content (YouTube, global podcasts) claude-haiku-4-5-20251001 और gemini-3.5-flash पर अच्छा करता है, दोनों लंबे noisy transcripts के साथ comfortable हैं।
  • यह split एक gateway के लिए practical China-plus-global argument है: एक endpoint, एक key, और per-video model override हर content source के लिए सही family चुनता है, दोनों के लिए एक vendor मजबूर करने की बजाय।
  • लंबे lectures long context को reward करते हैं। कम chunks मतलब कम calls और एक ज़्यादा coherent summary; अपने सबसे लंबे content के against standardize करने से पहले एक long-context id test करें।
  • Volume instances (एक team जो अपना देखा सब कुछ summarize करती है) को deepseek-v4-flash पर default करना चाहिए और selectively escalate करना चाहिए; input-heavy shape fast-tier pricing को compound कर देता है।

जितना उपयोग उतना भुगतान · आधिकारिक मूल्य से कम

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

मॉडलआधिकारिक मूल्यहमारा मूल्य
DeepSeek V4 Flash$0.14 / $0.28 per M$0.10 / $0.30 per M
GLM-5.2$1.14 / $4.00 per M$1.10 / $4.00 per M
Kimi K2.6$0.95 / $4.00 per M$1.00 / $4.00 per M
Claude Haiku 4.5 20251001$1.00 / $5.00 per M$0.80 / $4.00 per M
Gemini 3.5 Flash$1.50 / $9.00 per M$1.20 / $7.20 per M

BibiGPT के लिए specific failure modes।

Fallback chain आपको surprise कर सकती है। अगर OPENAI_COMPATIBLE_API_KEY खाली है, तो app चुपचाप OPENAI_API_KEY पर fall back करता है। यह तब तक convenient है जब तक दोनों अलग-अलग services पर point ना करें: एक OpenAI key वाला gateway base URL authentication errors produce करता है जो gateway problems जैसी दिखती हैं। जब routing बदले, compatible-prefixed pair को साथ में set करें और कहीं और point करने वाली कोई stale OPENAI_API_KEY ना छोड़ें, या confirm करें कि वह same gateway key रखती है। Base URL validator बिना scheme वाली values को reject करता है, तो एक bare host clear error के साथ जल्दी fail होती है; https:// और /v1 path शामिल करें। Trailing slashes normalize होकर हट जाती हैं, तो वहां दोनों form काम करते हैं। Model ids endpoint की /v1/models listing के against exact strings हैं; OPENAI_COMPATIBLE_MODEL में एक typo पहली summary को model-not-found के साथ fail करती है। Per-video override भी याद रखें: अगर एक flow पुराना model इस्तेमाल करता रहता है, तो कुछ request config में explicit model pass कर रहा है। Transcript fetching अलग plumbing है। अगर एक video इसलिए कोई summary नहीं देता क्योंकि subtitles या audio fetch नहीं हो सके, तो यह content pipeline है (platform APIs, subtitle availability), LLM endpoint नहीं। इस guide के env vars सिर्फ summarization calls को हिलाते हैं। और note करें कि hosted bibigpt.co service अपने खुद के models manage करता है; ये variables open-source v1 configure करते हैं जो आप खुद deploy करते हैं।

कौन BibiGPT को एक gateway के through route करता है।

  • Bilingual viewers जो Bilibili और YouTube दोनों summarize करते हैं, per language एक vendor की बजाय एक key के पीछे Chinese-strong ids को global ones के साथ pair करते हुए।
  • China-adjacent setups में self-hosters जहां एक single OpenAI-compatible endpoint जो GLM, DeepSeek, और Kimi भी serve करता है multi-vendor billing problem को पूरी तरह हटा देता है।
  • Teams जो meetings और lectures के लिए एक shared summarizer चला रही हैं, per key usage metering करते हुए और volume-tier ids पर default करते हुए।
  • Heavy podcast listeners, जहां हफ़्ते में घंटों का transcript input-token pricing को पूरी cost story बना देता है।
  • Developers जिनके पास किसी given vendor की billing तक access नहीं है। बिना card requirement वाला top-up based access per-provider sign-up dependency हटा देता है।

Endpoint verify करें और पहली summary को debug करें।

वे models list करें जिन तक आपकी key पहुंच सकती है और confirm करें कि OPENAI_COMPATIBLE_MODEL की id उनमें है; यह एक check ज़्यादातर first-run failures रोकती है। फिर कुछ छोटा summarize करें। एक authentication error का मतलब है resolved key base URL से match नहीं करती, और fallback chain को देखते हुए, यह मान लेने से पहले कि key किस variable ने असल में दी print करें। Model-not-found एक id typo है। Startup पर एक scheme error का मतलब है base URL में https:// missing है। एक summary जो healthy endpoint के बावजूद कभी शुरू ही नहीं होती वह transcript fetch है जो किसी भी LLM call से पहले upstream fail हो रही है। एक बार summaries flow करने लगें, APIsRouter console per-request model, token counts, और spend दिखाता है। Transcript summarization सबसे साफ़ input-heavy workload है जो मौजूद है, और एक हफ़्ते का usage data आपको हर model के लिए content के घंटे की असली cost बताता है, जो optimize करने लायक number है।

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50

अक्सर पूछे जाने वाले प्रश्न

क्या BibiGPT एक custom OpenAI-compatible base URL support करता है?

हां। Self-hosted v1 अपनी example environment file में OPENAI_COMPATIBLE_BASE_URL, OPENAI_COMPATIBLE_API_KEY, और OPENAI_COMPATIBLE_MODEL document करता है, और इनसे अपना AI SDK provider बनाता है। Base URL को /v1 शामिल करते हुए gateway endpoint पर set करें।

क्या BibiGPT GLM, DeepSeek, Kimi, या Claude models से summarize कर सकता है?

हां। Configured model id endpoint को एक plain string के तौर पर pass होती है, तो कोई भी catalog id काम करती है: Chinese content के लिए glm-5.2 और kimi-k2.6, global content के लिए claude-haiku-4-5-20251001 या gemini-3.5-flash, सब एक key पर।

अगर OPENAI_COMPATIBLE_API_KEY set नहीं है तो क्या होता है?

App OPENAI_API_KEY पर fall back करता है। यह तब ठीक है जब दोनों same service पर point करें, और confusing है जब ना करें; gateway इस्तेमाल करते समय, compatible-prefixed key explicitly set करें।

क्या users एक shared instance पर अपनी gateway keys ला सकते हैं?

हां। Per-request keys environment को override करती हैं, और OPENAI_COMPATIBLE_KEY_PREFIXES तय करता है कि interface कौन से key prefixes accept करे, तो एक shared deployment user-entered gateway keys ले सकती है।

लंबे videos summary length के हिसाब से बताए से ज़्यादा क्यों खर्च करते हैं?

क्योंकि transcript ही input है। एक घंटे की speech input tokens की एक बड़ी संख्या है, जो कई calls में chunk होती है, जबकि summary output छोटा है। Input-token price और long-context handling cost drive करते हैं, और usage log इसे per video दिखाता है।

क्या ये variables hosted bibigpt.co service पर लागू होते हैं?

नहीं। Hosted service अपने models server-side manage करता है। OPENAI_COMPATIBLE_* environment variables उस open-source BibiGPT v1 को configure करते हैं जो आप खुद deploy करते हैं।