Open WebUI no publica ninguna lista de precios: openwebui.com/pricing y openwebui.com/enterprise devuelven 404, y la interfaz de chat es gratuita para alojarla por cuenta propia, sin límite de usuarios ni de solicitudes. Lo que regula una licencia empresarial es la eliminación de la marca de Open WebUI y de complementos exclusivos para empresas, como Terminals, no el número de personas que lo utilizan. Las cifras que realmente necesita un comprador son las tres que el proyecto no te factura: la máquina, los tokens del modelo y las configuraciones dentro de Open WebUI que envían silenciosamente tokens que no has escrito. Las tres aparecen a continuación, con sus fuentes y fechas de comprobación.
Circulan tres precios incorrectos para esta consulta, así que aclaremos primero. $60 por asiento al año es real y oficial, pero corresponde al nivel Supporter de Open WebUI Computer: el paquete cptr, un producto separado del mismo equipo con una licencia diferente, cuyo propio nivel gratuito indica «$0 para siempre». Una cifra empresarial anual atribuida a Open WebUI en los resultados de búsqueda procede de un proveedor de alojamiento externo y no aparece en ninguna página oficial, por lo que no se repite aquí. Y un plan «Pro» de $19 al mes pertenece a openwebui.net, un dominio similar que no es openwebui.com y cuya aplicación aparece con la marca «NextChat» en sus propios textos (comprobado el 21 de septiembre de 2026). Se menciona aquí para que lo reconozcas y deliberadamente no se enlaza.
Cuánto cuesta el software y qué regula realmente la licencia
La página de inicio del proyecto vende la instalación, no un plan: «pip install open-webui / One command. 60 seconds. No account required.» El repositorio está activo y no archivado, y su commit más reciente en main está fechado el 4 de septiembre de 2026. La versión actual es v0.11.3, cuyos archivos se publicaron en PyPI el 31 de agosto de 2026. Hay que señalar una discrepancia oficial: la tarjeta del blog de la página de inicio todavía destaca v0.11.1, del 25 de agosto. Es una publicación del blog, no un indicador de versión; GitHub Releases es la fuente de verdad de las versiones.
La licencia requiere el mismo cuidado. GitHub la registra como NOASSERTION / «Other», mientras que los artículos de terceros a menudo siguen llamándola BSD-3. Ambas descripciones son parcialmente correctas. El archivo LICENSE contiene texto BSD-3 más una cuarta cláusula, introducida en v0.6.6, que prohíbe alterar, eliminar, ocultar o sustituir la marca de Open WebUI, salvo cuando «el número total de usuarios finales … no supere cincuenta (50) dentro de cualquier período móvil de treinta (30) días», cuando se cuenta con permiso escrito o cuando se dispone de una licencia empresarial. La página de licencias del proyecto lo expresa claramente: «Los requisitos de marca solo se aplican a implementaciones más grandes (50+ usuarios, en conjunto)» y «cualquiera puede seguir haciendo un fork desde v0.6.5 sin ninguna restricción». Por tanto: hoy no es una licencia aprobada por la OSI, pero tampoco es un límite de uso: el umbral regula el cambio de marca, no la ejecución.
| Partida | Cuánto cuesta | Fuente, comprobado el 21 de septiembre de 2026 |
|---|---|---|
| Open WebUI, autoalojado, con la marca intacta | $0 — indicado como «Standard Use … Free» | Open WebUI para empresas |
| Etiquetado blanco o cambio de marca de la interfaz | Se requiere una licencia empresarial; no se ha publicado ninguna cifra | La misma página, la misma tabla |
| La propia licencia empresarial | Cotizado de forma privada según el número de asientos | «Send us your deployment end user count (seats)» |
| Licencia empresarial para una persona | No se vende | «exclusively to registered entities and organizations … unable to accommodate individual users» |
Open WebUI Computer (cptr), un producto diferente | $0 para siempre; $60 / asiento / año Supporter; Enterprise personalizado | openwebui.com/computer |
| Tokens de modelo | Tarifa por token de tu proveedor | Facturación propia de tu proveedor |
Lo que concede la licencia empresarial, en palabras del propio proyecto, es «White-labeling, rebranding, modifications to original branding, or enterprise-exclusive offerings like Terminals». Terminals está documentado como la capa de orquestación de Open Terminal: aprovisiona un espacio de trabajo separado —archivos, procesos, entorno de paquetes, límites de recursos y límite de red— para cada usuario, y es el ejemplo mencionado de una función que la licencia regula, además de la marca. El «alojamiento de Open WebUI» gestionado por proveedores externos es otro asunto: es una factura de servidor en la infraestructura de otra persona. No se obtuvo ninguna cifra verificada para un proveedor gestionado en esta página —la única página de planes de proveedor comprobada muestra marcadores de precio en lugar de números al realizar una consulta simple—, así que no se cita ninguna.
Dos preguntas diferentes se esconden dentro de «coste de la API de Open WebUI»
La consulta es realmente ambigua y sus dos partes tienen respuestas diferentes.
Las llamadas salientes son las que cuestan dinero. Open WebUI no incluye ningún modelo propio, así que cada token lo factura el endpoint que hayas configurado. La API propia de Open WebUI no cuesta nada: en la etiqueta publicada v0.11.3, backend/open_webui/main.py sirve GET /api/models (L874), POST /api/chat/completions (L1085) y —más reciente y fácil de pasar por alto— una POST /api/v1/messages con formato de Anthropic (L1976), junto con POST /api/v1/messages/count_tokens (L1907). Te autenticas en ellas con una clave propia de Open WebUI, no con la clave de tu proveedor. Open WebUI no cobra nada por ellas porque son una puerta de entrada: cada solicitud sigue llegando al proveedor ascendente que configuraste y se factura allí. Dirigir tus propios scripts a Open WebUI en lugar de al proveedor cambia el enrutamiento, no la factura.
Las llamadas facturables que no escribiste
Esta es la parte que una comparación de tarifas pasa por alto. Leído en la etiqueta v0.11.3 en backend/open_webui/config.py, hay cuatro generadores en segundo plano activados de forma predeterminada y uno desactivado.
| Configuración | Valor predeterminado en v0.11.3 | En qué gasta |
|---|---|---|
ENABLE_TITLE_GENERATION (L2312) | True | Una finalización adicional por cada chat nuevo, para ponerle nombre |
ENABLE_TAGS_GENERATION (L2310) | True | Una finalización adicional por cada chat nuevo, para etiquetarlo |
ENABLE_RETRIEVAL_QUERY_GENERATION (L2317) | True | Una finalización adicional cada vez que se ejecuta la recuperación |
ENABLE_SEARCH_QUERY_GENERATION (L2315) | True | Una finalización adicional cuando se utiliza la búsqueda web |
ENABLE_AUTOCOMPLETE_GENERATION (L2346) | False | Nada, salvo que lo actives |
TASK_MODEL / TASK_MODEL_EXTERNAL (L2193, L2195) | Vacío | Vacío significa que esas tareas se ejecutan con tu modelo de chat |
No se midió para esta página cuántos tokens adicionales supone en la práctica, y cualquier porcentaje que afirmara lo contrario sería inventado. Lo que sí se puede comprobar es la estructura: las opciones están activadas, el modelo de tareas no está definido, así que el tráfico de generación de nombres y etiquetas se factura al modelo de chat que ya esté usando esa conversación hasta que indiques un id económico en TASK_MODEL_EXTERNAL. Las FAQ propias de Open WebUI dicen lo mismo: «By default, these tasks use the same model you're chatting with», y recomiendan la misma solución. Hay dos valores predeterminados que funcionan al contrario y conviene conocer antes de elaborar el presupuesto: la búsqueda web está desactivada (ENABLE_WEB_SEARCH, L1155) y la generación de imágenes está desactivada (ENABLE_IMAGE_GENERATION, L1336), mientras que el intérprete de código está activado (L422).
Cuatro subsistemas, cuatro campos de endpoint y un valor predeterminado que conviene leer dos veces
La compatibilidad de chat no se extiende al resto del producto. Las incrustaciones de recuperación, la conversión de voz a texto, la conversión de texto a voz y la generación de imágenes tienen cada una su propio par de URL base y clave, y el valor alternativo de cada una es el singular OPENAI_API_BASE_URL. Esta es la parte que sorprende a la gente: en la etiqueta v0.11.3, después de construir la lista de conexiones, la línea 365 de config.py reasigna OPENAI_API_BASE_URL = 'https://api.openai.com/v1' incondicionalmente. Por tanto, cada valor predeterminado de subsistema evaluado después —RAG_OPENAI_API_BASE_URL (L1092), IMAGES_OPENAI_API_BASE_URL (L1490), AUDIO_STT_OPENAI_API_BASE_URL (L1565), AUDIO_TTS_OPENAI_API_BASE_URL (L1606)— se resuelve en el endpoint de OpenAI, sin importar qué variable hayas configurado para el chat. Este es el valor predeterminado a nivel de módulo leído del código fuente; estos valores inicializan una configuración persistida que la interfaz de administración puede sobrescribir después, y este comportamiento no se reprodujo en una instancia en ejecución para esta página. Issue #22084 describe el mismo síntoma; se abrió el 1 de marzo de 2026 y ahora está cerrado como completado, así que interpreta la lectura anterior como el valor predeterminado a nivel de módulo de v0.11.3, no como un error abierto.
La buena noticia es que esos cuatro campos no generan gasto de API con la configuración predeterminada.
| Subsistema | Valor predeterminado en v0.11.3 | Coste predeterminado |
|---|---|---|
| Recuperación de documentos | RAG_EMBEDDING_ENGINE vacío (L996); modelo sentence-transformers/all-MiniLM-L6-v2 (L1002) | Nada de gasto de API: el paso de incrustación se ejecuta localmente, en tu propia CPU y RAM |
| Voz a texto | AUDIO_STT_ENGINE vacío (L1571), Whisper local | Nada de gasto de API; se utiliza computación local |
| Texto a voz | AUDIO_TTS_ENGINE vacío (L1620) | Nada de gasto de API: con el motor sin definir, la propia ruta /audio/speech del servidor responde 404 en lugar de realizar una llamada externa (routers/audio.py L559) |
| Generación de imágenes | Desactivado (L1336) | Nada hasta que lo actives y elijas un endpoint |
Kunavo no ofrece incrustaciones, no ofrece conversión de voz a texto y no ofrece conversión de texto a voz.
Ese límite determina a qué campos puedes apuntar a una pasarela: RAG_OPENAI_API_BASE_URL, AUDIO_STT_OPENAI_API_BASE_URL y AUDIO_TTS_OPENAI_API_BASE_URL no son campos que puedas dirigir aquí. Deja el paso de recuperación con su valor local predeterminado —es la configuración incluida y también la gratuita— o envíalo a un proveedor que sí ofrezca ese paso. La única parte de tu factura de recuperación que llega a un proveedor de chat es el propio texto recuperado, que llega como tokens de entrada normales dentro de la siguiente solicitud. RAG implementation explica cómo el tamaño de los fragmentos y top-k se convierten en ese recuento de entrada.
# The chat connection. This is the only slot the setup guides cover.
OPENAI_API_BASE_URL=https://api.kunavo.com/v1
OPENAI_API_KEY=sk-kn-...
# Titles, tags and retrieval queries run on the CHAT model unless you say
# otherwise. TASK_MODEL_EXTERNAL defaults to empty (config.py L2195).
TASK_MODEL_EXTERNAL=claude-haiku-4-5
# Leave the document-embedding step alone: empty means local, and local
# means no API spend at all (config.py L996 and L1002).
RAG_EMBEDDING_ENGINE=
RAG_EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2Una estimación práctica para un día de chat
Esto es aritmética ilustrativa de tokens, no un coste medido ni un límite máximo de facturación. Supón la jornada laboral de una persona en la ventana de chat: 40 turnos del asistente, cada uno enviando 6.000 tokens de entrada no almacenados en caché —el hilo visible más los fragmentos recuperados— y devolviendo 700 tokens de salida: 240.000 tokens de entrada y 28.000 de salida en total. Supón 8 chats nuevos ese día y que los generadores predeterminados de títulos, etiquetas y consultas de recuperación de Open WebUI realizan tres llamadas adicionales por chat, con 2.000 tokens de entrada y 40 de salida cada una. Ese tamaño por llamada es una suposición; no se midió. Las tarifas son los precios vigentes del catálogo de Kunavo por millón de tokens.
| Modelo | Entrada/salida por 1M | 40 turnos de chat | Tareas en segundo plano | Total del día |
|---|---|---|---|---|
| Claude Haiku 4.5 | $0.70 / $3.50 | $0.266 | $0.037 | $0.303 |
| GPT-5.6 Terra | $0.70 / $4.20 | $0.286 | $0.038 | $0.323 |
| Claude Sonnet 4.6 | $2.10 / $10.50 | $0.798 | $0.111 | $0.909 |
| Claude Sonnet 5 | $1.40 / $7.00 | $0.532 | $0.074 | $0.606 |
Lee la última columna en lugar de la columna del chat. Según estas suposiciones, el tráfico en segundo plano representa aproximadamente el 12% de un día de Claude Sonnet 5: $0.074 de $0.606, gastados en poner nombre y etiquetar los chats. Cambiar TASK_MODEL_EXTERNAL a Claude Haiku 4.5 reduce esa parte a $0.037 y el día a $0.569, sin cambiar lo que nadie lee realmente. Esa única configuración mueve una parte mayor de esta factura que cambiar de proveedor dentro del mismo nivel.
Multiplica por tu propio número de personas y días antes de tratarlo como un presupuesto, y ten en cuenta lo que excluye la aritmética: el almacenamiento en caché de solicitudes, la generación de imágenes o vídeos y cualquier herramienta que invoque el intérprete de código. El importe del catálogo de Kunavo es un mínimo de facturación, no un tope: cuando el proveedor ascendente comunica su cargo, la factura es el mayor entre el coste del catálogo y el coste del proveedor ascendente multiplicado por el margen aplicable. La recarga mínima de Kunavo es de $10 en crédito prepago, que es un mínimo de financiación, no una suscripción ni una tarifa por asiento. Consulta los detalles de facturación y el uso para ver el registro por solicitud. Open WebUI también muestra su propia perspectiva: el README de v0.11.3 describe paneles de administración que «track message volume, token consumption, and cost across users and models». Esta función no se probó para esta página, y dos medidores que contabilizan el mismo tráfico no coincidirán token por token, así que concilia con el lado que realmente estés financiando.
Qué ruta gana y cuándo
| Ruta | Cuándo gana | A qué renuncias |
|---|---|---|
| API directa del proveedor | Los modelos de un proveedor cubren todo lo que hacen tus usuarios | Una segunda familia implica una segunda conexión, una segunda clave y un segundo saldo que vigilar |
| Pasarela (Kunavo y sus alternativas) | Quieres varias familias en un único selector, detrás de una sola clave, y precios por modelo visibles en un solo lugar | Una capa entre tú y el proveedor; los extras específicos del proveedor, como el almacenamiento en caché nativo de solicitudes, se comportan de forma diferente según la pasarela y conviene probarlos antes de depender de ellos |
| Modelo local mediante Ollama o llama.cpp | Trabajo privado o de bajo riesgo, sin cargo por solicitud, y Open WebUI documenta ambos de forma nativa | Hardware y una brecha de capacidades frente a los modelos frontera alojados; la recuperación y los hilos largos resultan costosos en RAM, no en dólares |
| Una suscripción de chat para consumidores | Principalmente quieres el producto propio de un proveedor | No se conecta: Open WebUI necesita un endpoint de API, y una suscripción de chat no lo es |
| Alojamiento gestionado de Open WebUI | No quieres ejecutar el contenedor | Una factura de servidor adicional a la factura de tokens, y no se cita ningún precio en esta página porque no se pudo verificar ninguno |
Un detalle de protocolo determina la configuración más que la elección del proveedor. Open WebUI está orientado explícitamente a protocolos: implementa el protocolo OpenAI Chat Completions y se niega a añadir APIs específicas de proveedores al núcleo; por tanto, debes proporcionarle una raíz /v1 con formato OpenAI, incluso para modelos de Claude. Su propia página de Anthropic configura https://api.anthropic.com/v1 como una conexión OpenAI y transmite la advertencia de Anthropic de que la capa de compatibilidad está pensada para pruebas, no para producción. También existe un selector de tipo de API por conexión para Open Responses, que la documentación etiqueta como experimental y advierte que «may not work as expected with all providers». Kunavo ofrece una ruta con formato Responses, pero esa combinación no se probó en ejecución para esta página, así que considera la ruta de chat-completions como la opción conocida y funcional, y el selector como algo que probar en una conexión de reserva.
¿Comparas la propia interfaz en lugar del proveedor? LibreChat vs Open WebUI y AnythingLLM vs Open WebUI cubren esa elección, y best LLM gateway compara la capa de pasarela según las tarifas y las condiciones de financiación, no según la profundidad de integración.
Configúralo y comprueba después el cargo del primer día
La conexión se encuentra en Settings → Admin → Connections → «Manage OpenAI API Connections» → «Add Connection», con un campo para la URL y otro para la API Key; también puede hacerse lo mismo con las dos variables de entorno anteriores al iniciar el contenedor. Conserva /v1 en la URL: Open WebUI añade la ruta por sí mismo y el código fuente elimina la barra final.
Conviene conocer de antemano un modo de fallo porque parece una integración inactiva, pero no lo es. La propia documentación de Open WebUI indica que guardar una conexión no la prueba, que el botón Verify llama al endpoint /models del proveedor y que, si esa llamada falla, «this does not mean the provider is incompatible: chat completions will still work»; en su lugar, debes introducir los ids de modelo en la lista permitida Model IDs de la conexión. Rellenar esa lista merece la pena en cualquier caso: en un catálogo con modelos de imagen, vídeo y música, un filtro vacío introduce en el selector modelos que una ventana de chat no puede invocar.
Kunavo publica una guía de configuración para este cliente. Es una referencia de configuración publicada, no una prueba de compatibilidad: aquí no se ha probado Open WebUI en ejecución contra el endpoint de Kunavo, y todo lo anterior se leyó del código fuente publicado de Open WebUI y de su propia documentación. Mantén disponible una ruta operativa mientras lo pruebas, ejecuta un día acotado y después lee lo que tu cuenta haya registrado realmente. Empieza por la guía de integración de Open WebUI y crea una cuenta de Kunavo cuando estés listo para financiar una clave.
Preguntas frecuentes
¿Cuánto cuesta Open WebUI?
El software es gratuito y no hay ninguna lista de precios que consultar: openwebui.com/pricing y openwebui.com/enterprise devuelven 404, y la propia línea de instalación de la página principal es "pip install open-webui / Un comando. 60 segundos. No se requiere cuenta." (comprobado el 19 de septiembre de 2026). No hay límite de usuarios ni de solicitudes al ejecutarlo. Lo que realmente pagas es la máquina en la que se ejecuta, los tokens de los modelos que envía y —si quieres eliminar la marca de Open WebUI o quieres un complemento exclusivo para empresas, como Terminals— una licencia empresarial, cuyo importe no se publica y cuyo precio el proyecto proporciona después de que envíes el número de usuarios.
¿Open WebUI tiene una página de precios o un precio empresarial publicado?
No. Su documentación empresarial te pide que envíes el número de usuarios finales (asientos) y afirma que las licencias empresariales están disponibles exclusivamente para entidades y organizaciones registradas, no para usuarios individuales. No aparece ninguna cantidad en dólares en ninguna página oficial de Open WebUI. Los proveedores de alojamiento y sitios de contenido de terceros publican tablas de planes y cifras anuales para "Open WebUI pricing" que el propio proyecto no publica; considéralas contenido de proveedores. Un dominio parecido independiente, openwebui.net, vende un plan "Pro" de $19 al mes para una aplicación que presenta como "NextChat"; no es openwebui.com ni está gestionado por el proyecto.
¿Necesito una licencia empresarial para ejecutar Open WebUI para más de 50 usuarios?
No según la propia tabla empresarial del proyecto, que enumera Standard Use —uso interno con la marca original intacta— como gratuito y exige una licencia empresarial únicamente para aplicar white-labeling, cambiar la marca u ofrecer productos exclusivos para empresas. El umbral de cincuenta usuarios aparece en la cláusula 4 de la LICENSE y regula una sola cosa: si puedes alterar, eliminar, ocultar o sustituir la marca de Open WebUI sin permiso, en cualquier periodo móvil de treinta días. Lee tú mismo el texto de la licencia antes de un despliegue grande; esto es un resumen, no asesoramiento jurídico.
¿Cuál es la mejor API para Open WebUI?
Depende de cuántos proveedores quieras en el selector. Open WebUI no incluye ningún modelo propio ni impone una lista de proveedores permitidos, así que todas las rutas están abiertas: una API directa de un proveedor gana cuando los modelos de un solo proveedor cubren todo lo que haces y quieres sus propias condiciones de caché y procesamiento por lotes; un gateway gana cuando una sola conexión debe exponer varias familias al selector de modelos con una única clave y un único saldo; un servidor local mediante Ollama o llama.cpp gana para trabajos privados o de bajo riesgo sin coste por solicitud. Una API directa de proveedor y un gateway requieren la misma configuración: el formulario de conexión compatible con OpenAI de Open WebUI acepta una URL y una clave de API en ambos casos. Un servidor local no: también tienes que instalarlo y ejecutarlo, y Open WebUI documenta Ollama y llama.cpp en sus propias páginas de conexión.
¿Cuál es la API más barata para Open WebUI?
La tarifa publicada más barata y la forma más barata de obtener la respuesta son preguntas distintas. Una interfaz de chat factura todo el hilo visible en cada turno, por lo que una conversación larga con un modelo de tarifa baja puede costar más que una corta con un modelo de tarifa alta, y un modelo que necesita un segundo intento cuesta el doble. Tres configuraciones modifican la factura del chat más que la tarjeta de tarifas: qué modelo ejecuta la generación predeterminada del título, las etiquetas y las consultas de recuperación; cuánto texto de los documentos recuperados se inserta en cada prompt; y cuánto dejas crecer un hilo antes de iniciar uno nuevo. Ajusta eso primero y después compara las tarifas.
¿Cuál es el mejor modelo para Open WebUI?
Elige según lo que realmente esté haciendo la ventana, no según la posición en benchmarks. Los documentos largos pegados y los hilos RAG necesitan una ventana de contexto grande y una tarifa de entrada baja, porque la entrada es la clase de tokens en la que más gasta una interfaz de chat. Las llamadas a herramientas y el intérprete de código integrado necesitan un modelo cuyo uso de funciones sea fiable en el endpoint exacto que estés utilizando; la propia documentación de proveedores de Open WebUI advierte que el endpoint compatible con OpenAI de Google descarta las llamadas a herramientas transmitidas, lo que es una propiedad de ese endpoint y no del modelo. La visión importa si los usuarios pegan capturas de pantalla. Una configuración sensata son dos conexiones: un modelo barato como predeterminado y un modelo potente al que los usuarios puedan cambiar.
¿Open WebUI es lo mismo que text-generation-webui?
No. Open WebUI es open-webui/open-webui, mantenido por Open WebUI Inc., y su versión más reciente es la v0.11.3. El text-generation-webui de oobabooga es otro proyecto de otro mantenedor, ahora renombrado como TextGen y trasladado a github.com/oobabooga/textgen. Ambos exponen APIs compatibles con OpenAI, por lo que un fragmento de configuración de uno parece plausible en el otro, pero no son intercambiables.
Las páginas de Open WebUI, el repositorio, el historial de commits y el paquete se comprobaron el 19 de septiembre y se volvieron a comprobar el 21 de septiembre de 2026; los errores 404 de openwebui.com/pricing y openwebui.com/enterprise se obtuvieron directamente, y cada valor predeterminado de configuración citado se leyó en la etiqueta publicada v0.11.3, no en main. No se comprobaron: los precios del alojamiento gestionado, ninguna cifra empresarial en dólares, el coste en tokens de las tareas en segundo plano predeterminadas, los paneles de uso propios de Open WebUI ni ninguna ejecución integral de Open WebUI contra Kunavo. Las tarifas de tokens de Kunavo proceden del catálogo vigente, y todos los ejemplos en dólares son aritmética ilustrativa de tokens.