BibiGPT の動画要約を、カスタムの OpenAI 互換 API で動かす。

Updated 2026-07-30

セルフホストの BibiGPT は、環境変数から OPENAI_COMPATIBLE_BASE_URL、OPENAI_COMPATIBLE_API_KEY、OPENAI_COMPATIBLE_MODEL を読み込みます。ベース URL を https://api.apisrouter.com/v1 に向ければ、Bilibili・YouTube・ポッドキャストのすべての要約がゲートウェイ経由で動き、中国語とグローバルのモデルがキー1つの裏に揃います。

早わかり: 3つの環境変数。

BibiGPT のサンプル環境ファイルは、この表面を直接ドキュメント化しています。OPENAI_COMPATIBLE_BASE_URL がエンドポイントを設定し(デフォルトは https://api.openai.com/v1)、OPENAI_COMPATIBLE_API_KEY がキーを保持し(未設定なら OPENAI_API_KEY にフォールバック)、OPENAI_COMPATIBLE_MODEL が要約のデフォルトモデルを選びます。ベース URL を https://api.apisrouter.com/v1 に設定し、キー変数にゲートウェイのキーを入れ、モデルとして任意のカタログ id を選んでください。 ベース URL は使用時に検証されます。http:// か https:// で始まっていなければならず、末尾のスラッシュは取り除かれるため、上記の /v1 の形はまさに正しいものです。内部では、アプリはこれらの値から Vercel AI SDK の openai-compatible プロバイダーを構築し、設定された id で chatModel を呼び出します。これが、コードを変更することなく、エンドポイントが提供するどのモデルでも動作する理由です。

# 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 がエンドポイントに送るもの。

BibiGPT(GitHub 上では JimmyLv、オープンソース版 v1 でスター数はおよそ6K)は、音声と動画のためのワンクリック AI 要約ツールです。Bilibili や YouTube のリンク、ポッドキャスト、会議の録音、あるいはローカルファイルを貼り付けると、文字起こしを取得し、それを凝縮し、コンテンツとチャットできるようにします。もともと Bilibili の要約向けの BiliGPT として始まり、ホスト型の後継サービスを持つバイリンガルなツールへと成長しました。ここで説明する環境設定は、セルフホストのオープンソース版に適用されます。 このワークロードは文字起こし形状です。長い入力、短い出力。1時間の音声は膨大な量の文字起こしになり、アプリは要約する前にそれをモデルサイズの断片にチャンク分割するため、1本の動画が複数のチャット補完呼び出しを意味することがあり、その入力トークンは生成される要約をはるかに上回ります。したがって入力トークン単価がまさに経済性のすべてであり、長文脈対応モデルは、長い講義やポッドキャストでのチャンク分割を減らします。 プロバイダーの構築は、理にかなったカスケードで値を解決します。リクエストごとのキー(ユーザーが自分のキーを持ち込めるインスタンス向け)は OPENAI_COMPATIBLE_API_KEY に優先し、それは OPENAI_API_KEY に優先します。ベース URL とモデルについても同様です。ユーザーが入力したキーのプレフィックスが sk- でない場合にそれを受け付けるための OPENAI_COMPATIBLE_KEY_PREFIXES という変数さえ存在します。これは、あなたのユーザーが持つキーが OpenAI ではなくゲートウェイ由来である場合に重要になります。

セルフホストインスタンスのフルセットアップ。

BibiGPT は Next.js アプリなので、環境変数はデプロイ方法に応じて移動します。ローカルでは .env ファイル、Vercel ではプロジェクトの環境変数、Docker ではコンテナの環境変数です。3つの変数を設定し、再デプロイまたは再起動すれば、要約はゲートウェイ経由でルーティングされます。 モデルの変数はデフォルトであって、厳密な上限ではありません。リクエストは動画ごとの設定を運び、その model フィールドが存在する場合は OPENAI_COMPATIBLE_MODEL を上書きするため、インスタンスはボリューム向けの id をデフォルトにしつつ、特定のフローだけがより強力な id をリクエストできます。他者のためにインスタンスを運用し、自分のキーを貼り付けさせている場合は、OPENAI_COMPATIBLE_KEY_PREFIXES にあなたのゲートウェイのキーのプレフィックスを含めて、フォームがそれを受け付けられるようにしてください。

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-

要約モデルを選ぶ、東と西で。

比較は誠実に実行しやすいものです。同じ動画、2つのモデル id、両方の要約を文字起こしに照らして読む。キーごとの利用ログが、実際のコンテンツに対して各候補の価格を示し、文字起こしワークロードでは、入力トークンの列にその差がすぐに現れます。

  • 中国語コンテンツは BibiGPT の本拠地です。Bilibili の講義、Douyin のクリップ、中国語のポッドキャスト。glm-5.2、deepseek-v4-flash、kimi-k2.6 は中国語の文字起こしに対してネイティブに強く、他のすべてと同じエンドポイントの裏に置けます。
  • 英語や混在コンテンツ(YouTube、グローバルなポッドキャスト)には claude-haiku-4-5-20251001 と gemini-3.5-flash がよく機能し、どちらも長くノイズの多い文字起こしを問題なく扱います。
  • この使い分けこそが、ゲートウェイに対する実践的な中国・グローバル両対応の論拠です。1つのエンドポイント、1つのキー、そして動画ごとのモデル上書きが、両方のベンダーに1つを強制するのではなく、コンテンツの出所に応じて適切なファミリーを選びます。
  • 長い講義は長文脈の恩恵を受けます。チャンクが少ないほど呼び出しも少なく、要約の一貫性も高まります。最も長いコンテンツに対して長文脈対応の id をテストしてから標準化してください。
  • ボリューム型のインスタンス(視聴したものすべてを要約するチーム)は deepseek-v4-flash をデフォルトにし、選択的にエスカレーションすべきです。入力偏重の形が、速いティアの価格を積み重ねます。

従量課金 · 公式価格より安い

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 に特有の失敗パターン。

フォールバックの連鎖が驚きの元になり得ます。OPENAI_COMPATIBLE_API_KEY が空の場合、アプリは静かに OPENAI_API_KEY にフォールバックします。それは両者が同じサービスを指している間は便利ですが、指し先が異なると混乱の元になります。ゲートウェイのベース URL に OpenAI のキーが組み合わさると、ゲートウェイの問題のように見える認証エラーが発生します。ルーティングを変更する際は、compatible が付く方のペアを一緒に設定し、別のどこかを指す古い OPENAI_API_KEY を残さないか、それが同じゲートウェイのキーを保持していることを確認してください。 ベース URL のバリデーターは、スキームのない値を拒否するため、裸のホストは明確なエラーで即座に失敗します。https:// と /v1 のパスを含めてください。末尾のスラッシュは正規化されて取り除かれるため、どちらの形でも動作します。 モデル id は、エンドポイントの /v1/models 一覧に対する正確な文字列です。OPENAI_COMPATIBLE_MODEL のタイプミスは、最初の要約で model-not-found として失敗します。動画ごとの上書きも忘れないでください。あるフローがずっと古いモデルを使い続けている場合、何かがリクエスト設定に明示的な model を渡しています。 文字起こしの取得は別の配管です。字幕や音声が取得できずに動画が要約を生成しない場合、それはコンテンツパイプライン(プラットフォーム API、字幕の有無)の問題であり、LLM エンドポイントの問題ではありません。このガイドの環境変数は、要約の呼び出しだけを移動させます。そして、ホスト型の bibigpt.co サービスは独自のモデルを管理していることに注意してください。これらの変数は、自分でデプロイするオープンソースの v1 を設定するものです。

ゲートウェイ経由で BibiGPT を使うのは誰か。

  • Bilibili と YouTube の両方を要約するバイリンガルな視聴者で、中国語に強い id とグローバルな id を、言語ごとに1ベンダーではなくキー1つの裏でペアにする人。
  • 中国に近いセットアップのセルフホスターで、GLM・DeepSeek・Kimi も提供する単一の OpenAI 互換エンドポイントが、マルチベンダーの請求問題を完全に取り除いてくれる場合。
  • 会議や講義向けの共有要約ツールを運用するチームで、キーごとに利用状況を計測し、ボリュームティアの id をデフォルトにする人。
  • ヘビーなポッドキャストリスナーで、週に何時間分もの文字起こしがあるため、入力トークンの価格がコストのすべてを物語る人。
  • 特定ベンダーの請求手段にアクセスできない開発者。チャージ制でカード不要のアクセスなら、プロバイダーごとのサインアップという依存を取り除けます。

エンドポイントを検証し、最初の要約をデバッグする。

あなたのキーがアドレスできるモデルを一覧し、OPENAI_COMPATIBLE_MODEL に入れた id がその中にあることを確認してください。この1回の確認だけで、初回実行の失敗の大半を防げます。 次に、何か短いものを要約してみてください。認証エラーは、解決されたキーがベース URL と一致していないことを意味します。フォールバックの連鎖があるため、キーを実際に供給した変数がどれかを、思い込む前に出力してみてください。model-not-found は id のタイプミスです。起動時のスキームエラーは、ベース URL に https:// が欠けていることを意味します。健全なエンドポイントであるにもかかわらず一向に始まらない要約は、どの LLM 呼び出しよりも上流で文字起こしの取得が失敗しています。 要約が流れ始めたら、APIsRouter コンソールがリクエストごとのモデル、トークン数、支出を表示します。文字起こしの要約は、これ以上ないほど明確な入力偏重ワークロードであり、1週間の利用データが、最適化する価値のある数字である、コンテンツ1時間あたりの各モデルの実際のコストを教えてくれます。

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

よくある質問

BibiGPT はカスタムの OpenAI 互換ベース URL に対応していますか?

はい。セルフホストの v1 は、サンプル環境ファイルの中で OPENAI_COMPATIBLE_BASE_URL、OPENAI_COMPATIBLE_API_KEY、OPENAI_COMPATIBLE_MODEL をドキュメント化しており、そこから AI SDK のプロバイダーを構築します。ベース URL を、/v1 を含むゲートウェイのエンドポイントに設定してください。

BibiGPT は GLM・DeepSeek・Kimi・Claude で要約できますか?

はい。設定されたモデル id はそのままの文字列としてエンドポイントに渡されるため、どのカタログ id でも動作します。中国語コンテンツには glm-5.2 と kimi-k2.6、グローバルなコンテンツには claude-haiku-4-5-20251001 や gemini-3.5-flash を、すべて1つのキーで使えます。

OPENAI_COMPATIBLE_API_KEY が設定されていない場合はどうなりますか?

アプリは OPENAI_API_KEY にフォールバックします。両者が同じサービスを指していれば問題ありませんが、指していない場合は混乱の元になります。ゲートウェイを使う場合は、compatible が付く方のキーを明示的に設定してください。

共有インスタンスで、ユーザーが自分のゲートウェイキーを持ち込めますか?

はい。リクエストごとのキーが環境変数を上書きし、OPENAI_COMPATIBLE_KEY_PREFIXES がインターフェースがどのキーのプレフィックスを受け付けるかを制御するため、共有デプロイでもユーザーが入力したゲートウェイキーを受け付けられます。

長い動画が、要約の長さから想像するより高くつくのはなぜですか?

文字起こしが入力になるからです。1時間の音声は大量の入力トークンであり、複数の呼び出しにチャンク分割される一方、要約の出力は小さいままです。入力トークンの価格と長文脈対応がコストを左右し、利用ログが動画ごとにそれを示します。

これらの変数はホスト型の bibigpt.co サービスにも当てはまりますか?

いいえ。ホスト型サービスは独自のモデルをサーバー側で管理しています。OPENAI_COMPATIBLE_* の環境変数は、自分でデプロイするオープンソースの BibiGPT v1 を設定するものです。