Browser Use con un modelo barato: configuración de base_url y coste por ejecución
Conecta Browser Use a una API compatible con OpenAI, ejecuta una tarea de comprobación de precios en un navegador real y estima cuánto cuesta una ejecución.

En esta página
Browser Use acepta cualquier endpoint compatible con OpenAI, así que conectarlo a CheapTokens requiere tres valores: base_url, tu clave y el id completo del modelo. Abajo hay un agent.py que abre una página de producto, lee el precio y lo reporta, además de una estimación de lo que cuesta una ejecución con precios en vivo.
Un agente de navegador reenvía el texto de la página al modelo en cada paso, así que la estimación va antes del schedule.
Instalar y apuntarlo a la API#
El README de Browser Use (consultado el 8 de noviembre de 2026) lo instala con uv; la librería requiere Python 3.11+ y tiene licencia MIT. La página de modelos soportados de la documentación muestra el patrón para endpoints personalizados: ChatOpenAI con un base_url, luego Agent(task=..
uv init --python 3.12
uv add browser-usePon la clave en un archivo .env junto al script, nunca en el código:
CHEAPTOKENS_API_KEY=your-key-hereLuego agent.py:
import asyncio
import os
from dotenv import load_dotenv
from browser_use import Agent, ChatOpenAI
load_dotenv()
llm = ChatOpenAI(
model='deepseek-ai/DeepSeek-V4-Flash-0731',
base_url='https://api.cheaptokens.dev/v1',
api_key=os.getenv('CHEAPTOKENS_API_KEY'),
)
task = (
'Open https://shop.example/laptop-x (replace with your product page). '
'Find the current price and whether it is in stock. '
'Reply with one line: price, currency, in stock yes/no. '
'Do not click Buy or add anything to the cart.'
)
agent = Agent(task=task, llm=llm)
asyncio.run(agent.run())Ejecútalo con uv run agent.py. Si la primera ejecución se queja de que falta un navegador, instálalo como muestra el quickstart de Browser Use (uvx browser-, consultado el 8 de noviembre de 2026).

Por qué este modelo: una ejecución de navegador son muchas llamadas con contexto de página largo. DeepSeek-V4-Flash tiene una ventana de contexto de 380K, hasta 32.768 tokens de salida por respuesta y un precio único a cualquier hora del día. El id tiene que ser el deepseek- completo — la API no acepta los nombres cortos de las tablas de precios. Otros ids y los conceptos básicos de conexión están en la documentación de CheapTokens.
Qué hace realmente el agente en una página de precios#
Digamos que tu tarea es "cuánto cuesta este portátil hoy". El agente ejecuta un bucle: obtiene el texto de la página, le pregunta al modelo qué hacer a continuación, realiza la acción en el navegador (abrir, desplazar, hacer clic) y recibe el nuevo texto de la página. Repite hasta que el modelo decide que tiene la respuesta.

Esa última flecha es la que dispara el coste. Una página de producto puede tener miles de tokens de texto, y viaja con cada llamada. Una publicación de canal del 6 de noviembre listaba Browser Use como la capa de navegador de un agente de compras que compara ofertas y sigue bajadas de precio; la misma idea encaja en una comprobación diaria de una o dos páginas, como en la tarea de arriba.
Elige tu caso
¿Es un agente de navegador la herramienta adecuada para tu comprobación?
Elige una opción para ver la respuesta
El precio aparece solo tras hacer clic
Un agente de navegador encaja. Abre la página en un navegador real, elige una talla o color, se desplaza y lee lo que aparece. Escribir eso como script implica mantener selectores para cada tienda.
Una URL fija y un elemento de precio fijo
Un script simple con un selector es más barato: ninguna llamada al modelo. Pon los pasos fijos en código y reserva el modelo para las partes que cambian. Más sobre esto en ¿necesitan los agentes el modelo en cada paso?.
Dos o tres tiendas con diseños diferentes
Un agente de navegador encaja. Un texto de tarea cubre varios diseños de página, y comparas las respuestas de una línea después.
Una advertencia antes de programar nada: el agente lee lo que diga la página, y una página puede contener instrucciones dirigidas al agente. La lista de verificación contra inyección de prompts cubre qué hacer al respecto, y la tarea de arriba prohíbe comprar por la misma razón.
Cuánto cuesta una ejecución#
No lo adivines; asúmelo. Digamos que una ejecución tarda 15 pasos. Cada paso envía la tarea, el historial y la página actual: unos 12.000 tokens de entrada, y el modelo responde con una acción corta de unos 600 tokens.
15 × 12.000 = 180.000 tokens de entrada y 15 × 600 = 9.000 tokens de salida por ejecución. En DeepSeek-V4-Flash esa ejecución cuesta $0.0036, con la entrada a $0.015 por 1M de tokens. La entrada es 20 veces la salida aquí, algo típico del trabajo de navegador, y contado todo junto, el precio está por debajo de la referencia de OpenRouter para este modelo.
La tabla de abajo usa los mismos números por paso para 15 pasos, para que veas cada modelo lado a lado:
| Modelo | Entrada $/1M | Salida $/1M | Por solicitud | 15 solicitudes | OpenRouter, 15 solicitudes |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.00026 | $0.004 | $0.0068 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.00024 | $0.0036 | $0.0139 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.00069 | $0.0104 | $0.124 |
12.000 tokens de entrada y 600 tokens de salida por solicitud. Los precios por 1M de tokens son actuales y cambian junto con nuestras tarifas; la columna de OpenRouter muestra precios de referencia para la misma carga de trabajo.
Luego escálalo a tu schedule. Tres páginas comprobadas una vez al día son 45 pasos; arrastra los controles a tus propios números.
Calculadora de costos
Un día de comprobaciones de precio: 3 páginas, 15 pasos cada una
Tokens de entrada por solicitud: 12.000 · Tokens de salida por solicitud: 600 · Solicitudes por día: 45
| Modelo | Por día | Por mes |
|---|---|---|
| GLM-5.3-Flash$0.02$0.04 | $0.0119 | $0.356 |
| DeepSeek-V4-Flash$0.015$0.10 | $0.0108 | $0.324 |
| MiniMax-M2.7$0.05$0.15 | $0.0311 | $0.932 |
La versión de 50 pasos de esta aritmética en tres modelos está en coste de sesión de agente. Si prefieres GLM-5.3-Flash (390K de contexto, hasta 8.192 tokens de salida), su fila está en la tabla de arriba; las respuestas de acción cortas de aquí caben bien bajo ese límite. Los precios actuales de cada modelo están en la página de precios.
Si no funciona#
Empieza por el texto del error. Estos tres son los sospechosos habituales:
Emparejar los pares
Relaciona el síntoma con su causa
Toca un elemento de la izquierda, luego su par
- 401 UnauthorizedFalta la clave en
.envo tiene una errata - 404 model not foundSe usó el id corto del modelo en lugar de
deepseek-ai/ DeepSeek- V4- Flash- 0731 - {"navigate": "google.com"} en lugar de {"navigate": {"url": ...}}El modelo devolvió el esquema de acción incorrecto
El último se describe en la página de modelos soportados de Browser Use (consultada el 8 de noviembre de 2026) para modelos Qwen más pequeños: pueden devolver un esquema de acción incorrecto. La solución que sugiere la documentación es incluir ejemplos del formato de acción correcto en el prompt. Añádelos al texto de la tarea, por ejemplo:
Actions are JSON objects like {"navigate": {"url": "https://..."}}.
Always put the url inside the object.Si una ejecución sigue dando vueltas, haz la tarea más concreta: una página, una pregunta, respuesta de una línea. Las tareas cortas terminan en menos pasos, y menos pasos es la solución más barata que existe.
Siguiente: LangChain con un base_url personalizado usa la misma idea de base_url si construyes tus propias cadenas alrededor del agente de navegador.



