Ejecuta los resúmenes de video de BibiGPT en una API compatible con OpenAI personalizada.
Updated 2026-07-30
El BibiGPT autoalojado lee OPENAI_COMPATIBLE_BASE_URL, OPENAI_COMPATIBLE_API_KEY y OPENAI_COMPATIBLE_MODEL de su entorno. Apunta la URL base a https://api.apisrouter.com/v1 y cada resumen de Bilibili, YouTube o podcast corre a través del gateway, con modelos chinos y globales detrás de una clave.
Respuesta rápida: tres variables de entorno.
El archivo de entorno de ejemplo de BibiGPT documenta la superficie directamente: OPENAI_COMPATIBLE_BASE_URL configura el endpoint (por defecto https://api.openai.com/v1), OPENAI_COMPATIBLE_API_KEY guarda la clave (recayendo en OPENAI_API_KEY si no se configura), y OPENAI_COMPATIBLE_MODEL elige el modelo por defecto para los resúmenes. Configura la URL base a https://api.apisrouter.com/v1, pon una clave del gateway en la variable de clave, y elige cualquier id del catálogo como modelo. La URL base se valida al usarse: debe empezar con http:// o https://, y las barras finales se recortan, así que la forma /v1 de arriba es exactamente correcta. Por debajo, la app construye un proveedor compatible con OpenAI del Vercel AI SDK a partir de estos valores y llama a chatModel con el id configurado, por lo que cualquier modelo que sirva el endpoint funciona sin cambios de código.
# 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-flashQué envía BibiGPT al endpoint.
BibiGPT (JimmyLv en GitHub, unas 6K estrellas para la v1 de código abierto) es un resumidor de IA de un clic para audio y video: pega un enlace de Bilibili o YouTube, un podcast, una grabación de reunión o un archivo local, y obtiene la transcripción, la condensa, y te deja conversar con el contenido. Empezó como BiliGPT para resúmenes de Bilibili y creció hasta ser una herramienta bilingüe con un sucesor alojado; la configuración de entorno descrita aquí aplica a la versión de código abierto autoalojada. La carga de trabajo tiene forma de transcripción: entradas largas, salidas cortas. Una hora de discurso es mucha transcripción, que la app trocea en piezas del tamaño del modelo antes de resumir, así que un video puede significar varias llamadas de chat-completions cuyos tokens de entrada empequeñecen el resumen que producen. El precio por token de entrada es por tanto toda la economía, y los modelos de contexto largo reducen el troceo para conferencias y podcasts largos. La construcción del proveedor resuelve valores en una cascada sensata: una clave por petición (para instancias que dejan a los usuarios traer la suya) gana sobre OPENAI_COMPATIBLE_API_KEY, que gana sobre OPENAI_API_KEY; lo mismo aplica a la URL base y al modelo. Incluso hay una variable OPENAI_COMPATIBLE_KEY_PREFIXES para aceptar claves introducidas por el usuario cuyos prefijos no son sk-, lo que importa cuando las claves que tienen tus usuarios vienen de un gateway en lugar de OpenAI.
Configuración completa para una instancia autoalojada.
BibiGPT es una app de Next.js, así que el entorno viaja según cómo despliegues: un archivo .env local, variables de entorno del proyecto en Vercel, o entorno de contenedor en Docker. Configura las tres variables, vuelve a desplegar o reinicia, y los resúmenes se enrutan a través del gateway. La variable de modelo es el valor por defecto, no un límite estricto. Las peticiones llevan una configuración por video cuyo campo model, cuando está presente, sobreescribe OPENAI_COMPATIBLE_MODEL, así que una instancia puede tener por defecto un id de volumen mientras flujos específicos piden uno más fuerte. Si ejecutas la instancia para otros y les dejas pegar sus propias claves, configura OPENAI_COMPATIBLE_KEY_PREFIXES para incluir el prefijo de clave de tu gateway de modo que el formulario las acepte.
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-Elegir un modelo de resumen, Este y Oeste.
La comparación es fácil de hacer honestamente: mismo video, dos ids de modelo, lee ambos resúmenes contra la transcripción. El log de uso por clave tasa cada candidato sobre contenido real, y para cargas de trabajo de transcripción la diferencia es visible de inmediato en la columna de tokens de entrada.
- El contenido chino es el terreno natural de BibiGPT: conferencias de Bilibili, clips de Douyin, podcasts chinos. glm-5.2, deepseek-v4-flash y kimi-k2.6 son nativamente fuertes en transcripciones chinas y están detrás del mismo endpoint que todo lo demás.
- El contenido en inglés y mixto (YouTube, podcasts globales) funciona bien con claude-haiku-4-5-20251001 y gemini-3.5-flash, ambos cómodos con transcripciones largas y ruidosas.
- Esta división es el argumento práctico China-más-global para un gateway: un endpoint, una clave, y la sobrescritura de modelo por video elige la familia correcta según la fuente del contenido en lugar de forzar un proveedor para ambos.
- Las conferencias largas premian el contexto largo. Menos trozos significa menos llamadas y un resumen más coherente; prueba un id de contexto largo contra tu contenido más largo antes de estandarizar.
- Las instancias de volumen (un equipo que resume todo lo que ve) deberían tener por defecto deepseek-v4-flash y escalar selectivamente; la forma intensiva en entrada hace que el precio de nivel rápido se acumule.
Pago por uso · por debajo del precio oficial
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Modelo | Precio oficial | Nuestro precio |
|---|---|---|
| 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 |
Modos de fallo específicos de BibiGPT.
La cadena de fallback puede sorprenderte. Si OPENAI_COMPATIBLE_API_KEY está vacía, la app recae silenciosamente en OPENAI_API_KEY. Eso es conveniente hasta que las dos apuntan a servicios distintos: una URL base de gateway con una clave de OpenAI produce errores de autenticación que parecen problemas del gateway. Cuando cambies el enrutamiento, configura el par con prefijo compatible juntos y no dejes ningún OPENAI_API_KEY obsoleto apuntando a otro lado, o asegúrate de que contenga la misma clave del gateway. El validador de URL base rechaza valores sin esquema, así que un host desnudo falla rápido con un error claro; incluye https:// y la ruta /v1. Las barras finales se normalizan, así que ambas formas funcionan ahí. Los ids de modelo son strings exactos contra el listado /v1/models del endpoint; una errata en OPENAI_COMPATIBLE_MODEL falla el primer resumen con model-not-found. Recuerda también la sobrescritura por video: si un flujo sigue usando un modelo antiguo, algo está pasando un model explícito en la configuración de la petición. Obtener la transcripción es una plomería separada. Si un video no produce resumen porque no se pudieron obtener subtítulos o audio, eso es el pipeline de contenido (APIs de la plataforma, disponibilidad de subtítulos), no el endpoint del LLM. Las variables de entorno de esta guía solo mueven las llamadas de resumen. Y ten en cuenta que el servicio alojado bibigpt.co gestiona sus propios modelos; estas variables configuran la v1 de código abierto que despliegas tú mismo.
Quién enruta BibiGPT a través de un gateway.
- Espectadores bilingües que resumen tanto Bilibili como YouTube, emparejando ids fuertes en chino con ids globales detrás de una clave en lugar de un proveedor por idioma.
- Autoalojadores en configuraciones cercanas a China donde un solo endpoint compatible con OpenAI que también sirve GLM, DeepSeek y Kimi elimina por completo el problema de facturación multi-proveedor.
- Equipos que ejecutan un resumidor compartido para reuniones y conferencias, midiendo uso por clave y con ids de nivel de volumen por defecto.
- Oyentes intensivos de podcasts, donde horas de transcripción por semana hacen del precio por token de entrada toda la historia del coste.
- Desarrolladores sin acceso a la facturación de un proveedor concreto. El acceso mediante recarga sin necesidad de tarjeta elimina la dependencia de registrarse en cada proveedor.
Verifica el endpoint y depura el primer resumen.
Lista los modelos que tu clave puede direccionar y confirma que el id en OPENAI_COMPATIBLE_MODEL está entre ellos; esa sola verificación previene la mayoría de los fallos de primera ejecución. Luego resume algo corto. Un error de autenticación significa que la clave resuelta no coincide con la URL base, y dada la cadena de fallback, imprime qué variable realmente proporcionó la clave antes de asumir. Model-not-found es una errata en el id. Un error de esquema al arrancar es una URL base sin https://. Un resumen que nunca empieza a pesar de un endpoint saludable es la obtención de la transcripción fallando aguas arriba de cualquier llamada de LLM. Una vez que los resúmenes fluyen, la consola de APIsRouter muestra el modelo por petición, el recuento de tokens y el gasto. El resumen de transcripciones es la carga de trabajo intensiva en entrada más clara que existe, y una semana de datos de uso te dice el coste real por hora de contenido para cada modelo, que es el número que vale la pena optimizar.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Preguntas frecuentes
¿BibiGPT admite una URL base personalizada compatible con OpenAI?
Sí. La v1 autoalojada documenta OPENAI_COMPATIBLE_BASE_URL, OPENAI_COMPATIBLE_API_KEY y OPENAI_COMPATIBLE_MODEL en su archivo de entorno de ejemplo, y construye su proveedor del AI SDK a partir de ellas. Configura la URL base al endpoint del gateway incluyendo /v1.
¿Puede BibiGPT resumir con modelos GLM, DeepSeek, Kimi o Claude?
Sí. El id de modelo configurado se pasa al endpoint como un string simple, así que funciona cualquier id del catálogo: glm-5.2 y kimi-k2.6 para contenido chino, claude-haiku-4-5-20251001 o gemini-3.5-flash para contenido global, todo en una clave.
¿Qué pasa si OPENAI_COMPATIBLE_API_KEY no está configurada?
La app recae en OPENAI_API_KEY. Eso está bien cuando ambas apuntan al mismo servicio, y confuso cuando no; al usar un gateway, configura la clave con prefijo compatible explícitamente.
¿Pueden los usuarios traer sus propias claves de gateway en una instancia compartida?
Sí. Las claves por petición sobreescriben el entorno, y OPENAI_COMPATIBLE_KEY_PREFIXES controla qué prefijos de clave acepta la interfaz, así que un despliegue compartido puede aceptar claves de gateway introducidas por el usuario.
¿Por qué los videos largos cuestan más de lo que sugiere la longitud del resumen?
Porque la transcripción es la entrada. Una hora de discurso son muchos tokens de entrada, troceados en varias llamadas, mientras que la salida del resumen es pequeña. El precio por token de entrada y el manejo de contexto largo impulsan el coste, y el log de uso lo muestra por video.
¿Aplican estas variables al servicio alojado bibigpt.co?
No. El servicio alojado gestiona sus propios modelos del lado del servidor. Las variables de entorno OPENAI_COMPATIBLE_* configuran la BibiGPT v1 de código abierto que despliegas tú mismo.