Identificar idioma
A ferramenta recebe um texto e responde em que idioma ele foi escrito, devolvendo o código da língua em formato estruturado. Funciona com trechos curtos, textos que misturam idiomas e conteúdo vindo de fontes bagunçadas — a peça que falta para rotear atendimento, filtrar avaliações e organizar acervos multilíngues.
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 a detecção funciona
Você envia o texto via API e recebe o idioma identificado com seu código padrão — pronto para alimentar um filtro, uma tradução automática ou uma regra de roteamento. Quando o texto mistura línguas, a resposta indica o idioma predominante. A análise usa o conteúdo inteiro que você mandar, dentro do limite de 20.000 tokens por chamada, então parágrafos completos rendem detecção mais firme que fragmentos soltos.
Espanhol parecido, portunhol traiçoeiro
Distinguir português de mandarim é trivial; distinguir português de galego, ou uma frase curta em portunhol, é onde detectores simples tropeçam. Línguas próximas dividem vocabulário, e um “gracias” solto no meio de um texto brasileiro não muda o idioma do conjunto. A ferramenta pondera o contexto completo em vez de contar palavras isoladas — e nos casos genuinamente ambíguos, como três palavras válidas em duas línguas, honestamente não existe detector infalível: texto maior, resposta melhor.
Onde isso entra no seu fluxo
Detecção de idioma raramente é o fim; é o começo de uma decisão automática. Mensagem em espanhol vai para o atendente que fala espanhol; avaliação em inglês entra na fila de tradução; formulário preenchido em língua inesperada levanta bandeira de spam. Via API assíncrona, dá para classificar o backlog inteiro de uma caixa de entrada ou de uma base de comentários e deixar a triagem rodando sozinha daí em diante.
Preço por detecção
US$ 0,003 por chamada, mais US$ 0,0135 por 1.000 palavras analisadas, em dólar americano. Como a maioria das mensagens tem poucas dezenas de palavras, o custo típico por detecção fica na casa do terço de centavo de dólar. Sem cadastro prévio e sem plano mensal: o preço publicado é o preço cobrado, por uso — e num mês sem tráfego para classificar, a conta é simplesmente zero.
Casos de uso
Loja que vende para o Mercosul
A TecnoSul Soluções Digitais recebe avaliações em português, espanhol e de vez em quando inglês. A detecção separa cada avaliação por idioma antes da análise: as em espanhol vão para a fila de resposta do atendente bilíngue, e nenhum cliente argentino fica sem retorno.
Triagem de tickets de suporte
Carlos Eduardo Souza administra o suporte de um app com usuários em vários países. Cada ticket novo passa pela detecção de idioma na entrada e cai na fila certa automaticamente — antes, um estagiário fazia isso lendo um por um.
Acervo de documentos herdado
Uma consultoria em Recife herdou milhares de arquivos de um cliente multinacional, sem qualquer organização. Um script extrai o texto de cada documento, detecta o idioma e separa as pastas por língua — o primeiro passo para decidir o que traduzir.
Perguntas frequentes
Quantos idiomas a ferramenta reconhece?
As línguas de uso corrente na web, das grandes (inglês, espanhol, mandarim, árabe) às de menor circulação. Se o seu caso envolve uma língua muito rara, teste antes com amostras reais — é a forma honesta de validar.
Ela distingue português do Brasil de português de Portugal?
A detecção responde “português” com segurança; a variante é um segundo nível, identificável quando o texto traz marcas claras de vocabulário e de tratamento — o “você” brasileiro contra o “tu”/“vosso” lusitano, por exemplo. Em textos neutros e curtos, nem um linguista humano crava a variante.
E se o texto tiver duas línguas misturadas?
A resposta indica o idioma predominante do conjunto. Para separar por trecho, divida o texto em blocos — parágrafo a parágrafo, por exemplo — e detecte cada um em chamadas próprias.
Funciona com mensagem muito curta, tipo “ok, obrigado”?
Funciona, mas com a ressalva de qualquer detector: pouquíssimas palavras carregam pouca evidência. “Ok” sozinho é válido em dezenas de línguas. A partir de uma frase completa, a detecção fica estável.
Como é cobrado se eu mandar milhares de mensagens?
Cada chamada custa US$ 0,003 mais US$ 0,0135 por 1.000 palavras, em dólar. Detectar o idioma de 10.000 mensagens curtas custa poucos dólares no total — e você paga só pelo que rodar, sem mensalidade.
As mensagens analisadas ficam retidas?
O texto serve à detecção e volta com o resultado da tarefa; o serviço não mantém biblioteca de conteúdo por cliente. Mensagens de clientes são dados pessoais sob a LGPD — envie o necessário para a classificação e retenha o resto no seu lado.
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/detect-language \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"…"}'const res = await fetch("https://api.kit.forhosting.com/text/detect-language", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/detect-language",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/detect-language", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/detect-language", 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
{
"text": "…"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.detect_language",
"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. |