O que é e por que usar
Escrever descrições de produto é uma daquelas tarefas que parece simples até você ter que fazer 80 vezes seguidas. Cada ficha precisa de título otimizado, características técnicas, benefícios, palavras-chave para SEO e um tom consistente com a marca. Feito manualmente, isso consome de 5 a 15 minutos por item — e a qualidade cai conforme o cansaço aumenta.
Gerar descrições de produto em segundos com automação significa montar um fluxo que recebe os dados brutos do item (nome, marca, medidas, material, preço) e devolve um texto pronto, formatado e padronizado. A peça central é um modelo de linguagem (OpenAI, Anthropic Claude, Google Gemini ou um modelo local via Ollama) acionado por uma ferramenta de orquestração como o n8n. O fluxo lê uma planilha ou recebe um webhook, envia os dados para o modelo com um prompt estruturado e grava o resultado de volta na base.
O ganho real não é só velocidade. É consistência: todas as descrições seguem a mesma estrutura, o mesmo tom de voz e as mesmas regras de SEO. Quando você precisa ajustar algo (mudar o CTA, incluir uma nova norma técnica), altera o prompt uma vez e regenera tudo. Para lojas com catálogos grandes ou catálogos que mudam toda semana, isso deixa de ser conveniência e passa a ser infraestrutura.

Pré-requisitos
- Conta no n8n — cloud ou self-hosted (a versão community é suficiente para começar).
- Chave de API de um LLM — OpenAI, Anthropic, Gemini ou outro. Guarde a chave como credencial no n8n, nunca no corpo do workflow.
- Base de dados dos produtos — Google Sheets, Airtable, PostgreSQL, Notion ou o próprio ERP com API.
- Conhecimento básico de n8n — saber criar workflow, adicionar nós e usar expressões com
{{ }}. - Definição do tom de voz e padrão de saída — antes de automatizar, escreva à mão 2 ou 3 descrições de referência. Elas serão o molde do prompt.
- Noção de custo por token — um modelo como GPT-4o mini custa uma fração de centavo por descrição curta; um modelo grande pode custar 10x mais. Defina o orçamento antes.
Exemplo Prático: Cavaquinho & Cia — 240 instrumentos artesanais em uma tarde
O Cavaquinho & Cia é uma loja online de instrumentos de corda artesanais (cavaquinhos, bandolins, violas caipiras) que trabalha com três luthiers parceiros. Toda quinta-feira chega um lote novo: em média 60 instrumentos, cada um com madeira diferente, escala, número de cordas, acabamento e afinação específica. O dono, Rafael, escrevia as descrições manualmente e levava cerca de 9 minutos por instrumento — quase 9 horas por semana.
O que será automatizado
- Leitura automática do lote direto de uma planilha do Google Sheets alimentada pelos luthiers.
- Envio dos dados técnicos para a API do GPT-4o mini com um prompt que define estrutura, tom e regras de SEO.
- Gravação da descrição finalizada em outra aba da planilha, já com título e meta description.
- Notificação no Slack quando o lote termina, com a contagem de itens processados e falhas.
Resultado esperado
Ao final do fluxo, Rafael tem 60 descrições prontas em aproximadamente 3 a 4 minutos, com estrutura idêntica e custo total em torno de US$ 0,04 (usando GPT-4o mini com prompts de ~250 tokens de entrada e ~300 de saída). O tempo economizado por semana fica entre 8 e 9 horas.
Configuração Passo a Passo
O workflow tem cinco nós principais. Vamos nó por nó.
1. Nó Google Sheets Trigger (ou Manual Trigger para testes)
Use o Google Sheets Trigger configurado para disparar quando uma nova linha for adicionada na aba Lote_Semanal. Para testes, troque por um Manual Trigger. Campos esperados na planilha: sku, modelo, luthier, madeira_tampo, madeira_fundo, escala_mm, numero_cordas, acabamento, preco.
2. Nó Set (normalização de dados)
Adicione um nó Set para montar um objeto limpo. Isso evita mandar campos vazios ou com nome errado para o modelo.
{
"sku": "{{ $json.sku }}",
"modelo": "{{ $json.modelo }}",
"luthier": "{{ $json.luthier }}",
"especificacoes": {
"tampo": "{{ $json.madeira_tampo }}",
"fundo": "{{ $json.madeira_fundo }}",
"escala_mm": {{ $json.escala_mm }},
"cordas": {{ $json.numero_cordas }},
"acabamento": "{{ $json.acabamento }}"
},
"preco": {{ $json.preco }},
"loja": "Cavaquinho & Cia"
}
3. Nó HTTP Request (chamada ao modelo)
Adicione um nó HTTP Request. Método: POST. URL: https://api.openai.com/v1/chat/completions. Autenticação: Header Auth com Authorization: Bearer SUA_CHAVE. Body em JSON:
{
"model": "gpt-4o-mini",
"temperature": 0.6,
"max_tokens": 450,
"messages": [
{
"role": "system",
"content": "Você é redator de e-commerce especializado em instrumentos de corda artesanais brasileiros. Escreva descrições em português do Brasil, tom caloroso e técnico. Estrutura obrigatória: (1) parágrafo de abertura com o nome do instrumento e diferencial, (2) lista de 5 características técnicas, (3) parágrafo de aplicação musical, (4) CTA convidando a conhecer o instrumento. Nunca invente madeiras ou medidas que não estejam nos dados. Máximo de 220 palavras."
},
{
"role": "user",
"content": "{{ JSON.stringify($json) }}"
}
]
}
Ative a opção Response Format: JSON se quiser forçar uma saída estruturada. Nesse caso, use "response_format": {"type": "json_object"} e ajuste o system prompt pedindo um JSON com as chaves titulo, descricao, meta_description.
4. Nó Code (parse da resposta)
O modelo devolve a resposta dentro de choices[0].message.content. O nó Code extrai o texto e separa título e corpo:
const resposta = $json.choices[0].message.content;
const partes = resposta.split('\n\n');
return [{
json: {
sku: $('Set').item.json.sku,
titulo: $('Set').item.json.modelo,
descricao: resposta,
caracteres: resposta.length,
origem: 'gpt-4o-mini'
}
}];
5. Nó Google Sheets (append) e notificação no Slack
Configure um nó Google Sheets com operação Append, apontando para a aba Descricoes_Prontas. Mapeie sku, titulo, descricao e adicione uma coluna data_geracao com {{ $now }}. Em seguida, um nó Slack com a mensagem: Lote processado: {{ $runIndex + 1 }} instrumentos. Falhas: 0.
Resultado do fluxo
Ao rodar em modo de teste com 3 instrumentos, o workflow leva em média 11 segundos por item (dominado pela latência da API). Em produção, com 60 itens processados em paralelo (split in batches de 10), o lote inteiro sai em menos de 4 minutos.
Dicas e Variações
- Use 2 modelos em cascata: um modelo pequeno gera a primeira versão, e um modelo maior revisa e ajusta. Custa um pouco mais, mas eleva muito a qualidade em catálogos premium.
- Alimente o prompt com exemplos: inclua 2 descrições aprovadas anteriormente dentro do system prompt. Isso reduz drasticamente a variação de tom entre lotes.
- Gere SEO separado: peça ao modelo para produzir título, meta description e 5 palavras-chave em campos distintos. Fica mais fácil integrar com Shopify, WooCommerce ou VTEX depois.
- Guarde a versão bruta: mantenha uma coluna com o prompt enviado. Se algo sair errado, você consegue reproduzir e ajustar sem tentativa e erro.
- Separe por categoria: um prompt por família de produto (cavaquinho, bandolim, viola) rende resultados melhores do que um prompt genérico, porque cada tipo tem vocabulário técnico próprio.

Erros Comuns e Como Evitá-los
- Deixar o modelo inventar especificações. Se o campo
madeira_tampoestiver vazio, o modelo preenche com algo plausível. Solução: no nó Set, valide campos obrigatórios e descarte ou marque o item para revisão manual. - Não limitar o tamanho da saída. Sem
max_tokensdefinido, algumas respostas estouram o custo e geram textos longos demais para a ficha do produto. - Esquecer tratamento de erro. Use o Error Workflow do n8n e o campo Retry On Fail com 2 tentativas nos nós HTTP. APIs de LLM sofrem com picos de latência.
- Não versionar o prompt. Você vai ajustar o prompt várias vezes. Guarde cada versão em uma coluna ou em um arquivo separado, junto com a data da mudança.
- Publicar sem revisão humana. Mesmo com boa qualidade, 5 a 10% das descrições podem sair com detalhes estranhos. Crie uma etapa de aprovação no Sheets antes de subir para a loja.
Próximos Passos
- Hoje: escreva à mão 3 descrições de referência do seu catálogo. Elas são a base do prompt — sem isso, o resultado fica genérico.
- Nesta semana: monte o workflow com 5 itens reais, rode em modo teste e ajuste o system prompt até o resultado ficar publicável.
- Próxima semana: conecte o fluxo ao seu canal real (Shopify, WooCommerce, Bling, Tiny) e adicione uma etapa de aprovação humana antes da publicação.
- Depois: expanda o mesmo workflow para gerar variações A/B de título e meta description, e alimente seu time de marketing com dados de performance por variação.
Se você já tem um catálogo parado esperando descrição, comece pelo item mais simples. Um cavaquinho, um parafuso, um pote de mel — qualquer produto serve para validar o fluxo. Em 90 minutos você tem a primeira versão rodando; em uma tarde, o catálogo inteiro.
Gostou do conteúdo? Inscreva-se para receber as novidades:


Comments are closed