BibiGPT의 영상 요약을 커스텀 OpenAI 호환 API에서 실행하기.
Updated 2026-07-30
셀프 호스팅 BibiGPT는 환경에서 OPENAI_COMPATIBLE_BASE_URL, OPENAI_COMPATIBLE_API_KEY, OPENAI_COMPATIBLE_MODEL을 읽습니다. base URL을 https://api.apisrouter.com/v1로 지정하면 모든 Bilibili, YouTube, 팟캐스트 요약이 게이트웨이를 통해 실행되며, 중국 모델과 글로벌 모델이 키 하나 뒤에 놓입니다.
빠른 답: 환경 변수 세 개.
BibiGPT의 예제 환경 파일은 그 표면을 직접 문서화합니다: OPENAI_COMPATIBLE_BASE_URL이 엔드포인트를 설정하고(기본값 https://api.openai.com/v1), OPENAI_COMPATIBLE_API_KEY가 키를 담고(설정하지 않으면 OPENAI_API_KEY로 폴백), OPENAI_COMPATIBLE_MODEL이 요약에 쓸 기본 모델을 고릅니다. base URL을 https://api.apisrouter.com/v1로 설정하고, 키 변수에 게이트웨이 키를 넣고, 모델로는 어떤 카탈로그 id든 고르세요. base 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-flashBibiGPT이 엔드포인트로 보내는 것.
BibiGPT(GitHub의 JimmyLv, 오픈소스 v1 기준 약 6천 스타)는 오디오와 영상을 위한 원클릭 AI 요약기입니다: Bilibili나 YouTube 링크, 팟캐스트, 회의 녹음, 로컬 파일을 붙여넣으면 트랜스크립트를 가져와 압축하고, 콘텐츠와 대화할 수 있게 해줍니다. Bilibili 요약을 위한 BiliGPT로 시작해 호스팅형 후속작을 가진 이중 언어 도구로 성장했습니다; 여기서 설명하는 환경 설정은 셀프 호스팅 오픈소스 버전에 적용됩니다. 이 워크로드는 트랜스크립트 형태입니다: 긴 입력, 짧은 출력. 한 시간짜리 발화는 방대한 트랜스크립트인데, 앱은 이를 요약하기 전에 모델 크기에 맞는 조각으로 나누므로, 영상 하나가 여러 번의 chat-completions 호출을 의미할 수 있고 그 입력 토큰이 만들어내는 요약보다 훨씬 큽니다. 따라서 입력 토큰당 가격이 경제성의 전부이며, 롱컨텍스트 모델은 긴 강의와 팟캐스트에서 청킹을 줄여줍니다. 프로바이더 생성은 값들을 합리적인 순서로 해석합니다: (사용자가 직접 키를 가져오는 인스턴스를 위한) 요청별 키가 OPENAI_COMPATIBLE_API_KEY보다 우선하고, 이는 다시 OPENAI_API_KEY보다 우선합니다; base URL과 모델도 마찬가지입니다. 심지어 사용자가 입력한 키의 접두어가 sk-가 아닌 경우를 받아들이기 위한 OPENAI_COMPATIBLE_KEY_PREFIXES 변수도 있는데, 이는 사용자가 가진 키가 OpenAI가 아니라 게이트웨이에서 나온 것일 때 중요합니다.
셀프 호스팅 인스턴스를 위한 전체 설정.
BibiGPT는 Next.js 앱이므로, 환경은 배포 방식에 따라 이동합니다: 로컬에서는 .env 파일, Vercel에서는 프로젝트 환경 변수, Docker에서는 컨테이너 env. 세 변수를 설정하고 재배포하거나 재시작하면 요약이 게이트웨이를 통해 라우팅됩니다. 모델 변수는 기본값이지 절대적인 한도가 아닙니다. 요청은 영상별 설정을 담고 있는데, 그 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-요약 모델 선택하기, 동양과 서양.
비교는 정직하게 실행하기 쉽습니다: 같은 영상, 두 모델 id, 트랜스크립트를 놓고 두 요약을 읽어보세요. 키별 사용량 로그가 실제 콘텐츠로 각 후보에 가격을 매기며, 트랜스크립트 워크로드에서는 그 차이가 입력 토큰 컬럼에서 즉시 눈에 보입니다.
- 중국어 콘텐츠는 BibiGPT의 홈그라운드입니다: Bilibili 강의, 더우인 클립, 중국어 팟캐스트. glm-5.2, deepseek-v4-flash, kimi-k2.6은 중국어 트랜스크립트에서 네이티브로 강하며 다른 모든 것과 같은 엔드포인트 뒤에 있습니다.
- 영어와 혼합 콘텐츠(YouTube, 글로벌 팟캐스트)는 claude-haiku-4-5-20251001과 gemini-3.5-flash에서 잘 작동하며, 둘 다 길고 산만한 트랜스크립트를 잘 다룹니다.
- 이 구분이 게이트웨이에 대한 실용적인 중국+글로벌 논거입니다: 엔드포인트 하나, 키 하나, 그리고 영상별 모델 오버라이드가 두 곳 모두에 하나의 벤더를 강제하는 대신 콘텐츠 출처별로 올바른 계열을 고릅니다.
- 긴 강의는 롱컨텍스트가 유리합니다. 청크가 적을수록 호출도 적고 요약도 더 일관되니, 표준화하기 전에 가장 긴 콘텐츠에 롱컨텍스트 id를 테스트하세요.
- 물량 인스턴스(시청하는 모든 것을 요약하는 팀)는 deepseek-v4-flash를 기본으로 하고 선택적으로 승격해야 합니다; 입력이 많은 형태는 fast-tier 가격을 누적시킵니다.
사용한 만큼 지불 · 공식 요금보다 저렴
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로 폴백합니다. 둘이 같은 서비스를 가리키는 한 편리하지만, 서로 다른 서비스를 가리키면 문제입니다: 게이트웨이 base URL에 OpenAI 키가 붙으면 마치 게이트웨이 문제처럼 보이는 인증 오류가 발생합니다. 라우팅을 바꿀 때는 compatible 접두어가 붙은 쌍을 함께 설정하고, 다른 곳을 가리키는 오래된 OPENAI_API_KEY를 남기지 말거나, 그것이 같은 게이트웨이 키를 담고 있는지 확인하세요. base URL 검증기는 scheme이 없는 값을 거부하므로, 맨 호스트만 주면 명확한 오류로 빠르게 실패합니다; https://와 /v1 경로를 포함하세요. 끝의 슬래시는 정규화되어 제거되므로 어느 형태든 작동합니다. 모델 id는 엔드포인트의 /v1/models 목록에 대한 정확한 문자열입니다; OPENAI_COMPATIBLE_MODEL의 오타는 첫 요약에서 model-not-found로 실패합니다. 영상별 오버라이드도 기억하세요: 한 플로우가 계속 예전 모델을 쓴다면, 무언가가 요청 설정에 명시적인 model을 전달하고 있는 것입니다. 트랜스크립트 가져오기는 별개의 배관입니다. 자막이나 오디오를 가져올 수 없어 영상이 요약을 만들어내지 못한다면, 그것은 콘텐츠 파이프라인(플랫폼 API, 자막 가용성) 문제이지 LLM 엔드포인트 문제가 아닙니다. 이 가이드의 환경 변수는 요약 호출만 옮깁니다. 그리고 호스팅형 bibigpt.co 서비스는 자체 모델을 관리한다는 점을 유의하세요; 이 변수들은 여러분이 직접 배포하는 오픈소스 v1을 설정합니다.
어떤 사람들이 게이트웨이를 통해 BibiGPT를 쓰는가.
- Bilibili와 YouTube 둘 다 요약하는 이중 언어 시청자 — 언어당 벤더 하나 대신 키 하나 뒤에서 중국어에 강한 id와 글로벌 id를 짝짓습니다.
- 중국 인접 환경의 셀프 호스터 — GLM, DeepSeek, Kimi도 서빙하는 단일 OpenAI 호환 엔드포인트가 멀티벤더 결제 문제를 통째로 제거합니다.
- 회의와 강의를 위한 공유 요약기를 운영하는 팀 — 키별 사용량을 계측하고 물량 티어 id를 기본으로 합니다.
- 헤비 팟캐스트 청취자 — 주당 몇 시간 분량의 트랜스크립트가 입력 토큰 가격을 비용의 전부로 만듭니다.
- 특정 벤더의 결제 수단에 접근할 수 없는 개발자. 카드 없이 충전만으로 사용할 수 있어 프로바이더별 가입 의존성이 사라집니다.
엔드포인트 검증 및 첫 요약 디버깅.
여러분의 키로 접근 가능한 모델을 나열하고 OPENAI_COMPATIBLE_MODEL의 id가 그 안에 있는지 확인하세요; 그 확인 하나로 대부분의 첫 실행 실패를 막을 수 있습니다. 그런 다음 짧은 것을 요약해 보세요. 인증 오류는 해석된 키가 base URL과 맞지 않는다는 뜻이며, 폴백 체인을 감안해 어떤 변수가 실제로 키를 공급했는지 먼저 출력해 보세요. Model-not-found는 id 오타입니다. 시작 시점의 scheme 오류는 base URL에 https://가 빠졌다는 뜻입니다. 엔드포인트는 정상인데 요약이 전혀 시작되지 않는다면, 트랜스크립트 가져오기가 어떤 LLM 호출보다 앞서 실패하고 있는 것입니다. 요약이 흐르기 시작하면 APIsRouter 콘솔에서 요청별 모델, 토큰 수, 지출을 볼 수 있습니다. 트랜스크립트 요약은 입력이 압도적으로 많은 워크로드의 가장 명확한 사례이며, 일주일치 사용량 데이터가 각 모델의 콘텐츠 시간당 실제 비용을 알려주는데, 이것이 최적화할 가치가 있는 숫자입니다.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50자주 묻는 질문
BibiGPT이 커스텀 OpenAI 호환 base URL을 지원하나요?
네. 셀프 호스팅 v1은 예제 환경 파일에 OPENAI_COMPATIBLE_BASE_URL, OPENAI_COMPATIBLE_API_KEY, OPENAI_COMPATIBLE_MODEL을 문서화하며, 이것들로 AI SDK 프로바이더를 만듭니다. base URL을 /v1을 포함한 게이트웨이 엔드포인트로 설정하세요.
BibiGPT이 GLM, DeepSeek, Kimi, Claude 모델로 요약할 수 있나요?
네. 설정된 모델 id는 그냥 문자열로 엔드포인트에 전달되므로, 어떤 카탈로그 id든 작동합니다: 중국어 콘텐츠에는 glm-5.2와 kimi-k2.6, 글로벌 콘텐츠에는 claude-haiku-4-5-20251001이나 gemini-3.5-flash, 모두 키 하나로.
OPENAI_COMPATIBLE_API_KEY가 설정되지 않으면 어떻게 되나요?
앱이 OPENAI_API_KEY로 폴백합니다. 둘이 같은 서비스를 가리킬 때는 문제없지만, 그렇지 않으면 헷갈립니다; 게이트웨이를 쓸 때는 compatible 접두어가 붙은 키를 명시적으로 설정하세요.
공유 인스턴스에서 사용자가 자신의 게이트웨이 키를 가져올 수 있나요?
네. 요청별 키가 환경을 오버라이드하며, OPENAI_COMPATIBLE_KEY_PREFIXES가 인터페이스가 받아들이는 키 접두어를 제어하므로, 공유 배포도 사용자가 입력한 게이트웨이 키를 받을 수 있습니다.
긴 영상이 왜 요약 길이가 시사하는 것보다 더 많은 비용이 드나요?
트랜스크립트가 입력이기 때문입니다. 한 시간짜리 발화는 방대한 입력 토큰이며 여러 호출로 청킹되는 반면, 요약 출력은 작습니다. 입력 토큰 가격과 롱컨텍스트 처리 능력이 비용을 좌우하며, 사용량 로그가 영상별로 그것을 보여줍니다.
이 변수들이 호스팅형 bibigpt.co 서비스에도 적용되나요?
아니요. 호스팅형 서비스는 서버 사이드에서 자체 모델을 관리합니다. OPENAI_COMPATIBLE_* 환경 변수는 여러분이 직접 배포하는 오픈소스 BibiGPT v1을 설정합니다.