Converse com seu PDF
Conversar com PDF é fazer perguntas em linguagem normal — “qual o valor total?”, “quando vence o contrato?” — e receber respostas tiradas do próprio arquivo. A API indexa o documento, busca os trechos certos e responde com base neles. Serve para contratos, editais, manuais e relatórios longos que ninguém tem tempo de ler inteiros.
Rode online
Rode nos nossos servidores com a sua conta. As ferramentas grátis rodam no seu navegador; esta aqui é descontada do seu saldo do KIT pelo preço acima.
Como funciona por dentro
O documento é dividido em trechos, cada trecho vira um vetor numérico (embedding) e as suas perguntas são comparadas com esses vetores. A API recupera os trechos mais próximos do que você perguntou e um modelo de linguagem escreve a resposta usando só esse material. É a técnica conhecida como RAG: a resposta nasce do seu PDF, não da memória do modelo, o que reduz muito a chance de invenção.
Envie uma vez, pergunte quantas vezes precisar
O fluxo tem duas pontas: primeiro você manda o PDF em uma chamada e recebe um task_id; depois manda perguntas referenciando esse documento. Não precisa reenviar o arquivo a cada dúvida — um contrato de 150 páginas sobe uma vez e aguenta a reunião inteira de perguntas. Cada consulta trabalha com contexto de até 20.000 tokens e o índice comporta até 10.000 trechos, o que cobre com folga editais, manuais e relatórios extensos.
O que perguntar — e o que esperar da resposta
Pergunte como perguntaria a um colega: “qual é a multa por rescisão antecipada?”, “quais documentos o edital exige na habilitação?”. A resposta vem em texto corrido, no idioma da pergunta, apoiada nos trechos encontrados. Quando o documento não traz a informação, o comportamento correto é dizer isso — desconfie de ferramenta que responde tudo com a mesma segurança. Para PDF escaneado sem camada de texto, rode um OCR antes: a conversa funciona sobre texto, não sobre imagem pura.
Quanto custa cada resposta
O preço é publicado e por uso: US$ 0,003 por chamada mais US$ 0,015 por pergunta respondida. Em números práticos, tirar 50 dúvidas de um contrato custa menos de US$ 1. Não tem mensalidade, não tem plano mínimo e não tem cadastro — você paga pelo que consumir e pronto. Para quem processa volume, como um escritório que analisa dezenas de contratos por semana, o custo continua linear e previsível.
Casos de uso
Contrato de aluguel comercial sem susto
A TecnoSul Soluções Digitais ME vai alugar uma sala em Curitiba e recebe um contrato de 40 páginas. Em vez de ler tudo na véspera, o sócio envia o PDF e pergunta: “posso rescindir antes de 12 meses?”, “o reajuste segue qual índice?”. As respostas saem na hora, apontando o que o contrato realmente diz.
Edital de licitação (ou de concurso) destrinchado
Edital brasileiro passa fácil de 80 páginas. Quem vai participar de uma licitação — ou estudar para concurso — envia o edital e pergunta prazos, documentos exigidos e critérios de desclassificação, sem caçar a informação no Ctrl+F.
Manuais e políticas no atendimento técnico
A Distribuidora Horizonte Verde S.A. mantém manuais de logística e políticas internas em PDF. A equipe de atendimento conecta o sistema à API e responde dúvidas de clientes citando a política vigente, em vez de encaminhar o PDF inteiro por e-mail.
Contador com pilha de documentos do cliente
Na época do imposto de renda, o contador recebe informes de rendimento e extratos em PDF. Conversando com cada documento, confere valores e datas direto na fonte, sem redigitar nada.
Perguntas frequentes
Preciso reenviar o PDF a cada pergunta?
Não. O documento sobe uma vez, é indexado e recebe um identificador; as perguntas seguintes só referenciam esse identificador. Isso deixa a conversa rápida e barata.
Funciona com PDF escaneado, tipo foto de documento?
A conversa acontece sobre o texto do PDF. Se o arquivo é um escaneado sem camada de texto, passe antes por um OCR — o KIT também tem essa ferramenta — e depois converse normalmente.
A resposta vem em português?
Vem no idioma em que você perguntar. Dá para enviar um contrato em inglês e perguntar em português: a resposta sai em português, baseada no que o documento diz.
Quanto custa e como eu pago?
US$ 0,003 por chamada mais US$ 0,015 por pergunta, sempre em dólar e com o preço publicado nesta página. O pagamento é via PayPal, sem cadastro e sem mensalidade: compra direta de saldo.
Meus contratos ficam guardados em algum servidor? E a LGPD?
O documento é enviado para a API e processado para montar o índice e gerar as respostas. Se contém dados pessoais, aplique o princípio de minimização da LGPD: envie só o que precisa ser analisado e trate o resultado com o mesmo cuidado do original.
Tem limite de tamanho de documento?
O índice de cada documento comporta até 10.000 trechos e cada consulta trabalha com até 20.000 tokens de contexto — editais, contratos e manuais grandes cabem sem aperto. Documentos maiores podem ser divididos e indexados em partes.
Isso já está funcionando ou é lista de espera?
Está no ar: a capacidade é estável e aceita execuções via API hoje. Você chama o endpoint, recebe um task_id e consulta o resultado — o padrão assíncrono de todo o KIT.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/rag/chat-pdf \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/rag/chat-pdf", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/rag/chat-pdf",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/rag/chat-pdf", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/rag/chat-pdf", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"input": "…"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "rag.chat_pdf",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_chunks | 10000 |
max_tokens | 20000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
422 | task_failed | A tarefa falhou do nosso lado. Você não paga nada por ela. |