Chamar um modelo
O seu site pode fazer uma pergunta a um modelo: da Anthropic ou da OpenAI com a sua chave, ou à própria IA de cada visitante, através do OpenRouter. A chave nunca está na página.
Porque não pôr a chave na página
Porque um site publicado é público. Uma chave no ficheiro é uma chave no navegador de toda a gente que o abre, e a primeira coisa que farão com ela não é o que tinha em mente. Usar a sua própria chave num alojamento de sites estáticos é, normalmente, uma forma de a divulgar.
Por isso a chave fica connosco. A sua página faz o pedido ao seu próprio endereço, nós acrescentamos a chave e reencaminhamos o pedido.
Quem paga
Alguém paga cada resposta. Nas definições do site, em IA, escolhe quem, uma vez para todo o site:
- O dono do site, com uma chave guardada. No Pro e no Team. A sua própria chave da Anthropic ou da OpenAI paga, até um limite mensal que define.
- Cada visitante, com a sua própria conta do OpenRouter. Em todos os planos, incluindo o Free. Cada visitante liga-se uma vez e paga os seus próprios pedidos.
- Desligado. O site não chama nenhum modelo.
Só uma opção de cada vez, para saber sempre de quem é o dinheiro que um pedido gasta.
Chaves guardadas
Uma chave é guardada uma vez, em Chaves e ligações, na secção Chaves de modelo, e depois cada site escolhe uma numa lista. Dê um nome a cada uma, como «Anthropic, trabalho», e guarde quantas quiser, incluindo várias do mesmo fornecedor. As chaves de um espaço de trabalho são guardadas nas definições do espaço, pelo proprietário ou por um administrador, e só os sites desse espaço as podem usar. As suas chaves pessoais nunca pagam o site de um espaço de trabalho, nem o contrário.
Depois de guardada, a chave nunca mais é mostrada: só os quatro últimos caracteres, quando foi usada pela última vez e que sites a usam. Uma chave que algum site ainda usa não pode ser removida enquanto esse site não escolher outra, e o Solta diz que sites são.
Crie uma chave à parte só para o Solta, com um limite de gastos no fornecedor. O nosso limite é uma defesa. O limite do fornecedor é o que se mantém, aconteça o que acontecer aqui.
Escolher um modelo
Escolhe um nível, não um modelo, e cada pedido do site usa o modelo desse nível, seja qual for o modelo que a página peça. As respostas também ficam limitadas ao tamanho máximo do nível, para que uma página não possa pedir uma redação inteira com a sua chave. Os mesmos níveis aplicam-se quando os visitantes pagam.
| Nível | Anthropic | OpenAI | Resposta mais longa | 1000 respostas curtas |
|---|---|---|---|---|
| Rápido e barato | claude-haiku-5-5 | gpt-6-luna | 1024 tokens | cerca de 0,14 US$ com a Anthropic |
| Equilibrado (o predefinido) | claude-sonnet-5-5 | gpt-6.1-sol | 2048 tokens | cerca de 2,80 US$ com a Anthropic |
| O melhor | claude-opus-5-5 | gpt-6-astra | 4096 tokens | cerca de 5,60 US$ com a Anthropic |
Uma resposta curta é uma pergunta de cerca de 400 tokens e uma resposta de cerca de 200, ao preço de tabela do fornecedor. Quem lhe cobra é o seu fornecedor, não nós.
O limite mensal e o limite por visitante
Quando a sua chave paga, o preço de cada resposta é calculado a partir do que o fornecedor diz ter usado, e o site para num limite mensal em dólares: 10 US$, a não ser que defina outro. As definições do site mostram em que ponto está, por exemplo «3,20 US$ de 10 US$ este mês». Enviamos-lhe um e-mail aos 80% e de novo aos 100%. No limite, os pedidos são recusados com { "code": "ai_allowance" } e uma frase que a sua página pode mostrar, até o mês mudar ou subir o limite. Trocar a chave não faz o mês recomeçar.
Cada visitante também tem um número de pedidos por hora, 20 a não ser que defina outro, seja quem for que paga: contados por endereço IP e por um cookie no site, para que um visitante não esgote o limite de um mês à hora de almoço. Depois disso, os pedidos são recusados com { "code": "ai_visitor_limit" } e um retry-after.
Como usar
Com a sua chave a pagar, faça um POST para /_solta/ai. O corpo é o corpo do pedido do próprio fornecedor, e o que volta é a resposta do próprio fornecedor, sem alterações, porque o formato é dele e não nos cabe a nós prometê-lo. O modelo e a resposta mais longa são os do nível. As respostas chegam inteiras, sem 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();Os visitantes usam a sua própria IA
Em todos os planos, incluindo o Free. Escolha Cada visitante, com a sua própria conta do OpenRouter e cada visitante paga os seus próprios pedidos: liga a sua própria conta do OpenRouter uma vez, só neste site, com um limite de gastos que escolhe lá. A sua chave não é usada, e ninguém cola uma chave em lado nenhum.
Não há nada para instalar. Todas as páginas do site têm window.solta.ai:
const answer = await solta.ai.chat({
messages: [{ role: "user", content: "Summarise this page" }],
});O modelo é o do nível que escolheu, com o nome que o OpenRouter lhe dá, como anthropic/claude-sonnet-5.5. solta.ai.request() devolve a resposta inteira do OpenRouter, no formato chat-completions da OpenAI. solta.ai.status() diz se este visitante está ligado, e solta.ai.disconnect() esquece-o.
A chave que o OpenRouter cria fica guardada aqui, encriptada, e nunca chega à página. Só funciona no seu site, e é eliminada quando o visitante se desliga, após 90 dias sem uso, ou quando escolhe qualquer opção que não sejam os visitantes. Ligar exige o site num separador próprio, por isso, dentro da página do site no Solta ou de uma incorporação, é oferecido ao visitante um separador novo. Num site Privado, que só as pessoas dele abrem através do Solta, use antes a sua própria chave.
O que os visitantes veem
Da primeira vez que o site precisa da IA do visitante, quem ainda não se ligou vê isto, no idioma do próprio navegador, e o pedido segue assim que se ligar:
Use a sua própria IA
Este site usa IA paga por si, através do OpenRouter. Ligue-a uma vez: define lá um limite de gastos e pode desligá-la a qualquer momento.
Agora não · Ligar com o OpenRouter
O Solta guarda a sua chave encriptada, nunca nesta página, e elimina-a após 90 dias sem uso.
Depois de ligado, uma pequena etiqueta «IA: ligada · Desligar» fica num canto da página, para que o visitante veja sempre que o site gasta o seu crédito e o possa parar. Pode escondê-la durante o resto da visita. As definições do seu site mostram as mesmas palavras.
O que isto não faz
Não consegue distinguir com certeza um visitante de outro. Quem consegue abrir o seu site consegue pô-lo a chamar o modelo, e com a sua chave isso é gastar o seu dinheiro. Não há forma de o evitar enquanto o site for público: um segredo entregue ao público não é um segredo. O nível, o limite mensal, o limite por visitante e o limite do próprio fornecedor são o que mantém o gasto dentro do que pretendia. A alternativa é pedir a cada visitante que use a sua própria IA.
Alterar o site com um pedido
Quando a sua chave paga, o site ganha um separador Conversa ao lado de Comentários e Versões. Peça uma alteração e o ficheiro inteiro volta. Um botão guarda-o como uma versão nova.
Nada é guardado enquanto não carregar nesse botão, e guardar uma versão não muda nada que alguém possa ver: o link continua a mostrar o que mostrava antes, até publicar. Um modelo ter terminado não é razão para o seu link mudar.
A conversa gasta a mesma chave, o mesmo nível e o mesmo limite que o site, porque é a mesma chave. E só funciona num site de um único ficheiro: uma pasta não tem uma só coisa para ir melhorando, e entregar a um modelo um ficheiro entre quarenta é pior do que recusar.

