2Slides Logo
Automação de Catálogo de Produtos para Apresentações de Vendas (2026)
2Slides Team
19 min read

Automação de Catálogo de Produtos para Apresentações de Vendas (2026)

Automação de catálogo de produtos para apresentação significa que um script lê cada SKU do seu exportação Shopify, PIM ou CSV e chama a API 2Slides duas vezes: POST /api/v1/slides/generate cria uma folha de venda editável em PPTX a partir de um template fixo da marca, e POST /api/v1/slides/create-like-this cria um deck de lançamento com design de imagem que combina com o visual chave da sua campanha. Uma folha de venda de 6 páginas custa 60 créditos (cerca de $0,15); um deck de lançamento 2K de 8 páginas custa 810 créditos (cerca de $2,03). Foi criado para operações de e-commerce, marketing de produto e agências que atendem marcas de varejo.

Principais pontos

  • Uma linha do catálogo vira dois decks: uma folha de venda Fast PPT a 10 créditos por página, e um deck de lançamento com design de imagem a 10 créditos por trabalho mais 100 créditos por página 2K.
  • Cada endpoint de geração é limitado a 6 requisições por minuto por chave, então o executor envia um trabalho a cada 10 segundos e armazena o jobId junto ao SKU.
  • Passar o visual chave da marca como referenceImageUrl mantém todos os decks de lançamento com o mesmo visual da campanha, com aspectRatio "16:9" para compradores e "4:5" para social.
  • A mesma requisição com responseLanguage: "German" ou "Japanese" produz decks prontos para varejistas internacionais sem precisar de tradução separada.
  • 20 SKUs por mês (folha de venda mais deck de lançamento) custam cerca de 17.400 créditos, o que cabe em um único pacote de créditos de $42,50.

Para quem é este guia

Você gerencia operações de e-commerce ou marketing de produto para uma marca, marketplace ou agência, e toda vez que surge um novo SKU ou lançamento sazonal, alguém precisa refazer manualmente a mesma folha de venda, deck de revisão de linha e deck de lançamento. O catálogo já contém nome, características, especificações, preço e imagem principal. Esta receita torna o catálogo a fonte da verdade e permite que um script gere decks de produto a partir das linhas CSV em uma agenda ou evento Shopify.

Não use esta receita se você precisa de um deck personalizado por trimestre. A API vale a pena quando a mesma estrutura se repete em dezenas ou centenas de SKUs.

Fluxo de trabalho resumido

PassoFerramentaO que aconteceEndpoint 2Slides / créditos
1Exportação Shopify, PIM ou CSVNormaliza cada linha SKU em um resumo em texto simples (nome, características, especificações, preço, varejista, URL da imagem)Nenhum
2Script Node.jsGera a folha de venda para o varejista como PPTX editável a partir do template da marcaPOST /api/v1/slides/generate, 10 créditos/página
3Script Node.jsGera o deck de lançamento com design de imagem que combina com o visual da campanha, 16:9 e 4:5POST /api/v1/slides/create-like-this, 10 + 100 créditos/página (2K)
4Script Node.jsEspaça as submissões a cada 10 s, persiste o mapeamento jobId para SKU, faz polling, envia para S3GET /api/v1/jobs/{jobId}, grátis
5Mesmo script, linhas extrasGera variantes em alemão e japonês para varejistas internacionaisMesmos endpoints, responseLanguage definido por mercado
6Shopify + MakeEvento de produto criado dispara uma requisição HTTP para que novos SKUs tenham decks em minutosMesmos endpoints, mesmos créditos

Passo 1: Normalizar o catálogo em um resumo por SKU

Qualquer que seja a fonte, transforme cada SKU em uma linha com as mesmas colunas. Um CSV de produto Shopify já tem Title, Body (HTML), Variant Price e Image Src; uma exportação PIM geralmente tem atributos estruturados. Adicione duas colunas suas: target_retailer (qual comprador verá esta folha de venda) e market (qual idioma o varejista lê).

sku,name,features,specs,price,hero_image_url,target_retailer,market NB-TRAIL-042,Northbound Trail Runner 2,"Sola Vibram; drop de 8 mm; mesh reciclado no cabedal","Peso 265 g; Tamanhos EU 39-47; Cores: Moss, Slate",139.00,https://cdn.example-brand.com/nb-trail-042.jpg,Decathlon DE,de NB-TRAIL-042,Northbound Trail Runner 2,"Sola Vibram; drop de 8 mm; mesh reciclado no cabedal","Peso 265 g; Tamanhos EU 39-47; Cores: Moss, Slate",139.00,https://cdn.example-brand.com/nb-trail-042.jpg,Xebio JP,ja NB-PACK-018,Northbound Daypack 22L,"Fechamento roll-top; compartimento para laptop; ripstop 420D","Volume 22 L; Peso 610 g; Cores: Sand, Black",89.00,https://cdn.example-brand.com/nb-pack-018.jpg,REI US,en

O construtor de prompt transforma uma linha em userInput. Mantenha-o abaixo de algumas centenas de palavras e informe o público e a contagem de slides no texto, pois o Fast PPT planeja o deck a partir do resumo.

function sellSheetPrompt(row) { return [ `Folha de venda para varejista do ${row.name} (SKU ${row.sku}), preparada para a equipe de compras da ${row.target_retailer}.`, `6 slides: capa com nome do produto e posicionamento em uma linha; principais características; especificações técnicas; pontos de preço e margem (preço de varejo ${row.price} EUR); merchandising e cronograma de lançamento; contato e próximos passos.`, `Características: ${row.features}. Especificações: ${row.specs}.`, `Tom: factual, voltado para o comprador, sem superlativos de marketing.`, ].join("\n"); } function launchPrompt(row) { return [ `Deck de lançamento do produto ${row.name} (SKU ${row.sku}).`, `Público: compradores de varejo e gerentes de categoria.`, `Cubra a história principal, as três características de destaque (${row.features}), a ficha técnica (${row.specs}), preço de varejo ${row.price} EUR e o período da campanha sazonal.`, `Use a imagem principal do produto em ${row.hero_image_url} como âncora visual onde for apropriado.`, ].join("\n"); }

Passo 2: Gerar a folha de venda para o varejista com Fast PPT

Gerentes de conta precisam de um PPTX que possam abrir, editar o preço e encaminhar. Esse é o caminho Fast PPT: POST /api/v1/slides/generate preenche um dos mais de 1.500 templates desenhados e retorna um arquivo PowerPoint nativo em cerca de 30 segundos. Escolha um themeId por marca e fixe-o para que todas as folhas de venda compartilhem o mesmo sistema de layout. Se sua marca já tem um template aprovado, Slides AI na marca com preenchimento de template explica como padronizar.

2Slides Fast PPT com cartões de template, o caminho PPTX editável que a API automatiza
Figura 1: Biblioteca de templates Fast PPT. A chamada API abaixo faz o mesmo que o botão "Generate", com themeId fixo por marca.

Encontre o tema uma vez e armazene o ID no seu ambiente:

curl "https://2slides.com/api/v1/themes/search?query=retail%20product%20catalog&limit=5" \ -H "Authorization: Bearer $SLIDES_API_KEY"

Depois gere. O mode padrão é sync, que retorna downloadUrl em uma chamada. Para lotes use mode: "async" para que a requisição retorne um jobId imediatamente e seu script continue enviando.

curl -X POST https://2slides.com/api/v1/slides/generate \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "userInput": "Folha de venda para varejista do Northbound Trail Runner 2 (SKU NB-TRAIL-042), preparada para a equipe de compras da REI US. 6 slides: capa; principais características (sola Vibram, drop de 8 mm, mesh reciclado no cabedal); especificações técnicas (265 g, EU 39-47, Moss e Slate); pontos de preço e margem (varejo 139.00); merchandising e cronograma de lançamento; contato e próximos passos. Tom: factual, voltado para o comprador.", "themeId": "YOUR_BRAND_THEME_ID", "responseLanguage": "English", "mode": "async" }'

Uma folha de venda de 6 páginas custa 60 créditos, aproximadamente $0,15 no pacote de $5.

Passo 3: Gerar o deck de lançamento da campanha com create-like-this

O deck de lançamento é diferente. Compradores e canais sociais esperam que ele pareça com a campanha, não com um template, e ninguém vai editar slide a slide. Esse é o caminho de design por imagem: POST /api/v1/slides/create-like-this recebe um referenceImageUrl, deriva um sistema de design (paleta, tipografia, composição) dessa imagem e gera cada página como uma imagem dentro de um PDF. Aponte para o visual chave da temporada e cada deck SKU herda o visual da campanha. A página do produto para Create Slides Like This mostra o mesmo pipeline no workspace web.

2Slides Nano Banana slides com design de imagem, o pipeline por trás do create-like-this
Figura 2: Pipeline dos slides com design de imagem. create-like-this é o ponto de entrada da API; a imagem de referência substitui o prompt escrito de estilo.

Execute duas vezes por SKU com valores diferentes de aspectRatio: "16:9" para o deck do comprador e "4:5" para o carrossel social. Pipelines de imagem usam mode: "async" por padrão.

curl -X POST https://2slides.com/api/v1/slides/create-like-this \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "userInput": "Deck de lançamento do produto Northbound Trail Runner 2 (SKU NB-TRAIL-042). Público: compradores de varejo e gerentes de categoria. Cubra a história principal, três características de destaque (sola Vibram, drop de 8 mm, mesh reciclado no cabedal), a ficha técnica (265 g, EU 39-47), preço de varejo 139.00 e o período da campanha FW26.", "referenceImageUrl": "https://cdn.example-brand.com/campaigns/fw26/key-visual.jpg", "aspectRatio": "16:9", "resolution": "2K", "page": 8, "contentDetail": "standard", "imageModel": "gemini-3-pro-image", "responseLanguage": "English", "mode": "async" }'

Para a versão social, altere aspectRatio para "4:5" e page para 6, e encurte o resumo para a história principal mais três características. Um deck 2K de 8 páginas custa 10 + 800 = 810 créditos (cerca de $2,03); a versão 4:5 de 6 páginas custa 610 créditos (cerca de $1,53). page: 0 permite que o planejador escolha a contagem, mas um número fixo mantém os custos do catálogo previsíveis.

Passo 4: Execute o catálogo em lotes a 6 requisições por minuto

O limite de taxa é 6 requisições por minuto por chave API, e GET /api/v1/jobs/{jobId} permite 10 por minuto. Um executor que respeita ambos é simples: envie um trabalho a cada 10 segundos, escreva o jobId junto ao SKU no disco conforme avança, depois faça polling do conjunto pendente em round-robin a uma verificação a cada 6 segundos. Cada arquivo finalizado é enviado para armazenamento em nuvem assim que o trabalho é concluído.

// catalog-to-decks.mjs (Node 20, rodar no servidor; nunca envie SLIDES_API_KEY para o navegador) import { readFile, writeFile } from "node:fs/promises"; import { parse } from "csv-parse/sync"; import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3"; const API = "https://2slides.com/api/v1"; const headers = { "Content-Type": "application/json", Authorization: `Bearer ${process.env.SLIDES_API_KEY}`, }; const THEME_ID = process.env.BRAND_THEME_ID; const KEY_VISUAL = "https://cdn.example-brand.com/campaigns/fw26/key-visual.jpg"; const s3 = new S3Client({ region: "eu-central-1" }); const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); const LANGUAGE = { en: "English", de: "German", ja: "Japanese" }; async function submit(path, body) { const res = await fetch(`${API}${path}`, { method: "POST", headers, body: JSON.stringify(body) }); if (!res.ok) throw new Error(`${path} -> ${res.status} ${await res.text()}`); return res.json(); // modo async retorna { jobId, ... } } // 1. Enviar: uma requisição a cada 10 s mantém abaixo de 6 requisições/min const rows = parse(await readFile("catalog.csv", "utf8"), { columns: true }); const jobs = []; // { sku, market, kind, jobId } for (const row of rows) { const responseLanguage = LANGUAGE[row.market] ?? "Auto"; const sheet = await submit("/slides/generate", { userInput: sellSheetPrompt(row), themeId: THEME_ID, responseLanguage, mode: "async", }); jobs.push({ sku: row.sku, market: row.market, kind: "sell-sheet", jobId: sheet.jobId }); await sleep(10_000); for (const [aspectRatio, page, kind] of [["16:9", 8, "launch-16x9"], ["4:5", 6, "social-4x5"]]) { const deck = await submit("/slides/create-like-this", { userInput: launchPrompt(row), referenceImageUrl: KEY_VISUAL, aspectRatio, resolution: "2K", page, contentDetail: "standard", responseLanguage, mode: "async", }); jobs.push({ sku: row.sku, market: row.market, kind, jobId: deck.jobId }); await sleep(10_000); } // mapa jobId <-> SKU no disco, para que uma falha no meio da execução não perca trabalhos pagos await writeFile("jobs.json", JSON.stringify(jobs, null, 2)); } // 2. Polling: jobs/{id} permite 10 requisições/min, então verifique um job a cada 6 s em round-robin const pending = new Set(jobs.map((j) => j.jobId)); while (pending.size > 0) { for (const job of jobs.filter((j) => pending.has(j.jobId))) { const res = await fetch(`${API}/jobs/${job.jobId}`, { headers }); const state = await res.json(); // { status, progress, downloadUrl } if (state.status === "success") { pending.delete(job.jobId); const file = await fetch(state.downloadUrl); const ext = job.kind === "sell-sheet" ? "pptx" : "pdf"; await s3.send(new PutObjectCommand({ Bucket: "brand-sales-assets", Key: `decks/${job.sku}/${job.market}/${job.kind}.${ext}`, Body: Buffer.from(await file.arrayBuffer()), })); console.log(`uploaded ${job.sku} ${job.market} ${job.kind}`); } else if (state.status === "failed") { pending.delete(job.jobId); console.error(`failed ${job.sku} ${job.kind}`, state); } await sleep(6_000); } }

Três trabalhos por SKU a 10 segundos de intervalo significa que 100 SKUs são enviados em 50 minutos; o polling de 300 jobs a uma verificação a cada 6 segundos adiciona cerca de 30 minutos por rodada. Se preferir Python, o mesmo loop está em Automatize a geração de apresentações com Python e a API 2Slides, e o padrão geral de fila é abordado em Como gerar apresentações em lote com uma API de IA.

Passo 5: Adicione variantes multilíngues para varejistas internacionais

O comércio internacional é onde a automação vale a pena. Um comprador alemão e um japonês devem receber cada um uma folha de venda no seu idioma, com as mesmas especificações e o mesmo template da marca. Você não precisa de um serviço de tradução: responseLanguage aceita o nome do idioma e o deck é escrito nesse idioma a partir do mesmo resumo em inglês.

Parâmetros do endpoint da API 2Slides e idiomas de saída suportados
Figura 3: Parâmetros do endpoint generate e idiomas de saída suportados. Passe o nome do idioma, como "German", nunca um código como "de".

O script acima já mapeia market para o nome do idioma (de para "German", ja para "Japanese"). Os mais de 20 valores suportados incluem espanhol, francês, italiano, português, polonês, coreano, chinês simplificado, chinês tradicional, árabe e turco. Escreva preços na moeda do mercado (EUR, JPY) e nomeie o varejista no resumo para que números e contexto sejam localizados, não apenas as palavras.

curl -X POST https://2slides.com/api/v1/slides/generate \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "userInput": "Folha de venda para varejista do Northbound Trail Runner 2 (SKU NB-TRAIL-042), preparada para a equipe de compras da Xebio. 6 slides: capa; principais características (sola Vibram, drop de 8 mm, mesh reciclado no cabedal); especificações técnicas (265 g, tamanhos 25-30 cm, Moss e Slate); pontos de preço e margem (varejo JPY 21.900); merchandising e cronograma de lançamento; contato e próximos passos.", "themeId": "YOUR_BRAND_THEME_ID", "responseLanguage": "Japanese", "mode": "async" }'

Cada variante de idioma é um trabalho separado com o mesmo preço, então um SKU vendido em três mercados custa três folhas de venda: 180 créditos, cerca de $0,45.

Passo 6: Dispare no evento "Produto criado" do Shopify com Make

O executor em lote cuida dos lançamentos sazonais. Para um fluxo constante de novos SKUs, conecte a loja à API para que um deck exista minutos após o produto ser criado. Make (veja o centro de ajuda do Make) expõe eventos de produto Shopify diretamente; o mesmo formato funciona no Zapier ou n8n.

  • Gatilho: evento Shopify "Watch products" para produto criado, ou gatilho Webhook alimentado pelo webhook products/create do Shopify.
  • Transformação: um nó de Código que remove HTML do corpo do produto, pega variants[0].price e images[0].src, e monta userInput como em sellSheetPrompt.
  • Nó HTTP Request (1): POST https://2slides.com/api/v1/slides/create-like-this com o corpo do Passo 3; o cabeçalho Authorization: Bearer <key> vem de uma variável do cenário, nunca dos dados do produto.
  • Nó Delay/Wait: 60 segundos.
  • Nó HTTP Request (2): GET https://2slides.com/api/v1/jobs/{{jobId}}. Um Router verifica status: success continua, pending ou processing volta para o Delay, failed envia alerta no Slack.
  • Entrega: HTTP GET no downloadUrl, um nó de upload para Google Drive, Dropbox ou S3 na pasta do SKU, e uma linha na planilha com sku, jobId, status e caminho de armazenamento.

O Shopify pode disparar vários eventos de produto em sequência (importação em massa, sincronização de app). Adicione o mesmo espaçamento de 10 segundos aqui, ou direcione eventos para uma fila e deixe o executor do Passo 4 esvaziá-la; caso contrário, uma sequência de 20 importações falha na requisição 7.

Escolhendo um estilo de referência

create-like-this precisa de uma imagem de referência. O visual chave da sua campanha é a escolha certa quando o objetivo é consistência da campanha. Quando ainda estiver decidindo como deve ser um deck do setor varejista, a Galeria 2Slides hospeda decks reais para estudo, ou passe como referenceImageUrl para emprestar o sistema de design deles. São decks de referência, não saída da API.

Deck de referência DHL 2025 tendências e-commerce da Galeria 2Slides, referência de estilo para setor varejista
Figura 4: Capa do deck DHL 2025 E-commerce Trends Report na Galeria 2Slides. Um estilo limpo e focado em dados que funciona como referência para um deck de categoria ou revisão de linha.

Deck de referência DHL 2025 tendências e-commerce da Galeria 2Slides, referência de estilo para setor varejista
Figura 5: Slide interno do mesmo deck de referência. Passar um slide assim como referenceImageUrl indica ao modelo para reutilizar sua grade, paleta e tratamento de gráficos.

Use uma única imagem de referência por campanha e por proporção de aspecto. Mudá-la entre SKUs gera 40 decks que parecem bons individualmente, mas não como uma família.

Quanto custa

Créditos são pay-as-you-go: $5 compram 2.000 créditos ($0,0025 por crédito) e $80 compram 40.000 ($0,002 por crédito). Contas novas começam com 500 créditos grátis, cerca de 8 folhas de venda para um teste.

VolumePor SKUCréditos por mêsAproximado em USD
20 SKUs/mês: folha de venda 6 páginas + deck de lançamento 16:9 8 páginas60 + 810 = 87017.400$42,50 (um pacote de 20.000 créditos)
20 SKUs/mês: adiciona deck social 6 páginas 4:5870 + 610 = 1.48029.600$60 a $74 dependendo do pacote
500 SKUs/mês: folha de venda + deck de lançamento 16:9870435.000cerca de $870 a $0,002 por crédito
500 SKUs/mês: os três decks1.480740.000cerca de $1.480 a $0,002 por crédito

Folhas de venda sozinhas são baratas: 500 folhas de venda PPTX de 6 páginas custam 30.000 créditos, cerca de $60. Os decks com design de imagem são onde o orçamento vai, então gere o deck de lançamento uma vez por SKU e a folha de venda uma vez por SKU por mercado.

Para comparação, a API da Gamma (veja developers.gamma.app) oferece automação similar, mas requer plano Pro para chaves API; chaves 2Slides funcionam em qualquer conta. 2Slides é nosso produto, então leve isso em conta na comparação.

Fast PPT ou slides com design de imagem para este caso?

NecessidadeUsePor quê
Gerente de conta edita preços, troca um slide, encaminha para compradorFast PPT generatePPTX nativo, 10 créditos/página, themeId fixo por marca
Deck deve combinar exatamente com o visual chave da campanhacreate-like-thisSistema de design derivado de referenceImageUrl
Carrossel social ou formato verticalcreate-like-this com aspectRatio "4:5" ou "9:16"PDF com imagens por página, pronto para postar
Apresentação narrada do produto ou MP4 para listagem em marketplacecreate-like-this depois generate-narration (210 créditos/página)Jobs Fast PPT não podem ser narrados

Erros comuns

  • Ultrapassar o limite de taxa em uma importação em massa. 6 requisições/min por chave se aplicam a todos os endpoints de geração. Espaçe as submissões a cada 10 segundos ou enfileire; não use Promise.all para disparar tudo junto.
  • Chave API em tema Shopify ou script de loja. Chaves devem ficar no servidor (seu executor, conexão Make ou função serverless); qualquer coisa no navegador pode ser lida por qualquer pessoa.
  • Esperar narrar uma folha de venda Fast PPT. generate-narration só aceita jobs de create-pdf-slides ou create-like-this. Se o objetivo é vídeo narrado do produto, comece pelo deck com design de imagem.
  • Passar responseLanguage: "de". O parâmetro aceita nome do idioma: "German", "Japanese", "Spanish". Códigos não são reconhecidos.
  • Colocar o registro completo do PIM em userInput. Listas longas de atributos produzem slides confusos. Resuma para as características e especificações relevantes para o comprador; as colunas CSV do Passo 1 são o filtro.
  • Deixar o planejador escolher a contagem de páginas para execução de catálogo. page: 0 é ok para um único uso, mas um page fixo mantém o custo em créditos por SKU idêntico para orçamento.

Perguntas Frequentes

Posso gerar decks de produto diretamente de uma exportação CSV do Shopify?

Sim. O CSV de produto do Shopify contém título, corpo, preço da variante e URL da imagem necessários; o construtor do Passo 1 mapeia essas colunas para userInput. Adicione colunas target_retailer e market, ou derive-as das tags. O executor então chama generate para a folha de venda PPTX e create-like-this para o deck de lançamento, linha a linha.

Como manter centenas de decks de lançamento na marca?

Passe o mesmo visual chave da campanha como referenceImageUrl em todas as chamadas create-like-this, e mantenha uma referência por proporção de aspecto. O sistema de design é derivado dessa imagem, então os decks compartilham paleta, tipografia e composição. Para a folha de venda editável, fixe um themeId por marca para que todos os PPTX venham do mesmo template.

Quanto tempo leva para gerar 100 SKUs?

O gargalo é o envio: a 6 requisições por minuto, três decks por SKU significa um SKU a cada 30 segundos, então 100 SKUs são enviados em cerca de 50 minutos. Jobs Fast PPT terminam em cerca de 30 segundos cada; decks com design de imagem completam em background enquanto você continua enviando. O polling a 10 requisições por minuto adiciona cerca de 30 minutos por rodada.

Quanto custa um SKU em créditos?

Uma folha de venda Fast PPT de 6 páginas custa 60 créditos (cerca de $0,15). Um deck de lançamento 2K de 8 páginas custa 10 créditos de planejamento mais 800 de página, total 810 (cerca de $2,03). Um deck social 4:5 de 6 páginas custa 610 créditos. Os três juntos somam 1.480 créditos, cerca de $2,96 no pacote de $80 a $0,002 por crédito.

O mesmo script pode produzir decks em alemão e japonês?

Sim. Defina responseLanguage para "German" ou "Japanese" no mesmo corpo da requisição e o deck é escrito nesse idioma a partir do seu resumo em inglês. Cada variante de idioma é um trabalho separado com o mesmo custo em créditos. Coloque preços específicos do mercado e o nome do varejista no resumo para que números e contexto sejam localizados, assim como o texto.

Próximos passos

About 2Slides

Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.

Try For Free