BibiGPTs Video-Zusammenfassungen auf einer custom OpenAI-kompatiblen API betreiben.
Updated 2026-07-30
Selbst gehostetes BibiGPT liest OPENAI_COMPATIBLE_BASE_URL, OPENAI_COMPATIBLE_API_KEY und OPENAI_COMPATIBLE_MODEL aus seiner Umgebung. Zeig die Base URL auf https://api.apisrouter.com/v1, und jede Bilibili-, YouTube- oder Podcast-Zusammenfassung läuft über das Gateway, mit chinesischen und globalen Modellen hinter einem Key.
Kurzantwort: drei Umgebungsvariablen.
BibiGPTs Beispiel-Umgebungsdatei dokumentiert die Oberfläche direkt: OPENAI_COMPATIBLE_BASE_URL setzt den Endpoint (Standard https://api.openai.com/v1), OPENAI_COMPATIBLE_API_KEY hält den Key (fällt auf OPENAI_API_KEY zurück, wenn ungesetzt), und OPENAI_COMPATIBLE_MODEL wählt das Standardmodell für Zusammenfassungen. Setz die Base URL auf https://api.apisrouter.com/v1, leg einen Gateway-Key in die Key-Variable, und wähl eine beliebige Katalog-ID als Modell. Die Base URL wird bei Nutzung validiert: sie muss mit http:// oder https:// beginnen, und abschließende Slashes werden entfernt, also passt die /v1-Form oben genau. Unter der Haube baut die App einen Vercel-AI-SDK-openai-compatible-Provider aus diesen Werten und ruft chatModel mit der konfigurierten ID auf, weshalb jedes vom Endpoint bediente Modell ohne Code-Änderungen funktioniert.
# 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-flashWas BibiGPT dem Endpoint sendet.
BibiGPT (JimmyLv auf GitHub, rund 6.000 Stars für die Open-Source-v1) ist ein One-Click-KI-Zusammenfasser für Audio und Video: füg einen Bilibili- oder YouTube-Link ein, einen Podcast, eine Meeting-Aufnahme oder eine lokale Datei, und es holt das Transkript, verdichtet es und lässt dich mit dem Inhalt chatten. Es begann als BiliGPT für Bilibili-Zusammenfassungen und wuchs zu einem zweisprachigen Tool mit einem gehosteten Nachfolger; die hier beschriebene Umgebungskonfiguration gilt für die selbst gehostete Open-Source-Version. Die Workload ist transkriptförmig: lange Inputs, kurze Outputs. Eine Stunde Sprache ist viel Transkript, das die App in modellgroße Stücke zerteilt, bevor sie zusammengefasst wird, also kann ein Video mehrere Chat-Completions-Calls bedeuten, deren Input-Token die von ihnen erzeugte Zusammenfassung bei weitem übertreffen. Der Preis pro Input-Token ist deshalb die ganze Ökonomie, und Long-Context-Modelle reduzieren das Chunking bei langen Vorlesungen und Podcasts. Der Provider-Aufbau löst Werte in einer sinnvollen Kaskade auf: ein Per-Request-Key (für Instanzen, die Nutzer ihre eigenen mitbringen lassen) gewinnt gegen OPENAI_COMPATIBLE_API_KEY, das gegen OPENAI_API_KEY gewinnt; dasselbe gilt für Base URL und Modell. Es gibt sogar eine OPENAI_COMPATIBLE_KEY_PREFIXES-Variable, um von Nutzern eingegebene Keys zu akzeptieren, deren Präfixe nicht sk- sind, was zählt, wenn die Keys deiner Nutzer von einem Gateway statt von OpenAI stammen.
Vollständiges Setup für eine selbst gehostete Instanz.
BibiGPT ist eine Next.js-App, also reist die Umgebung mit, wie auch immer du deployst: eine .env-Datei lokal, Projekt-Umgebungsvariablen auf Vercel, oder Container-Env in Docker. Setz die drei Variablen, deploy neu oder starte neu, und Zusammenfassungen routen über das Gateway. Die Modell-Variable ist der Standard, keine harte Grenze. Requests tragen eine Pro-Video-Config, deren model-Feld, wenn vorhanden, OPENAI_COMPATIBLE_MODEL überschreibt, also kann eine Instanz standardmäßig auf eine Volumen-ID setzen, während bestimmte Flows eine stärkere anfragen. Betreibst du die Instanz für andere und lässt sie ihre eigenen Keys einfügen, setz OPENAI_COMPATIBLE_KEY_PREFIXES so, dass es das Key-Präfix deines Gateways einschließt, damit das Formular sie akzeptiert.
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-Ein Zusammenfassungsmodell wählen, Ost und West.
Der Vergleich lässt sich ehrlich durchführen: dasselbe Video, zwei Modell-IDs, beide Zusammenfassungen gegen das Transkript lesen. Das Nutzungslog pro Key bepreist jeden Kandidaten an echtem Content, und bei Transkript-Workloads ist der Unterschied sofort in der Input-Token-Spalte sichtbar.
- Chinesischer Content ist BibiGPTs Heimspiel: Bilibili-Vorlesungen, Douyin-Clips, chinesische Podcasts. glm-5.2, deepseek-v4-flash und kimi-k2.6 sind auf chinesischen Transkripten nativ stark und sitzen hinter demselben Endpoint wie alles andere.
- Englischer und gemischter Content (YouTube, globale Podcasts) macht sich gut mit claude-haiku-4-5-20251001 und gemini-3.5-flash, beide komfortabel mit langen, verrauschten Transkripten.
- Dieser Split ist das praktische China-plus-global-Argument für ein Gateway: ein Endpoint, ein Key, und der Modell-Override pro Video wählt die richtige Familie pro Content-Quelle, statt einen Vendor für beides zu erzwingen.
- Lange Vorlesungen belohnen langen Context. Weniger Chunks bedeutet weniger Calls und eine kohärentere Zusammenfassung; test eine Long-Context-ID gegen deinen längsten Content, bevor du standardisierst.
- Volumen-Instanzen (ein Team, das alles zusammenfasst, was es schaut) sollten auf deepseek-v4-flash defaulten und selektiv eskalieren; die input-lastige Form lässt Fast-Tier-Preise sich aufsummieren.
Nutzungsbasiert · unter offiziellem Preis
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Modell | Offizieller Preis | Unser Preis |
|---|---|---|
| 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 |
Fehlerbilder speziell für BibiGPT.
Die Fallback-Kette kann überraschen. Ist OPENAI_COMPATIBLE_API_KEY leer, fällt die App still auf OPENAI_API_KEY zurück. Das ist praktisch, bis die beiden auf unterschiedliche Dienste zeigen: eine Gateway-Base-URL mit einem OpenAI-Key erzeugt Authentifizierungsfehler, die wie Gateway-Probleme aussehen. Ändert sich das Routing, setz das compatible-präfixierte Paar zusammen und lass keinen veralteten OPENAI_API_KEY anderswohin zeigen, oder stell sicher, dass er denselben Gateway-Key hält. Der Base-URL-Validator lehnt Werte ohne Schema ab, also scheitert ein nackter Host schnell mit einem klaren Fehler; schließ https:// und den /v1-Pfad ein. Abschließende Slashes werden entfernt, also funktionieren beide Formen dort. Modell-IDs sind exakte Strings gegen die /v1/models-Liste des Endpoints; ein Tippfehler in OPENAI_COMPATIBLE_MODEL lässt die erste Zusammenfassung mit model-not-found scheitern. Denk auch an den Pro-Video-Override: bleibt ein Flow bei einem alten Modell, übergibt etwas ein explizites model in der Request-Config. Transkript-Abruf ist separate Verrohrung. Liefert ein Video keine Zusammenfassung, weil Untertitel oder Audio nicht abgerufen werden konnten, ist das die Content-Pipeline (Plattform-APIs, Untertitel-Verfügbarkeit), nicht der LLM-Endpoint. Die Env-Vars in diesem Guide bewegen nur die Zusammenfassungs-Calls. Und beachte, dass der gehostete bibigpt.co-Dienst seine eigenen Modelle verwaltet; diese Variablen konfigurieren die selbst gehostete v1, die du selbst deployst.
Wer BibiGPT über ein Gateway routet.
- Zweisprachige Zuschauer, die sowohl Bilibili als auch YouTube zusammenfassen und chinesisch-starke IDs mit globalen hinter einem Key paaren statt einem Vendor pro Sprache.
- Self-Hoster in China-nahen Setups, wo ein einzelner OpenAI-kompatibler Endpoint, der auch GLM, DeepSeek und Kimi bedient, das Multi-Vendor-Billing-Problem komplett entfernt.
- Teams, die einen geteilten Zusammenfasser für Meetings und Vorlesungen betreiben, Nutzung pro Key messen und standardmäßig auf Volumen-Tier-IDs setzen.
- Heavy Podcast-Hörer, wo Stunden an Transkript pro Woche die Input-Token-Preisgestaltung zur ganzen Kostengeschichte machen.
- Entwickler ohne Zugang zum Billing eines bestimmten Vendors. Guthabenbasierter Zugang ohne Kartenpflicht entfernt die Sign-up-Abhängigkeit pro Provider.
Endpoint verifizieren und die erste Zusammenfassung debuggen.
Liste die Modelle, die dein Key adressieren kann, und bestätige, dass die ID in OPENAI_COMPATIBLE_MODEL darunter ist; diese eine Prüfung verhindert die meisten First-Run-Fehler. Fass dann etwas Kurzes zusammen. Ein Authentifizierungsfehler bedeutet, der aufgelöste Key passt nicht zur Base URL, und angesichts der Fallback-Kette, druck aus, welche Variable den Key tatsächlich lieferte, bevor du irgendetwas annimmst. Model-not-found ist ein ID-Tippfehler. Ein Schema-Fehler beim Start ist eine Base URL ohne https://. Eine Zusammenfassung, die trotz gesundem Endpoint nie startet, ist der Transkript-Abruf, der vor jedem LLM-Call scheitert. Sobald Zusammenfassungen fließen, zeigt die APIsRouter-Konsole Modell, Token-Zahlen und Ausgaben pro Anfrage. Transkript-Zusammenfassung ist die klarste input-lastige Workload, die es gibt, und eine Woche Nutzungsdaten sagt dir die echten Kosten pro Stunde Content für jedes Modell, die Zahl, die es wert ist, optimiert zu werden.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Häufige Fragen
Unterstützt BibiGPT eine custom OpenAI-kompatible Base URL?
Ja. Die selbst gehostete v1 dokumentiert OPENAI_COMPATIBLE_BASE_URL, OPENAI_COMPATIBLE_API_KEY und OPENAI_COMPATIBLE_MODEL in ihrer Beispiel-Umgebungsdatei und baut ihren AI-SDK-Provider daraus. Setz die Base URL auf den Gateway-Endpoint inklusive /v1.
Kann BibiGPT mit GLM-, DeepSeek-, Kimi- oder Claude-Modellen zusammenfassen?
Ja. Die konfigurierte Modell-ID wird als reiner String an den Endpoint übergeben, also funktioniert jede Katalog-ID: glm-5.2 und kimi-k2.6 für chinesischen Content, claude-haiku-4-5-20251001 oder gemini-3.5-flash für globalen Content, alle auf einem Key.
Was passiert, wenn OPENAI_COMPATIBLE_API_KEY nicht gesetzt ist?
Die App fällt auf OPENAI_API_KEY zurück. Das ist in Ordnung, wenn beide auf denselben Dienst zeigen, und verwirrend, wenn nicht; nutzt du ein Gateway, setz den compatible-präfixierten Key explizit.
Können Nutzer auf einer geteilten Instanz eigene Gateway-Keys mitbringen?
Ja. Per-Request-Keys überschreiben die Umgebung, und OPENAI_COMPATIBLE_KEY_PREFIXES steuert, welche Key-Präfixe die Oberfläche akzeptiert, sodass ein geteiltes Deployment von Nutzern eingegebene Gateway-Keys annehmen kann.
Warum kosten lange Videos mehr, als die Zusammenfassungslänge vermuten lässt?
Weil das Transkript der Input ist. Eine Stunde Sprache ist eine große Zahl an Input-Token, aufgeteilt in mehrere Calls, während der Zusammenfassungs-Output klein ist. Der Preis pro Input-Token und Long-Context-Handling treiben die Kosten, und das Nutzungslog zeigt sie pro Video.
Gelten diese Variablen auch für den gehosteten bibigpt.co-Dienst?
Nein. Der gehostete Dienst verwaltet seine eigenen Modelle serverseitig. Die OPENAI_COMPATIBLE_*-Umgebungsvariablen konfigurieren die Open-Source-BibiGPT-v1, die du selbst deployst.