Como converter texto em JSON
Um currículo que traz o telefone numa frase e o cargo três parágrafos depois volta como um único registro organizado com os dois dados, no formato exato que você definiu e conferido antes da entrega. Você paga por uso, sem assinatura.
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.
do texto solto ao dado estruturado
Por que texto escrito para pessoas não cabe num banco de dados
Texto livre se recusa a entrar numa coluna de banco de dados até que alguém o obrigue. O que é escrito para pessoas quase nunca coincide com as informações de que um sistema precisa. Um currículo cita o telefone numa frase e o cargo três parágrafos depois; uma descrição de produto esconde o material e as medidas no meio do texto de marketing. Escrever regras de extração diferentes para cada fonte é uma batalha perdida, porque o formato muda toda vez que a fonte muda. Aqui você descreve uma única vez o registro que quer, com seus dados, o tipo de valor de cada um e quais são obrigatórios, e aplica isso a qualquer texto.
Um registro exatamente no formato pedido
O que volta segue a sua estrutura à risca: nenhum dado inventado a mais, nenhum nome trocado e nenhum texto transformado em número quando não deveria. Cada resultado é conferido contra a sua estrutura antes da entrega, então um registro malformado nunca entra escondido no seu banco de dados para quebrar algo depois; você vê o problema na hora. Se uma informação obrigatória realmente não está no texto, o resultado avisa em vez de inventar um valor que parece plausível. Os usos típicos são transformar descrições de produto de fornecedores em registros de catálogo com preço, medidas e material, e transformar o e-mail de reclamação de um cliente em categoria, nível de urgência e referência de conta para o encaminhamento.
Você descreve os campos, o texto vira dado
Um pedido chega por e-mail: "preciso de 20 caixas do item 4530 pra entregar na filial de Osasco até o dia 25". Para uma pessoa, está tudo claro; para um sistema, é só uma frase. O que o texto não informa vem como nulo, sem invenção para completar o esquema.
Sempre no formato certo para outros sistemas
A saída passa por validação antes de chegar a você: chaves consistentes, tipos corretos (número como número, data como data), listas onde você pediu listas. É a diferença entre isso e arrancar dados com expressão regular — a regex quebra na primeira frase escrita de um jeito imprevisto, enquanto o modelo lê variações, erros de digitação e ordens diferentes das palavras. Para texto que humanos escrevem livremente, estrutura frágil é estrutura inútil.
Perguntas frequentes
E se o texto não tiver a informação de um campo?
O campo volta nulo (ou ausente, conforme o esquema pedido). A ferramenta não inventa valor para preencher lacuna — num pipeline de dados, um nulo honesto vale mais que um palpite bonito.
Posso mandar texto com dados de clientes?
Como quem envia é você, a LGPD pede o cuidado de sempre: inclua no texto só os dados pessoais que o seu esquema realmente precisa.
Que tipos de texto posso transformar em dados estruturados?
Qualquer texto escrito para pessoas: currículos, descrições de produto de fornecedores, chamados de suporte ou e-mails de reclamação. Você decide quais informações extrair, e a mesma estrutura funciona seja qual for o jeito de escrever de cada fonte.
Ele pode acrescentar ou renomear dados que eu não pedi?
Não. O resultado traz só os dados que você definiu, com os nomes que escolheu e o tipo de valor que indicou. Nada a mais é inventado e nenhum texto vira número sem aviso.
Por que não escrever minhas próprias regras de extração?
Porque essas regras quebram sempre que a fonte muda de formato, e cada novo fornecedor ou modelo exige um conjunto novo. Aqui você descreve o registro uma vez e aplica a qualquer texto, escrito do jeito que for.
Ferramentas relacionadas
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/to-json \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"El informe trimestral cerró con 1,2 M€ de ingresos.","schema":{"name":"string","total":"number"}}'const res = await fetch("https://api.kit.forhosting.com/text/to-json", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "El informe trimestral cerró con 1,2 M€ de ingresos.",
"schema": {
"name": "string",
"total": "number"
}
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/to-json",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "El informe trimestral cerró con 1,2 M€ de ingresos.",
"schema": {
"name": "string",
"total": "number"
}
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/to-json", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"El informe trimestral cerró con 1,2 M€ de ingresos.","schema":{"name":"string","total":"number"}}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"El informe trimestral cerró con 1,2 M€ de ingresos.","schema":{"name":"string","total":"number"}}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/to-json", 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": "El informe trimestral cerró con 1,2 M€ de ingresos.",
"schema": {
"name": "string",
"total": "number"
}
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.to_json",
"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. |
Notas técnicas
Esta capacidade converte texto livre em JSON: você diz quais campos quer — cliente, itens, prazo, o que for — e a IA lê o texto e preenche a estrutura. É a ponte entre a linguagem das pessoas e o formato que o seu sistema entende, via API, paga por uso.
Você descreve os campos, o texto vira dado
Na chamada, você envia o texto e a descrição do que quer de volta — produto, quantidade, destino, data — e recebe o JSON preenchido.
Preço, limites e onde encaixar no fluxo
US$ 0,003 por chamada mais US$ 0,0135 por 1.000 palavras do texto de entrada, até 20.000 tokens por chamada. Mil e-mails de pedido, com umas 150 palavras cada, saem por cerca de US$ 5. O encaixe natural é no meio do fluxo: o texto chega (e-mail, formulário, mensagem), a API estrutura, e o JSON segue para o ERP, o CRM ou o banco de dados — sem ninguém digitando de novo o que o cliente já escreveu.
Casos de integração
Pedidos que chegam por e-mail
A Distribuidora Horizonte Verde recebe pedidos de clientes antigos por e-mail, escritos de qualquer jeito. Cada mensagem passa pela API e vira JSON com cliente, itens, quantidades e prazo — que entra no sistema de pedidos sem redigitação e sem o erro clássico de trocar 15 por 50.
Anúncios de imóveis padronizados
Uma imobiliária de Porto Alegre recebe descrições de imóveis escritas pelos corretores: texto corrido, cada um no seu estilo. A conversão extrai área, quartos, vagas, bairro e valor de aluguel para o JSON do portal — o filtro de busca do site passa a funcionar porque os dados viraram campos.
Mensagens de clientes viram campos do CRM
No atendimento de uma operadora de planos odontológicos, cada conversa encerrada é convertida em JSON: motivo do contato, produto citado, desfecho, necessidade de retorno. O relatório mensal que dependia de preenchimento manual dos atendentes agora sai dos dados reais das conversas.
Fichas técnicas de fornecedores
Rafael Almeida Costa importa acessórios de bicicleta e recebe especificações por texto: material, peso, compatibilidade, tudo em parágrafos. Converte cada descrição em JSON com os campos do seu catálogo e sobe os produtos na loja em minutos, com atributos filtráveis.
Perguntas técnicas
Como eu digo quais campos quero no JSON?
Na própria chamada: você descreve o esquema desejado — nomes dos campos, tipos, se aceita lista — junto com o texto. A resposta segue essa estrutura. Quanto mais claro o esquema, mais previsível a saída, o que facilita integrar.
Qual a diferença para converter CSV ou XML em JSON?
As capacidades de conversão de arquivos trabalham com dados já estruturados, trocando o formato. Esta parte de texto livre — e-mail, descrição, mensagem — onde não há estrutura nenhuma ainda. Se sua fonte é uma planilha, use a conversão de arquivo; se é prosa, é aqui.
A saída pode vir com JSON quebrado?
A resposta é validada antes de ser devolvida: se não passa em JSON.parse, não chega a você como resultado. É um requisito de projeto, porque a utilidade disso é justamente alimentar sistemas sem tratamento manual.
Quanto custa estruturar mil mensagens?
Em dólar, por uso: US$ 0,003 por chamada mais US$ 0,0135 por 1.000 palavras. Mil mensagens de 150 palavras somam cerca de US$ 5,03 — sem plano mínimo, pagando só o que processar.