Título fraco derruba o clique
O gerador de títulos cria variações de headline a partir do seu conteúdo: você envia o texto ou o resumo do que produziu e recebe títulos com ângulos distintos — pergunta, número, benefício, curiosidade. Serve para artigo, vídeo, matéria e e-mail, via API.
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.
O conteúdo pode ser ótimo; quem abre a porta é o título
Entre publicar e ser lido existe um clique, e o clique é decidido pelo título — na busca, na timeline, na notificação. A diferença entre uma headline morna e uma precisa não é talento místico: é volume de tentativas. Quem escreve dez títulos e escolhe um publica melhor do que quem para no primeiro. A ferramenta industrializa exatamente essa etapa: gerar candidatos bons o bastante para a escolha valer a pena.
Ângulos que a ferramenta explora
Cada variação ataca por um lado diferente do mesmo conteúdo: a pergunta que o leitor já se faz, o número que resume o achado, o benefício direto, o contraste inesperado, o como-fazer. Você pode pedir a mistura ou travar um formato — só perguntas, só com número — e definir limite de caracteres por destino: título de vídeo tem folga, título de resultado de busca corta em cerca de 60 caracteres.
Chamativo sem trair o conteúdo
Título que promete o que o texto não entrega ganha o primeiro clique e perde todos os seguintes — a audiência aprende rápido em quem não confiar. Por padrão, as variações saem ancoradas no material que você enviou: nada de “você não vai acreditar” em cima de um tutorial de planilha. A regra prática que a ferramenta segue: intensidade máxima que o conteúdo sustenta, e nem um adjetivo a mais.
Preço por variação
Cada chamada custa US$ 0,003, e cada título gerado, US$ 0,0135 — quinze variações para escolher saem por cerca de US$ 0,21, em dólar. Para um canal ou portal que publica diariamente, testar títulos deixa de depender da inspiração da hora: vira um passo fixo e barato do fluxo de publicação, executado em segundos. E como não existe assinatura, o gasto acompanha o seu ritmo — publicou menos no mês, pagou menos no mês.
Casos de uso
Portal de notícias local decidindo a manchete
Um portal de Curitiba publica dezenas de matérias por dia e a manchete define o tráfego de cada uma. O editor envia o lide pela API e recebe oito opções em segundos: escolhe uma para a home e outra para o card das redes. A decisão que era discussão de dez minutos virou escolha entre candidatas prontas.
Canal de YouTube fugindo do título morno
Ana Paula Ferreira tem um canal de finanças pessoais e sabia que seus vídeos rendiam menos que o conteúdo merecia. Agora cada roteiro gera dez títulos — com número, com pergunta, com contraste — e ela cruza a escolha com a taxa de cliques do estúdio do canal. O título deixou de ser a última tarefa feita às pressas antes de publicar.
Blog corporativo que ninguém clicava
O blog de um e-commerce de eletrônicos publicava guias completos com títulos burocráticos — “Considerações sobre fones bluetooth”. Regenerando as headlines do acervo a partir do conteúdo real de cada guia, os textos antigos ganharam títulos que dizem o benefício. Mesmo acervo, roupagem nova: tráfego orgânico voltou a crescer sem escrever um artigo novo.
Perguntas frequentes
Quantos títulos vêm em cada chamada?
Você escolhe a quantidade no pedido; cada variação gerada é cobrada a US$ 0,0135. Entre dez e vinte costuma dar boa margem de escolha sem desperdício.
Dá para limitar o tamanho para YouTube ou Google?
Dá: informe o destino ou o limite de caracteres na chamada. Títulos para resultado de busca pedem por volta de 60 caracteres; vídeo aceita mais, mas o corte no card vem antes do limite oficial.
Como evito que os títulos virem clickbait?
O padrão da ferramenta já ancora as variações no conteúdo enviado, e você pode apertar na instrução: “sem superlativo, sem suspense artificial”. Título honesto e forte não é contradição — é artesanato.
A ferramenta prevê qual título terá mais cliques?
Não prevê, e é bom desconfiar de quem diz que prevê. Ela produz candidatos variados; a resposta verdadeira vem da sua audiência, medida na sua ferramenta de análise.
Como funciona o pagamento?
Uso avulso em dólar americano, via PayPal, com o preço desta página — sem assinatura nem pacote. Gerou quinze títulos, pagou por quinze títulos.
O conteúdo que envio para gerar títulos fica exposto?
Não: o material serve para aquela geração e o resultado só é acessível pelo task_id. Pauta embargada e vídeo não publicado continuam em sigilo.
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/text/headline \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/text/headline", {
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/text/headline",
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/text/headline", 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/text/headline", 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": "text.headline",
"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_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. |