O que Caroselli Canva (ex carosello-aurum) faz?
A partir de 13 out 2026 Davide prefere o estilo dos slides da Aula 1 e quer replicá-lo para todos os carrosséis: estes são feitos com a skill
caroselli-claude(nenhum Canva). Esta skill permanece para os carrosséis no Canva.
Substitui o método antigo (template Canva copiado manualmente, fonte Anton sobre foto + faixa escura). Esse continua sendo bom como estilo de referência para as capas dos reels ([[capas-reel]]), não mais para carrosséis. Substitui também a skill global ig-carousel (Higgsfield/Nano Banana): essa gera imagens AI e texto queimado por cima, não é mais nosso fluxo.
Antes de abrir esta skill, o conteúdo (textos, estudos, tom) é preparado conforme descrito em [[carrosséis]] (memória/wiki): 5-6 perguntas para Davide, estudos reais verificados, voz em "tu" com Davide sempre impessoal (nunca "eu"). Esta skill parte daí e cuida apenas da produção gráfica.
Por que este método e não o antigo
edit-design (a ferramenta usada para as capas dos reels) é cirúrgico: modifica um elemento que já existe, nunca pode escolher uma fonte ou layout para algo novo. create-design é diferente: envia-se um brief escrito e o motor de IA do próprio Canva (o mesmo do "Magic Design") decide fonte, layout, ícones, hierarquia — não eu manualmente. O resultado é um design verdadeiro, com uma gráfica diferente para cada slide (alça de mira, números gigantes, checklist, círculos numerados), não uma colagem. O preço: sempre chega com defeitos a verificar — por isso a Fase 4 abaixo não é opcional.
Fase 1 — O brief
Um único brief textual (não um outline estruturado — isso vale apenas para design_type: presentation, que não usamos aqui) com:
- Formato:
"Instagram Post"(dá 4:5, 1080×1350 — confirmado neste projeto). - Tom: registro cavalheiresco/romano moderado, definido com Davide em 25 set 2026 após uma pesquisa — gladiador/espartano é o clichê mais saturado do setor fitness/combate (Gladiator Gym Gear, Spartan Race…), o cavaleiro é menos batido e é coerente com o já escrito em [[caminho-guerreiro]] (Musashi/Bushido = código individual, não disciplina de massa de uma legião). Ainda não fixado 100% — Davide disse que gosta de ambos os registros e quer encontrar "a mistura certa" com o tempo: peça confirmação se não passou muito tempo desde a última vez, senão reproponha a mesma mistura (Anton/Roboto/OpenSauce, ouro sobre preto, nenhum elmo/escudo/gládio explícito, apenas detalhes discretos como números romanos).
- Cores: fundo preto/antracite, texto branco, um único acento ouro claro (zona
#c29342–#d8af54, varia ligeiramente slide a slide porque gerado pela IA — não é um bug, não precisa uniformizar). - Foto: APENAS a capa tem uma foto (decidido por Davide em 24 set: os outros slides permanecem gráficos/tipográficos, sem foto — assim não precisa gerenciar várias imagens diferentes). No brief escreva "APENAS a capa tem uma foto… os outros 7 slides são gráficos/tipográficos, sem foto".
- Estrutura: liste cada slide como
SLIDE N: …com etiqueta, título, corpo, e notas em itálico onde houver um estudo citado. O último slide é o encerramento com a CTA "salvamento" (ícone + duas linhas, veja Fase 4). - Sinal de rolagem: peça um indicador de página "1/8"…"8/8" + seta em todos os slides, exceto o último (já vem assim, depois na Fase 4 se converte para números romanos).
- Logo/handle: "AURUM MILES" pequeno, discreto, em cada slide.
Chame create-design com este brief, user_intent curto, nenhum outline (estamos em Instagram Post, não Presentation).
Fase 2 — Aguardar a geração
create-design é assíncrono: retorna um job_id + continuation_token e um status: pending.
- Aguarde
polling_policy.wait_seconds(geralmente 10-15s) antes do primeiro poll. - Chame
get-create-design-async-jobcomjob_id+ o últimocontinuation_token. - Repita até
status: completed— geralmente 4-6 rodadas, não encurte a espera (a mesma resposta retorna idêntica, não acelera nada). UseBashcomsleeppara esperar, não chamadas muito próximas. - O resultado dá
design.idedesign.url— esse é o carrossel a verificar e corrigir.
Fase 3 — Controle de qualidade (sempre, sem exceções)
Antes de mostrar qualquer coisa a Davide, leia todas as páginas (read-design, design_content sem page_indices para ver todo o texto de uma vez) e verifique:
a) A ordem física das páginas
O gerador às vezes cria as páginas em uma ordem diferente da escrita acima de cada slide ("N/8"). Compare o texto de cada página com a etiqueta que ela carrega; se um slide estiver fora do lugar, reordene com:
merge-designs, type: modify_existing_design, operations: [{type: move_pages, from_page_numbers: [N], to_after_page_number: M}]
Uma operação por chamada — a ferramenta recusa lotes múltiplos.
b) Slides faltantes
O gerador às vezes pula uma página do brief (já aconteceu: 7 páginas em vez de 8, faltava o encerramento). Se faltar:
copy-designda página mais parecida estruturalmente (ex.: a última "correção" para um encerramento, não uma página com um número-fantasma tipo "01" temático).- Reescreva os textos com
replace_textnos locators existentes (nuncaadd_textpara títulos — perde a fonte escolhida pelo gerador, veja nota técnica abaixo). - Apague os elementos decorativos que não servem mais (ex.: a fileira de ícones checklist se vira uma CTA) com
delete_element. - Insira a CTA final (ícone + duas linhas, veja abaixo).
- Reinsira a página no lugar certo com
merge-designs→insert_pages.
c) Texto "fantasma" no fundo
Bug recorrente deste gerador: o texto original (antes de qualquer replace_text) às vezes fica "cozido" dentro da imagem de fundo da página, não apenas no elemento de texto editável — substituir o texto não o faz desaparecer do render. Aparece como uma escrita desbotada atrás do título ou do corpo.
Correção: insert_shape com um retângulo cheio (path M0,0 H<w> V<h> H0 Z), cor próxima ao preto da página (#0e0e0e ou #131110 servem), posicionado sobre toda a área suja — depois sempre layer_element com position: "back" no mesmo locator, assim o remendo fica sobre o fundo raster mas atrás do título/corpo/badge (que permanecem elementos separados, visíveis). Se o fantasma continuar aparecendo mais embaixo (ex.: perto de uma lista), alargue o remendo com resize_element até não restar vestígio — verifique sempre com o render antes de considerar resolvido.
d) Ordem de sobreposição (z-order) em geral
Cada elemento novo (insert_shape, add_text) se insere sempre no topo (na frente de tudo). Se adicionar algo que deve ficar atrás do texto existente (como os remendos acima), é sempre necessário layer_element: back depois. Se ao contrário um elemento existente (logo, título, número de página) ficar atrás de algo que você adicionou, use layer_element: front nele.
e) Números de página em romano
O gerador faz "1/8", "2/8"… Substitua por "I / VIII", "II / VIII"… até "VIII / VIII" no último. O texto romano é mais longo: quase sempre precisa alargar a caixa (resize_element, +100/150px de largura) e reposicionar à esquerda (position_element) para não ultrapassar a setinha ao lado — verifique sempre o left do ícone-seta na mesma página e deixe a caixa do número flush antes dela. O último slide não tem seta (não há mais nada para rolar): deixe apenas "VIII / VIII" sem mexer em mais nada.
f) Fonte coerente
O gerador atribui fontes diferentes a elementos diferentes. Não posso escolher uma fonte para um elemento novo ou já existente — nenhuma operação permite isso (format_text muda apenas tamanho/peso/cor/itálico, nunca a família). O único modo: Davide seleciona o texto no Canva (link do edit_url) e escolhe a fonte manualmente, uma vez por elemento; a partir daí, reciclo em outros elementos com replace_text, que sempre preserva a fonte do elemento de destino. Se um carrossel novo sair com fontes incoerentes entre slides, é normal — peça a Davide para fazer o mesmo giro rápido que já fez (títulos em uma fonte, corpo em outra, etiquetas pequenas em uma terceira), depois corrija você os tamanhos/espaçamentos.
g) Foto de capa
Se Davide enviar uma foto sua: create-upload-url (não upload-asset-from-url, esse quer uma URL pública) → um POST direto do arquivo para a URL de uso único recebida → mediaId → update_fill no retângulo-foto da capa. O recorte automático do Canva geralmente já fica bom em fotos verticais ou quadradas; verifique com o render antes de ajustar manualmente com crop_media. Os outros slides permanecem sem foto (veja Fase 1).
Fase 4 — A CTA final (slide de encerramento)
Padrão fixado com Davide (22-25 set 2026), a ser reproduzido igual toda vez:
- Ícone de marcador (
insert_shape, pathM0,0 H34 V44 L17,30 L0,44 Z, cor ouro) na mesma linha da primeira linha da CTA, não acima. - Linha 1 (a ação, ex.: "SALVE-O ANTES DO PRÓXIMO SPARRING."): maiúscula, negrito, NÃO itálico, cor ouro.
- Linha 2 (o plus, ex.: "Mande para quem precisar subir na próxima vez."): minúscula exceto a inicial, itálico, mesmo ouro — um degrau mais leve. Atenção ao texto: não restrinja demais o público-alvo (ex.: não "quem sobe pela primeira vez" se a mensagem deve valer para qualquer um que volte ao ringue, não só iniciantes — depende do conteúdo específico, pergunte a Davide se o primeiro rascunho parecer muito restrito).
- Bloco separado com um verdadeiro espaço vertical do parágrafo acima (~150px), não colado — senão parece a continuação da mesma frase.
- Duas linhas = dois elementos de texto distintos (não um
\ndentro de um só), porque cada uma carrega uma formatação diferente.
Fase 5 — Entrega
export-design, formatopng,width: 1080, height: 1350, sempages(todas juntas) uma vez que a Fase 3 esteja encerrada.- Baixe cada PNG e salve-os em
Carrosséis elaborados/AAMMGG_Titulo/1.png … 8.png(mesma pasta do texto,slide_,caption_,note_— veja [[carrosséis]] e [[produção-conteúdo]]). - Envie uma contact sheet ou as 8 imagens para Davide antes de considerar definitivo — é sempre uma rodada de correções, não dê como aprovado na primeira exportação.
- Verificação pré-publicação: conte os PNGs exportados (N) e na mensagem de entrega lembre explicitamente a Davide de verificar que todos os N slides estão na fila do Instagram antes de apertar publicar (ex.: "São N slides, 1.png...N.png — verifique se estão todos antes de publicar"). Já aconteceu (carrossel #8) de um slide ficar de fora por esquecimento no carregamento, sem que ninguém percebesse antes da publicação — não afetou o resultado daquela vez, mas é uma verificação de custo zero.
- Só após o ok dele: registre em
memória/wiki/log.md, atualize o estado em [[carrosséis]].
Padrões de layout — fixados por Davide em 2 out 2026 no #12 (valem para todo carrossel de agora em diante)
Após o clone-do-#8 (veja abaixo), Davide corrigiu manualmente no Canva uma série de detalhes que se repetem idênticos em todo slide "com cabeçalho" (etiqueta + numeração romana + seta no topo, tipo "Técnica N"). Estas são as medidas/critérios fixos a aplicar desde já, não a redescobrir slide a slide:
- Numeração romana alinhada à etiqueta: o
topdo número romano deve coincidir (ou quase) com otopda etiqueta ao lado ("Técnica 2", "Porquê", etc.), não ficar mais acima ou mais abaixo por conta própria. Mesma linha, mesma altura visual. - Seta: fonte/tamanho
~32-36px, cor sempre#c29342(ouro padrão, veja abaixo). A seta fica logo após o número romano com um pequeno espaçamento limpo (~15-20px), nunca colada. - Divisor horizontal abaixo do cabeçalho: quando houver (slide com linha sob a etiqueta), fazê-lo quase em toda a largura (ordem de
560-930px), não um traço curto — corta limpo sob todo o bloco etiqueta+numeração, não só sob a etiqueta. - Corpo do texto em negrito: o corpo do texto (não o título, não as citações) vai em
font_weight: bold, nãonormal/medium— renderização mais cheia e legível sobre fundo preto. Parágrafos curtos e consecutivos (ex.: "frase 1:" + "frase 2.") podem ser agrupados em um único elemento de texto em vez de mantê-los separados, se logicamente forem uma única frase partida em duas linhas. - Branco nunca puro:
#ffffffdeve ser substituído por#f1f1f1no texto branco e no logo "Aurum Miles" — ligeiramente menos duro contra o preto. - CTA final (ícone+2 linhas): o ícone de salvamento e a primeira linha de texto ("SALVE-O…") compartilham o mesmo
top(mesma linha, não ícone-mais-acima-texto-mais-abaixo), com ~25-30px de espaçamento horizontal entre a borda direita do ícone e o início do texto.
Bug confirmado: resize_element em ícones com preenchimento de imagem
Não solucionável do nosso lado: redimensionar via API um ícone com preenchimento de imagem (setas, badges) o recorta em vez de escaloná-lo (veja nota em [[carrosséis]]). Quando for necessária uma seta/ícone menor, não use resize_element: ou a deixa no tamanho nativo e trabalha na posição, ou — se Davide ajustar manualmente no Canva — note que lá o redimensionamento funciona bem (o editor verdadeiro escala o conteúdo corretamente, é só a operação da API que tem o bug). Sinal concreto de que algo quebrou assim: um elemento próximo a um texto com textAlign: end que parece "invertido" — provável fragmento de ícone quebrado sobreposto, não um bug no texto.
Notas técnicas avulsas (para não redescobrir toda vez)
merge-designs: uma operação por chamada, sempre.resize-design(o do método antigo com template Canva) é de uso limitado/trial — não serve mais com este fluxo,create-designjá gera no formato certo.- Se precisar conservar uma versão parcial (ex.: antes de uma correção grande na Fase 3), faça
copy-designdo design atual para um novo nome (ex.:"Carrossel #13 — WIP") e trabalhe sobre a cópia; o original fica intacto para referência. - A ferramenta
layer_elementnão aceitaindexnumérico (ordem de empilhamento exata) — apenas"front"ou"back". Para sobreposições complexas (ex.: remendo no meio de uma pilha de 5 elementos), a única saída é colocar o elemento no topo e depois mover manualmente o que deve ficar acima dele usandolayer_element: frontsobre esses. - Para a CTA final, o ícone de marcador tem sempre path fixo (veja Fase 4) — não mude. A cor ouro é
#c29342(mesmo padrão).