Llamar a un modelo
Tu sitio puede hacerle una pregunta a un modelo: de Anthropic o de OpenAI con tu clave, o a la propia IA de cada visitante, a través de OpenRouter. La clave nunca está en la página.
Por qué no poner la clave en la página
Porque un sitio publicado es público. Una clave en el archivo es una clave en el navegador de todos los que lo abren, y lo primero que harán con ella no es lo que tenías en mente. Usar tu propia clave en un hosting de sitios estáticos suele ser una forma de filtrarla.
Por eso la clave se queda con nosotros. Tu página le hace la solicitud a su propia dirección, nosotros agregamos la clave y la reenviamos.
Quién paga
Alguien paga cada respuesta. En los ajustes del sitio, en IA, eliges quién, una sola vez para todo el sitio:
- Tú, con una clave guardada. En Pro y Team. Tu propia clave de Anthropic o de OpenAI paga, hasta un límite mensual que tú defines.
- Cada visitante, con su propia cuenta de OpenRouter. En todos los planes, Free incluido. Cada visitante se conecta una vez y paga sus propias llamadas.
- Desactivada. El sitio no llama a ningún modelo.
Solo una opción a la vez, para que siempre sepas de quién es el dinero que gasta una llamada.
Claves guardadas
Una clave se guarda una vez, en Claves y conexiones, en Claves de modelos, y luego cada sitio elige una de una lista. Ponle un nombre a cada una, como “Anthropic, trabajo”, y guarda todas las que quieras, incluso varias del mismo proveedor. Las claves de un espacio de trabajo se guardan en los ajustes del espacio, las guarda su propietario o un administrador, y solo los sitios de ese espacio pueden usarlas. Tus claves personales nunca pagan el sitio de un espacio de trabajo, ni al revés.
Una vez guardada, la clave no se vuelve a mostrar: solo sus cuatro últimos caracteres, cuándo se usó por última vez y qué sitios la usan. Una clave que algún sitio todavía usa no se puede quitar hasta que ese sitio elija otra, y Solta te dice qué sitios son.
Crea una clave aparte solo para Solta, con un límite de gasto en el proveedor. Nuestro límite es una defensa. El límite del proveedor es el que aguanta, pase lo que pase aquí.
Elegir un modelo
Eliges un nivel, no un modelo, y cada llamada del sitio usa el modelo de ese nivel, pida la página el modelo que pida. Las respuestas también quedan limitadas a la extensión máxima del nivel, para que una página no pueda pedir un ensayo con tu clave. Los mismos niveles se aplican cuando pagan los visitantes.
| Nivel | Anthropic | OpenAI | Respuesta más larga | 1000 respuestas cortas |
|---|---|---|---|---|
| Rápido y económico | claude-haiku-5-5 | gpt-6-luna | 1024 tokens | unos 0,14 US$ con Anthropic |
| Equilibrado (el predeterminado) | claude-sonnet-5-5 | gpt-6.1-sol | 2048 tokens | unos 2,80 US$ con Anthropic |
| El mejor | claude-opus-5-5 | gpt-6-astra | 4096 tokens | unos 5,60 US$ con Anthropic |
Una respuesta corta es una pregunta de unos 400 tokens y una respuesta de unos 200, al precio de lista del proveedor. Te cobra tu proveedor, no nosotros.
El límite mensual y el límite por visitante
Cuando paga tu clave, cada respuesta se cobra según lo que el proveedor dice que usó, y el sitio se detiene en un límite mensual en dólares: 10 US$, a menos que pongas otro. Los ajustes del sitio muestran en qué punto va, por ejemplo “3,20 US$ de 10 US$ este mes”. Te enviamos un correo al llegar al 80% y otra vez al 100%. En el límite, las llamadas se rechazan con { "code": "ai_allowance" } y una frase que tu página puede mostrar, hasta que empiece el mes siguiente o subas el límite. Cambiar la clave no reinicia el mes.
Cada visitante también tiene un número de llamadas por hora, 20 a menos que pongas otro, pague quien pague: se cuentan por dirección IP y por una cookie en el sitio, para que un visitante no agote el límite del mes a la hora del almuerzo. Después de eso, las llamadas se rechazan con { "code": "ai_visitor_limit" } y un retry-after.
Cómo usarlo
Cuando paga tu clave, haz un POST a /_solta/ai. El cuerpo es el cuerpo de solicitud del propio proveedor, y lo que vuelve es la respuesta del propio proveedor, sin cambios, porque su formato es suyo y no nos corresponde prometerlo. El modelo y la respuesta más larga son los del nivel. Las respuestas llegan completas, sin streaming.
const res = await fetch("/_solta/ai", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({
max_tokens: 512,
messages: [{ role: "user", content: "Summarise this page" }],
}),
});
const answer = await res.json();Los visitantes usan su propia IA
En todos los planes, Free incluido. Elige Cada visitante, con su propia cuenta de OpenRouter y cada visitante paga sus propias llamadas: conecta su propia cuenta de OpenRouter una vez, solo en este sitio, con un límite de gasto que elige ahí. Tu clave no se usa, y nadie pega una clave en ningún lado.
No hay nada que instalar. Cada página del sitio tiene window.solta.ai:
const answer = await solta.ai.chat({
messages: [{ role: "user", content: "Summarise this page" }],
});El modelo es el del nivel que elegiste, con el nombre que le da OpenRouter, como anthropic/claude-sonnet-5.5. solta.ai.request() devuelve la respuesta completa de OpenRouter, en el formato chat-completions de OpenAI. solta.ai.status() dice si este visitante está conectado, y solta.ai.disconnect() lo olvida.
La clave que crea OpenRouter se guarda aquí, cifrada, y nunca llega a la página. Solo funciona en tu sitio, y se elimina cuando el visitante se desconecta, después de 90 días sin uso, o cuando eliges cualquier opción que no sea los visitantes. Para conectarse, el sitio tiene que estar en su propia pestaña, así que, dentro de la página del sitio en Solta o de un sitio insertado, se le ofrece al visitante abrir una. En un sitio Privado, que solo abre su propia gente a través de Solta, usa tu propia clave.
Lo que ven los visitantes
La primera vez que el sitio necesita su IA, un visitante que no se ha conectado ve esto, en el idioma de su navegador, y la llamada se completa en cuanto se conecta:
Usa tu propia IA
Este sitio usa IA que pagas tú, a través de OpenRouter. Conéctala una vez: allí fijas un límite de gasto, y puedes desconectarla cuando quieras.
Ahora no · Conectar con OpenRouter
Solta guarda tu clave cifrada, nunca en esta página, y la borra tras 90 días sin uso.
Una vez conectado, una pequeña etiqueta “IA: conectada · Desconectar” queda en una esquina de la página, para que siempre vea que el sitio gasta su crédito y pueda detenerlo. Puede ocultarla durante el resto de la visita. Los ajustes de tu sitio muestran las mismas palabras.
Lo que esto no hace
No puede distinguir con certeza a un visitante de otro. Cualquiera que pueda abrir tu sitio puede hacer que llame al modelo, y con tu clave eso es gastar tu dinero. No hay forma de evitarlo mientras el sitio sea público: un secreto entregado al público no es un secreto. El nivel, el límite mensual, el límite por visitante y el límite del propio proveedor son lo que mantiene el gasto dentro de lo que querías. La alternativa es pedirle a cada visitante que use su propia IA.
Cambiar el sitio con solo pedirlo
Cuando paga tu clave, el sitio tiene una pestaña Chat junto a Comentarios y Versiones. Pide un cambio y vuelve el archivo completo. Un botón lo guarda como una versión nueva.
No se guarda nada hasta que presionas ese botón, y guardar una versión no cambia nada que alguien pueda ver: el enlace sigue mostrando lo que mostraba antes, hasta que publiques. Que un modelo termine no es motivo para que tu enlace cambie.
El chat gasta la misma clave, el mismo nivel y el mismo límite que el sitio, porque es la misma clave. Y solo funciona en un sitio de un solo archivo: una carpeta no tiene una sola cosa sobre la que iterar, y darle a un modelo un archivo de cuarenta es peor que negarse.

