Gere conteúdo de marketing por plataforma

O que é e por que usar

Gerar conteúdo de marketing por plataforma significa produzir variações de uma mesma mensagem adaptadas às regras, ao tom e ao formato de cada canal — LinkedIn, Instagram, e-mail, X/Twitter, blog — a partir de uma única ideia ou “pauta-mãe”. Em vez de escrever cinco textos diferentes do zero, você escreve um briefing curto e deixa a automação reescrever, encurtar ou expandir o conteúdo respeitando o limite de caracteres, o estilo e o público de cada rede.

O problema que isso resolve é concreto: produzir conteúdo nativo para cada canal consome tempo. Segundo pesquisas de mercado (HubSpot, 2023), mais de 70% das equipes de marketing com menos de 5 pessoas relatam que “tempo de produção” é o principal gargalo para manter consistência de publicação. Quando você publica o mesmo texto no LinkedIn e no Instagram, a entrega cai — o LinkedIn penaliza links externos e o Instagram prioriza conteúdo visual com menos texto.

Com n8n você conecta uma fonte de pauta (formulário, Notion, planilha), um modelo de linguagem (OpenAI, Gemini ou Claude) e os canais de destino em um único fluxo. O resultado é um pipeline de conteúdo previsível: você entra com um briefing e sai com versões prontas para revisão, em minutos.

Close-up of hands holding a smartphone with a beaker drink nearby.

Pré-requisitos

  • Uma instância do n8n rodando (cloud ou self-hosted, versão 1.x ou superior).
  • Chave de API de um provedor de LLM: OpenAI, Google Gemini ou Anthropic.
  • Conta em uma ferramenta de armazenamento estruturado: Airtable, Notion ou Google Sheets (para revisão humana).
  • Conhecimento básico de JSON e de como passar campos entre nós no n8n ({{ $json.campo }}).
  • Ter clareza sobre as regras de cada plataforma: LinkedIn (3.000 caracteres), Instagram (2.200 caracteres por legenda), X (280 caracteres por post na versão gratuita), e-mail (assunto até 60 caracteres).
  • Definição de voz de marca: tom, palavras proibidas, público-alvo por canal.

Exemplo Prático: Repurposing de artigo para LinkedIn, Instagram e e-mail na Cerâmica Vila Nova

Cenário: a Cerâmica Vila Nova é um atelier de cerâmica utilitária que vende dois públicos ao mesmo tempo — restaurantes e cafeterias (B2B) e consumidor final (D2C). Toda quinta-feira eles publicam um artigo novo no blog. O problema é que a equipe de marketing (duas pessoas) gasta quase 4 horas por semana cortando esse artigo manualmente para LinkedIn, criando três slides de carrossel escritos para Instagram e reescrevendo uma versão para a newsletter.

O que será automatizado: um fluxo no n8n que recebe a URL do artigo publicado, extrai o conteúdo, gera três versões específicas por plataforma com prompts distintos e salva tudo em uma base Airtable com status “Aguardando revisão”.

Resultado esperado: a equipe reduz o tempo de produção semanal de ~4h para ~25 minutos (revisão + ajustes finos). O conteúdo sai no formato correto de cada canal, sem retrabalho de copy básica.

Detalhamento dos entregáveis por plataforma

  • LinkedIn (B2B): post de 1.200 a 1.500 caracteres, tom analítico, sem emoji excessivo, com CTA para conversa comercial.
  • Instagram (D2C): legenda de até 800 caracteres + sugestão de texto para 3 slides de carrossel, tom mais leve.
  • E-mail: assunto de até 55 caracteres, preview de 90 caracteres e corpo curto de 200 palavras.

Configuração Passo a Passo

O fluxo tem 7 nós. Abaixo, a ordem de construção e os parâmetros essenciais.

  1. Nó 1 — Webhook (trigger): tipo Webhook, método POST, path /gerar-conteudo. Ele recebe um JSON com a URL do artigo e a pauta. Usamos webhook porque o blog dispara o fluxo assim que o post é publicado.
  2. Nó 2 — HTTP Request (extrair artigo): tipo HTTP Request, método GET, URL {{ $json.url_artigo }}. Response format: Text. Esse nó baixa o HTML do artigo. Se o blog tiver RSS, prefira o nó RSS Read, que entrega o texto já limpo.
  3. Nó 3 — Code (limpeza de HTML): tipo Code, linguagem JavaScript. Remove tags e devolve apenas o texto. Exemplo de bloco:
const html = $input.first().json.data;
const texto = html
  .replace(/<script[\s\S]*?<\/script>/g, '')
  .replace(/<[^>]+>/g, ' ')
  .replace(/\s+/g, ' ')
  .trim()
  .slice(0, 6000); // limita contexto para o LLM
return [{ json: { conteudo_limpo: texto, url: $input.first().json.url_artigo } }];
  1. Nó 4 — OpenAI (Chat Model) com Prompt do LinkedIn: tipo OpenAI, operação Message a Model, modelo gpt-4o-mini (bom custo/benefício para copy). O parâmetro Prompt recebe uma instrução sistemática reaproveitável:
{
  "model": "gpt-4o-mini",
  "messages": [
    {
      "role": "system",
      "content": "Você é redator B2B da Cerâmica Vila Nova. Escreva para donos de restaurante. Tom direto, sem clichês. Nunca use as palavras 'incrível', 'imperdível' ou 'revolucionário'. Máximo 1.400 caracteres. Termine com uma pergunta aberta."
    },
    {
      "role": "user",
      "content": "Baseie-se neste artigo:\n\n{{ $json.conteudo_limpo }}\n\nGere o post de LinkedIn."
    }
  ],
  "temperature": 0.7
}
  1. Nó 5 — OpenAI (Instagram): clone do nó anterior, mudando apenas o system prompt para “tom D2C, mais leve, inclua sugestão de 3 slides de carrossel, legenda até 800 caracteres, 5 hashtags específicas de cerâmica artesanal”.
  2. Nó 6 — Merge ou Set: tipo Set, para consolidar os três outputs em um único item com campos linkedin, instagram e email, mais o url_artigo original.
  3. Nó 7 — Airtable (Create Record): tipo Airtable, operação Create. Mapeie cada campo. Adicione uma coluna status com valor fixo "Aguardando revisão" e uma coluna data_geracao com {{ $now.toISO() }}.

Ao final, você tem um fluxo que roda em menos de 45 segundos. A revisão humana continua sendo feita — mas agora você revisa três rascunhos prontos, não escreve três textos do zero.

Formato do webhook de entrada

{
  "url_artigo": "https://blog.ceramicavilanova.com.br/ceramica-vs-porcelana-restaurantes",
  "pauta": "comparativo técnico para donos de restaurante",
  "publico_prioritario": "B2B"
}

Dicas e Variações

  • Divida o prompt por voz de marca: mantenha um único nó “Config” com o tom de cada canal. Assim, quando a identidade da marca mudar, você edita um lugar só.
  • Use temperature diferente por canal: LinkedIn costuma funcionar melhor entre 0.5 e 0.7 (mais contido), Instagram aceita 0.8 a 0.9 (mais criativo).
  • Adicione um nó de validação de caracteres: um IF que bloqueia o envio ao Airtable se o post do LinkedIn passar de 1.800 caracteres. Evita erros de formato antes da revisão.
  • Versão com Gemini ou Claude: basta trocar o nó de LLM. O restante do fluxo não muda. Útil para testar custo por token entre provedores.
  • Encadeie com agendamento: em vez de webhook, use o nó Schedule Trigger para puxar as pautas de uma planilha toda segunda-feira e gerar o lote da semana de uma vez.
a person on a cell phone and a laptop on a table

Erros Comuns e Como Evitá-los

  • Repetir o mesmo texto em todos os canais. O erro mais comum é gerar um único output e colar em todo lugar. Cada canal precisa de prompt próprio — é justamente o ponto do fluxo.
  • Estourar o contexto do modelo. Artigos longos (acima de 8.000 palavras) devem ser resumidos antes do LLM. No nó Code, corte em 6.000 caracteres ou faça um resumo intermediário com um nó de LLM separado.
  • Ignorar limites técnicos das redes. LinkedIn corta em 3.000 caracteres, Instagram em 2.200. Se o modelo gerar mais, o texto é truncado silenciosamente. Valide sempre.
  • Publicar direto sem revisão. Automatizar a geração é seguro; automatizar a publicação sem revisão gera risco reputacional. Mantenha o status “Aguardando revisão” e a aprovação humana.
  • Não versionar prompts. Guarde os prompts em um Airtable separado ou arquivo versionado. Sem isso, você perde o rastro de qual versão gerou qual resultado.

Próximos Passos

Comece pequeno e mensurável: monte apenas o fluxo LinkedIn desta semana. Use um artigo já publicado, compare o output da IA com o que você teria escrito manualmente e ajuste o system prompt. Quando o resultado estiver consistente (3 a 4 testes), adicione o Instagram e, em seguida, o e-mail.

Depois de rodar por um mês, meça duas métricas: tempo de produção por peça (meta: cair de ~60 para ~10 minutos) e taxa de aprovação sem edição (meta: acima de 70%). Esses dois números dizem se o pipeline está realmente economizando tempo ou apenas gerando mais rascunhos para revisar.

Se quiser ir além, conecte o Airtable a um nó de publicação via API (LinkedIn Business API e Meta Graph API) para agendar automaticamente após a aprovação — deixando o humano apenas no papel de aprovar, não de montar.

Gostou do conteúdo? Inscreva-se para receber as novidades:

CATEGORIES:

rotinas

Tags:

Comments are closed