Chạy các bản tóm tắt video của BibiGPT trên một API tương thích OpenAI tùy chỉnh.

Updated 2026-07-30

BibiGPT tự host đọc OPENAI_COMPATIBLE_BASE_URL, OPENAI_COMPATIBLE_API_KEY, và OPENAI_COMPATIBLE_MODEL từ môi trường của nó. Trỏ base URL vào https://api.apisrouter.com/v1 và mọi bản tóm tắt Bilibili, YouTube, hoặc podcast chạy qua gateway, với model Trung Quốc và toàn cầu đằng sau một key.

Câu trả lời nhanh: ba biến môi trường.

File môi trường mẫu của BibiGPT ghi rõ bề mặt cấu hình: OPENAI_COMPATIBLE_BASE_URL đặt endpoint (mặc định https://api.openai.com/v1), OPENAI_COMPATIBLE_API_KEY giữ key (rơi về OPENAI_API_KEY khi chưa đặt), và OPENAI_COMPATIBLE_MODEL chọn model mặc định cho các bản tóm tắt. Đặt base URL thành https://api.apisrouter.com/v1, đưa một key gateway vào biến key, và chọn bất kỳ id catalog nào làm model. Base URL được xác thực khi dùng: nó phải bắt đầu bằng http:// hoặc https://, và dấu gạch chéo cuối bị cắt bỏ, nên dạng /v1 ở trên là chính xác. Bên dưới, app xây một provider openai-compatible của Vercel AI SDK từ các giá trị này và gọi chatModel với id đã cấu hình, đây là lý do bất kỳ model nào endpoint phục vụ đều hoạt động mà không cần đổi 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-flash

BibiGPT gửi gì tới endpoint.

BibiGPT (JimmyLv trên GitHub, khoảng 6K star cho bản mã nguồn mở v1) là một công cụ tóm tắt AI một cú nhấp cho âm thanh và video: dán một link Bilibili hoặc YouTube, một podcast, một bản ghi cuộc họp, hoặc một file cục bộ, và nó lấy transcript, cô đọng nó, và cho phép bạn chat với nội dung. Nó bắt đầu như BiliGPT cho các bản tóm tắt Bilibili và lớn lên thành một công cụ song ngữ với một phiên bản kế thừa được lưu trữ; cấu hình môi trường mô tả ở đây áp dụng cho phiên bản mã nguồn mở tự host. Khối lượng công việc có hình dạng transcript: đầu vào dài, đầu ra ngắn. Một giờ nói là rất nhiều transcript, thứ app cắt thành các mẩu cỡ model trước khi tóm tắt, nên một video có thể nghĩa là nhiều lệnh gọi chat-completions với token đầu vào áp đảo bản tóm tắt chúng tạo ra. Giá theo token đầu vào do đó là toàn bộ bài toán kinh tế, và các model long-context giảm việc cắt mẩu cho các bài giảng và podcast dài. Việc xây provider giải quyết các giá trị theo một tầng hợp lý: một key theo từng request (cho các instance cho phép người dùng mang key riêng) thắng OPENAI_COMPATIBLE_API_KEY, thứ thắng OPENAI_API_KEY; điều tương tự áp dụng cho base URL và model. Thậm chí có một biến OPENAI_COMPATIBLE_KEY_PREFIXES để chấp nhận các key người dùng nhập mà tiền tố không phải sk-, điều này quan trọng khi các key người dùng của bạn nắm giữ đến từ một gateway thay vì OpenAI.

Cài đặt đầy đủ cho một instance tự host.

BibiGPT là một app Next.js, nên môi trường di chuyển theo cách bạn triển khai: một file .env cục bộ, biến môi trường project trên Vercel, hoặc môi trường container trong Docker. Đặt ba biến, triển khai lại hoặc khởi động lại, và các bản tóm tắt định tuyến qua gateway. Biến model là giá trị mặc định, không phải giới hạn cứng. Request mang một cấu hình theo từng video mà trường model của nó, khi có mặt, ghi đè OPENAI_COMPATIBLE_MODEL, nên một instance có thể mặc định về một id khối lượng trong khi các luồng cụ thể yêu cầu một id mạnh hơn. Nếu bạn chạy instance cho người khác và để họ dán key riêng, đặt OPENAI_COMPATIBLE_KEY_PREFIXES để bao gồm tiền tố key gateway của bạn để form chấp nhận chúng.

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-

Chọn model tóm tắt, Đông và Tây.

So sánh dễ chạy trung thực: cùng một video, hai id model, đọc cả hai bản tóm tắt đối chiếu với transcript. Log sử dụng theo từng key định giá mỗi ứng viên trên nội dung thực, và với các khối lượng công việc transcript, sự khác biệt hiện rõ ngay trong cột token đầu vào.

  • Nội dung tiếng Trung là sân nhà của BibiGPT: bài giảng Bilibili, clip Douyin, podcast tiếng Trung. glm-5.2, deepseek-v4-flash, và kimi-k2.6 mạnh một cách tự nhiên trên transcript tiếng Trung và nằm sau cùng endpoint như mọi thứ khác.
  • Nội dung tiếng Anh và pha trộn (YouTube, podcast toàn cầu) hoạt động tốt trên claude-haiku-4-5-20251001 và gemini-3.5-flash, cả hai đều thoải mái với transcript dài nhiều nhiễu.
  • Sự phân chia này là luận điểm thực tế cho Trung Quốc-cộng-toàn cầu của một gateway: một endpoint, một key, và việc ghi đè model theo từng video chọn đúng họ model cho từng nguồn nội dung thay vì ép buộc một vendor cho cả hai.
  • Các bài giảng dài được thưởng bởi long context. Ít mẩu hơn nghĩa là ít lệnh gọi hơn và một bản tóm tắt mạch lạc hơn; hãy thử một id long-context trên nội dung dài nhất của bạn trước khi chuẩn hóa.
  • Các instance khối lượng lớn (một đội tóm tắt mọi thứ họ xem) nên mặc định về deepseek-v4-flash và nâng cấp có chọn lọc; hình dạng nặng-đầu-vào khiến giá tầng nhanh cộng dồn.

Trả theo mức sử dụng · thấp hơn giá chính thức

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

Mô hìnhGiá chính thứcGiá của chúng tôi
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

Các kiểu lỗi đặc thù của BibiGPT.

Chuỗi fallback có thể gây bất ngờ. Nếu OPENAI_COMPATIBLE_API_KEY trống, app âm thầm rơi về OPENAI_API_KEY. Điều đó tiện lợi cho tới khi hai biến trỏ tới các dịch vụ khác nhau: một base URL gateway với một key OpenAI tạo ra lỗi xác thực trông như vấn đề gateway. Khi định tuyến thay đổi, đặt cặp biến tiền tố-compatible cùng nhau và không để một OPENAI_API_KEY cũ trỏ đi nơi khác, hoặc đảm bảo nó giữ cùng key gateway. Bộ xác thực base URL từ chối các giá trị không có scheme, nên một host trần thất bại nhanh với một lỗi rõ ràng; hãy bao gồm https:// và đường dẫn /v1. Dấu gạch chéo cuối bị chuẩn hóa loại bỏ, nên cả hai dạng đều hoạt động ở đó. Id model là các chuỗi chính xác đối chiếu với danh sách /v1/models của endpoint; một lỗi gõ sai trong OPENAI_COMPATIBLE_MODEL khiến bản tóm tắt đầu tiên thất bại với model-not-found. Nhớ cả việc ghi đè theo từng video: nếu một luồng cứ dùng một model cũ, có gì đó đang truyền một model tường minh trong cấu hình request. Việc lấy transcript là hệ thống ống dẫn riêng biệt. Nếu một video không cho ra bản tóm tắt vì phụ đề hoặc âm thanh không lấy được, đó là pipeline nội dung (API nền tảng, tình trạng phụ đề), không phải endpoint LLM. Các biến môi trường trong hướng dẫn này chỉ di chuyển các lệnh gọi tóm tắt. Và lưu ý dịch vụ được lưu trữ bibigpt.co quản lý model riêng của nó; các biến này cấu hình phiên bản mã nguồn mở v1 mà bạn tự triển khai.

Ai định tuyến BibiGPT qua một gateway.

  • Người xem song ngữ tóm tắt cả Bilibili lẫn YouTube, ghép id mạnh tiếng Trung với id toàn cầu sau một key thay vì một vendor cho mỗi ngôn ngữ.
  • Người tự host trong các thiết lập gần Trung Quốc nơi một endpoint tương thích OpenAI duy nhất cũng phục vụ GLM, DeepSeek, và Kimi loại bỏ hoàn toàn vấn đề billing đa vendor.
  • Đội chạy một bộ tóm tắt chia sẻ cho các cuộc họp và bài giảng, đo lường sử dụng theo từng key và mặc định về các id tầng khối lượng.
  • Người nghe podcast nặng, nơi hàng giờ transcript mỗi tuần khiến giá token đầu vào là toàn bộ câu chuyện chi phí.
  • Lập trình viên không có quyền truy cập billing của một vendor cụ thể. Truy cập dựa trên nạp tiền không yêu cầu thẻ loại bỏ phụ thuộc đăng ký theo từng provider.

Xác minh endpoint và debug bản tóm tắt đầu tiên.

Liệt kê các model key của bạn có thể gọi được và xác nhận id trong OPENAI_COMPATIBLE_MODEL nằm trong đó; riêng việc kiểm tra này ngăn được phần lớn lỗi lần chạy đầu. Sau đó tóm tắt thứ gì đó ngắn. Một lỗi xác thực nghĩa là key được giải quyết không khớp base URL, và với chuỗi fallback, hãy in ra biến nào thực sự cung cấp key trước khi giả định. Model-not-found là một id gõ sai. Một lỗi scheme lúc khởi động là base URL thiếu https://. Một bản tóm tắt không bao giờ bắt đầu dù endpoint khỏe mạnh là việc lấy transcript thất bại ở phía trước bất kỳ lệnh gọi LLM nào. Khi các bản tóm tắt chảy qua, console APIsRouter hiển thị model theo từng request, số lượng token, và chi tiêu. Tóm tắt transcript là khối lượng công việc nặng-đầu-vào rõ ràng nhất có, và một tuần dữ liệu sử dụng cho bạn biết chi phí thực tế mỗi giờ nội dung cho từng model, đây là con số đáng tối ưu.

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

Câu hỏi thường gặp

BibiGPT có hỗ trợ một base URL tương thích OpenAI tùy chỉnh không?

Có. Phiên bản v1 tự host ghi rõ OPENAI_COMPATIBLE_BASE_URL, OPENAI_COMPATIBLE_API_KEY, và OPENAI_COMPATIBLE_MODEL trong file môi trường mẫu của nó, và xây provider AI SDK của nó từ chúng. Đặt base URL thành endpoint gateway bao gồm /v1.

BibiGPT có thể tóm tắt bằng model GLM, DeepSeek, Kimi, hay Claude không?

Có. Id model đã cấu hình được truyền tới endpoint dưới dạng một chuỗi trơn, nên bất kỳ id catalog nào cũng hoạt động: glm-5.2 và kimi-k2.6 cho nội dung tiếng Trung, claude-haiku-4-5-20251001 hoặc gemini-3.5-flash cho nội dung toàn cầu, tất cả trên một key.

Điều gì xảy ra nếu OPENAI_COMPATIBLE_API_KEY không được đặt?

App rơi về OPENAI_API_KEY. Điều đó ổn khi cả hai trỏ tới cùng dịch vụ, và gây bối rối khi không; khi dùng một gateway, hãy đặt key tiền tố-compatible một cách tường minh.

Người dùng có thể mang key gateway riêng trên một instance chia sẻ không?

Có. Key theo từng request ghi đè môi trường, và OPENAI_COMPATIBLE_KEY_PREFIXES kiểm soát tiền tố key nào giao diện chấp nhận, nên một triển khai chia sẻ có thể nhận key gateway người dùng nhập vào.

Vì sao video dài tốn hơn so với độ dài bản tóm tắt gợi ý?

Vì transcript là đầu vào. Một giờ nói là một lượng lớn token đầu vào, cắt thành nhiều lệnh gọi, trong khi đầu ra tóm tắt nhỏ. Giá token đầu vào và khả năng xử lý long-context dẫn dắt chi phí, và log sử dụng hiển thị nó theo từng video.

Các biến này có áp dụng cho dịch vụ bibigpt.co được lưu trữ không?

Không. Dịch vụ được lưu trữ quản lý model riêng của nó ở phía server. Các biến môi trường OPENAI_COMPATIBLE_* cấu hình BibiGPT v1 mã nguồn mở mà bạn tự triển khai.