Faites tourner les résumés vidéo de BibiGPT sur une API compatible OpenAI personnalisée.
Updated 2026-07-30
BibiGPT auto-hébergé lit OPENAI_COMPATIBLE_BASE_URL, OPENAI_COMPATIBLE_API_KEY et OPENAI_COMPATIBLE_MODEL depuis son environnement. Pointez l'URL de base vers https://api.apisrouter.com/v1 et chaque résumé Bilibili, YouTube ou podcast tourne via la passerelle, avec des modèles chinois et globaux derrière une seule clé.
Réponse rapide : trois variables d'environnement.
Le fichier d'environnement exemple de BibiGPT documente directement la surface : OPENAI_COMPATIBLE_BASE_URL règle l'endpoint (défaut https://api.openai.com/v1), OPENAI_COMPATIBLE_API_KEY contient la clé (avec repli sur OPENAI_API_KEY si non définie), et OPENAI_COMPATIBLE_MODEL choisit le modèle par défaut pour les résumés. Réglez l'URL de base sur https://api.apisrouter.com/v1, mettez une clé de passerelle dans la variable de clé, et choisissez n'importe quel id du catalogue comme modèle. L'URL de base est validée à l'usage : elle doit commencer par http:// ou https://, et les barres obliques finales sont retirées, donc la forme /v1 ci-dessus est exactement correcte. Sous le capot, l'app construit un fournisseur openai-compatible du Vercel AI SDK à partir de ces valeurs et appelle chatModel avec l'id configuré, ce pourquoi tout modèle que sert l'endpoint fonctionne sans changement de code.
# 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-flashCe que BibiGPT envoie à l'endpoint.
BibiGPT (JimmyLv sur GitHub, environ 6 000 étoiles pour la v1 open source) est un résumeur IA en un clic pour l'audio et la vidéo : collez un lien Bilibili ou YouTube, un podcast, un enregistrement de réunion, ou un fichier local, et il récupère la transcription, la condense, et vous laisse discuter avec le contenu. Il a commencé comme BiliGPT pour les résumés Bilibili et a grandi en un outil bilingue avec un successeur hébergé ; la configuration d'environnement décrite ici s'applique à la version open source auto-hébergée. La charge de travail a la forme d'une transcription : de longues entrées, de courtes sorties. Une heure de parole représente beaucoup de transcription, que l'app découpe en morceaux de la taille du modèle avant de résumer, donc une vidéo peut signifier plusieurs appels chat-completions dont les tokens d'entrée éclipsent le résumé qu'ils produisent. Le prix par token d'entrée est donc toute l'économie, et les modèles à long contexte réduisent le découpage pour les longues conférences et podcasts. La construction du fournisseur résout les valeurs selon une cascade sensée : une clé par requête (pour les instances qui laissent les utilisateurs apporter la leur) l'emporte sur OPENAI_COMPATIBLE_API_KEY, qui l'emporte sur OPENAI_API_KEY ; la même chose s'applique à l'URL de base et au modèle. Il existe même une variable OPENAI_COMPATIBLE_KEY_PREFIXES pour accepter des clés saisies par l'utilisateur dont les préfixes ne sont pas sk-, ce qui compte quand les clés que détiennent vos utilisateurs viennent d'une passerelle plutôt que d'OpenAI.
Configuration complète pour une instance auto-hébergée.
BibiGPT est une app Next.js, donc l'environnement voyage selon la façon dont vous déployez : un fichier .env en local, des variables d'environnement de projet sur Vercel, ou un environnement de conteneur dans Docker. Réglez les trois variables, redéployez ou redémarrez, et les résumés routent via la passerelle. La variable de modèle est le défaut, pas une limite dure. Les requêtes portent une config par vidéo dont le champ model, quand présent, surcharge OPENAI_COMPATIBLE_MODEL, donc une instance peut avoir un id de volume par défaut tandis que des flux spécifiques demandent un id plus puissant. Si vous faites tourner l'instance pour d'autres et les laissez coller leurs propres clés, réglez OPENAI_COMPATIBLE_KEY_PREFIXES pour inclure le préfixe de clé de votre passerelle afin que le formulaire les accepte.
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-Choisir un modèle de résumé, Est et Ouest.
La comparaison est facile à mener honnêtement : même vidéo, deux ids de modèle, lisez les deux résumés contre la transcription. Le journal d'usage par clé chiffre chaque candidat sur du contenu réel, et pour les charges de transcription, la différence est visible immédiatement dans la colonne des tokens d'entrée.
- Le contenu chinois est le terrain de prédilection de BibiGPT : conférences Bilibili, clips Douyin, podcasts chinois. glm-5.2, deepseek-v4-flash et kimi-k2.6 sont nativement forts sur les transcriptions chinoises et se trouvent derrière le même endpoint que tout le reste.
- Le contenu anglais et mixte (YouTube, podcasts globaux) se débrouille bien avec claude-haiku-4-5-20251001 et gemini-3.5-flash, tous deux à l'aise avec de longues transcriptions bruyantes.
- Cette scission est l'argument pratique Chine-plus-global pour une passerelle : un seul endpoint, une seule clé, et la surcharge de modèle par vidéo choisit la bonne famille selon la source de contenu au lieu d'imposer un seul fournisseur pour les deux.
- Les longues conférences récompensent le long contexte. Moins de morceaux signifie moins d'appels et un résumé plus cohérent ; testez un id à long contexte contre votre contenu le plus long avant de standardiser.
- Les instances de volume (une équipe qui résume tout ce qu'elle regarde) devraient avoir deepseek-v4-flash par défaut et escalader sélectivement ; la forme lourde en entrée fait que le tarif de niveau rapide se cumule.
Paiement à l'usage · en dessous du tarif officiel
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Modèle | Prix officiel | Notre prix |
|---|---|---|
| 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 |
Modes d'échec spécifiques à BibiGPT.
La chaîne de repli peut vous surprendre. Si OPENAI_COMPATIBLE_API_KEY est vide, l'app retombe silencieusement sur OPENAI_API_KEY. C'est pratique jusqu'à ce que les deux pointent vers des services différents : une URL de base de passerelle avec une clé OpenAI produit des erreurs d'authentification qui ressemblent à des problèmes de passerelle. Quand le routage change, réglez la paire à préfixe compatible ensemble et ne laissez aucun OPENAI_API_KEY périmé pointer ailleurs, ou assurez-vous qu'il contient la même clé de passerelle. Le validateur d'URL de base rejette les valeurs sans schéma, donc un hôte nu échoue rapidement avec une erreur claire ; incluez https:// et le chemin /v1. Les barres obliques finales sont normalisées, donc les deux formes fonctionnent là. Les ids de modèle sont des chaînes exactes par rapport au listing /v1/models de l'endpoint ; une faute de frappe dans OPENAI_COMPATIBLE_MODEL fait échouer le premier résumé avec model-not-found. Souvenez-vous aussi de la surcharge par vidéo : si un flux continue d'utiliser un ancien modèle, quelque chose passe un model explicite dans la config de requête. La récupération de la transcription est une plomberie séparée. Si une vidéo ne produit aucun résumé parce que les sous-titres ou l'audio n'ont pas pu être récupérés, c'est le pipeline de contenu (API de plateforme, disponibilité des sous-titres), pas l'endpoint LLM. Les variables d'environnement de ce guide ne déplacent que les appels de résumé. Et notez que le service hébergé bibigpt.co gère ses propres modèles ; ces variables configurent la v1 open source que vous déployez vous-même.
Qui route BibiGPT via une passerelle.
- Les spectateurs bilingues qui résument à la fois Bilibili et YouTube, associant des ids forts en chinois à des ids globaux derrière une seule clé au lieu d'un fournisseur par langue.
- Les auto-hébergeurs dans des configurations proches de la Chine où un seul endpoint compatible OpenAI qui sert aussi GLM, DeepSeek et Kimi supprime entièrement le problème de facturation multi-fournisseurs.
- Les équipes qui font tourner un résumeur partagé pour les réunions et les conférences, mesurant l'usage par clé et ayant par défaut des ids de niveau volume.
- Les auditeurs assidus de podcasts, où des heures de transcription par semaine font du tarif des tokens d'entrée toute l'histoire du coût.
- Les développeurs sans accès à la facturation d'un fournisseur donné. Un accès basé sur la recharge, sans exigence de carte, supprime la dépendance à une inscription par fournisseur.
Vérifiez l'endpoint et déboguez le premier résumé.
Listez les modèles que votre clé peut adresser et confirmez que l'id dans OPENAI_COMPATIBLE_MODEL en fait partie ; cette seule vérification évite la plupart des échecs au premier lancement. Résumez ensuite quelque chose de court. Une erreur d'authentification signifie que la clé résolue ne correspond pas à l'URL de base, et vu la chaîne de repli, affichez quelle variable a réellement fourni la clé avant de supposer. Model-not-found est une faute de frappe dans l'id. Une erreur de schéma au démarrage est une URL de base sans https://. Un résumé qui ne démarre jamais malgré un endpoint sain vient de l'échec de récupération de la transcription en amont de tout appel LLM. Une fois que les résumés circulent, la console APIsRouter affiche le modèle par requête, le nombre de tokens et la dépense. Le résumé de transcription est la charge de travail la plus clairement lourde en entrée qui soit, et une semaine de données d'usage vous indique le coût réel par heure de contenu pour chaque modèle, le chiffre qui vaut la peine d'être optimisé.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Questions fréquentes
BibiGPT prend-il en charge une URL de base compatible OpenAI personnalisée ?
Oui. La v1 auto-hébergée documente OPENAI_COMPATIBLE_BASE_URL, OPENAI_COMPATIBLE_API_KEY et OPENAI_COMPATIBLE_MODEL dans son fichier d'environnement exemple, et construit son fournisseur AI SDK à partir d'elles. Réglez l'URL de base sur l'endpoint de la passerelle en incluant /v1.
BibiGPT peut-il résumer avec des modèles GLM, DeepSeek, Kimi ou Claude ?
Oui. L'id de modèle configuré est passé à l'endpoint comme une simple chaîne, donc tout id du catalogue fonctionne : glm-5.2 et kimi-k2.6 pour le contenu chinois, claude-haiku-4-5-20251001 ou gemini-3.5-flash pour le contenu global, tous sur une seule clé.
Que se passe-t-il si OPENAI_COMPATIBLE_API_KEY n'est pas définie ?
L'app retombe sur OPENAI_API_KEY. C'est bien quand les deux pointent vers le même service, et déroutant quand ce n'est pas le cas ; en utilisant une passerelle, réglez explicitement la clé à préfixe compatible.
Les utilisateurs peuvent-ils apporter leurs propres clés de passerelle sur une instance partagée ?
Oui. Les clés par requête surchargent l'environnement, et OPENAI_COMPATIBLE_KEY_PREFIXES contrôle quels préfixes de clé l'interface accepte, donc un déploiement partagé peut prendre des clés de passerelle saisies par l'utilisateur.
Pourquoi les longues vidéos coûtent-elles plus que ce que suggère la longueur du résumé ?
Parce que la transcription est l'entrée. Une heure de parole représente un grand nombre de tokens d'entrée, découpés en plusieurs appels, tandis que le résumé en sortie est petit. Le prix des tokens d'entrée et la gestion du long contexte déterminent le coût, et le journal d'usage le montre par vidéo.
Ces variables s'appliquent-elles au service hébergé bibigpt.co ?
Non. Le service hébergé gère ses propres modèles côté serveur. Les variables d'environnement OPENAI_COMPATIBLE_* configurent la v1 open source de BibiGPT que vous déployez vous-même.