Communitygithub.com

Raibit-AI/construtor-de-anúncios-sociais

Monta anúncios de vídeo verticais prontos para redes sociais a partir de clipes e uma lista de tomadas em JSON. Gera um master 9:16 para Reels, Stories e TikTok, além de um corte 4:5 para o feed, com etiquetas de pratos na cor da marca, a marca no frame 0, cortes secos, gradação de cor uniforme, som limpo e bem desenhado, volume seguro e um cartão final. Usa apenas ffmpeg gratuito.

O que é construtor-de-anúncios-sociais?

O construtor de anúncios sociais é uma ferramenta de automação de edição de vídeo que transforma uma lista de tomadas em JSON em dois arquivos de vídeo finalizados: um no formato 9:16 (ideal para Reels, Stories e TikTok) e outro no formato 4:5 (para feed). Ele requer apenas ffmpeg e ffprobe, ambos gratuitos, e foi otimizado por meio de iterações e testes A/B cegos. A ferramenta aplica cortes secos (sem transições suaves), etiquetas sólidas de pratos na cor da marca, a marca exibida no primeiro frame (já que muitos usuários assistem sem som), um zoom suave de 4% nos clipes de comida, nitidez leve e uma gradação quente para unificar a aparência de clipes de IA e filmagens de celular. O áudio não é extraído dos clipes; em vez disso, a ferramenta usa um ambiente real (se disponível) e um chiado suave sob a comida, garantindo volume seguro (-14 LUFS) sem distorção. Textos permanecem dentro da área segura 4:5 para que um único master possa ser cortado perfeitamente para o feed. O construtor é ideal para criar anúncios curtos de comida ou produto, variantes para testes A/B e segue regras de ritmo baseadas em anúncios vencedores, como duração de 12 a 20 segundos para montagens sem fala e cortes a cada 1,8 segundos.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Raibit-AI/food-ad-kit/tree/HEAD/plugins/food-ad-kit/skills/social-ad-builder

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Construtor de anúncios sociais

scripts/build_ad.py transforma uma lista de tomadas em dois arquivos finalizados. Ele precisa apenas de ffmpeg e ffprobe (gratuitos). Cada padrão foi conquistado em um loop de iterações pontuadas e revisões A/B cegas:

  • Cortes secos. Transições rápidas em preto a cada corte.
  • Etiquetas de pratos em uma pastilha sólida na cor da marca. Texto fino sobre comida movimentada é ilegível.
  • A linha da marca no frame 0. A maioria das pessoas assiste sem som.
  • Um zoom de 4% ao entrar cada tomada de comida.
  • Nitidez leve mais uma gradação quente, para que clipes de IA e filmagens de celular pareçam da mesma câmera.
  • Nenhum áudio extraído dos clipes, porque modelos de vídeo com IA adicionam sua própria música. O som é ambiente real de sala, se disponível, mais um chiado suave sob a comida.
  • Volume a -14 LUFS com um limitador, para que o pico real permaneça abaixo de 0 dB e nada distorça nos alto-falantes do celular.
  • Texto dentro da área segura 4:5 (y ≈ 390 em 1920), para que um master seja recortado perfeitamente para o feed.

Lista de tomadas

{
 "out": "out/meu-anuncio",
 "brand_color": "#A3192B",
 "brand_line": "Seu Restaurante · Sua Cidade",
 "ambience": "gravacao-sala.mov",
 "shots": [
  {"file": "clips/noodle-lift.mp4", "start": 3.0, "dur": 2.0, "label": "Dan Dan Noodles"},
  {"file": "clips/mapo.mp4", "start": 0.8, "dur": 1.5, "label": "Mapo Tofu"},
  {"file": "clips/mapo-scoop.mp4", "start": 3.3, "dur": 1.5},
  {"file": "clips/sala-jantar.mp4", "start": 0, "dur": 1.0, "label": "Seu Restaurante", "subline": "Sua Cidade", "food": false}
 ],
 "endcard": {"bg": "#F3ECE0", "logo": "logo.png", "dur": 2.0,
  "lines": [{"text": "Sua Cidade", "size": 58, "color": "#8B1E1E"},
            {"text": "Peça para viagem ou reserve uma mesa", "size": 56},
            {"text": "seusite.com", "size": 84, "color": "#8B1E1E", "bold": true}]}
}

Execute python3 scripts/build_ad.py listatomadas.json. Ele gera out/meu-anuncio-9x16.mp4 e out/meu-anuncio-4x5.mp4.

Campos da tomada:

  • start e dur estão em segundos dentro do clipe.
  • "food": false desliga o zoom e o chiado (para tomadas de ambiente).
  • "keep_label": true mantém uma etiqueta em duas tomadas sem reanimá-la.
  • "subline" adiciona uma linha menor abaixo da etiqueta.
  • "label_size" define o tamanho da etiqueta (padrão 78 px). Use \n em uma etiqueta para duas linhas. Etiquetas e linhas do cartão final encolhem automaticamente para caber na largura do quadro.
  • O texto pode conter aspas, dois pontos, vírgulas e %. Emojis não serão renderizados nas fontes de etiqueta, portanto, deixe-os de fora.
  • Se um clipe for mais curto que a dur solicitada, o construtor usa o que existe e exibe uma nota. Verifique essas notas: um gancho que termina cedo congela no último quadro.

Regras de ritmo de anúncios vencedores (veja os benchmarks de desmontagem de anúncios)

  • Duração: uma montagem de comida sem palavras vence em 12-20 s. Anúncios com fala ou história são mais longos.
  • Duração da tomada: um corte a cada 1,8 s, com o primeiro corte por volta de 2 s. Durações de tomada em uma grade de 0,5 s permitem que qualquer faixa musical a 120 BPM caia nos cortes.
  • Ordem: abra com movimento e uma mão no quadro. Execute a comida sem interrupção. Mantenha qualquer tomada de sala vazia em torno de 1 s, perto do final.
  • Final: a melhor tomada de comida, ou um cartão simples com palavras de ação claras.
  • Música: adicione-a na biblioteca licenciada da própria plataforma ao fazer o upload. Não incorpore uma música para a qual você não tem direitos.

Criando variantes A/B

Mude uma coisa por variante (a tomada de gancho, a linha de gancho, a duração ou o conjunto de pratos) para que o vencedor se explique. Copie a lista de tomadas, edite um campo, construa novamente.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

Raibit-AI/ad-teardown

Breaks a video ad down the way a creative director would. It measures length, cut speed and first cut; pulls frame strips of the first 3 seconds and of the whole ad; transcribes the speech; tags the hook, format, people, text, offer and ending; and scores it against benchmarks from winning food ads. Use when the user asks to analyze, break down, tear down, critique or compare a video ad, Reel or TikTok, especially for a restaurant or food brand.

Raibit-AI/blind-ad-review

Improves a video ad through repeated blind A/B reviews. Two versions are shown as contact sheets to a fresh reviewer who doesn't know which is newer, and both are scored against benchmarks from winning food ads. The next version changes only what reviewers agree on, and the loop continues until the gains stop. Use when the user wants to improve, iterate, critique or A/B test an ad or Reel before spending money, or asks "which version is better".

Raibit-AI/food-shot-director

Directs AI image-to-video food shots for restaurant ads (chopsticks lifting noodles, a spoon scooping, sauce poured, a piece lifted to the lens). It gives the prompt formula, which foods animate well and which morph, and a keep-or-reject checklist so the dish still looks like the real menu item. Works with any image-to-video model (Kling, Veo, Seedance, LTX, Runway). Use when the user wants to animate a food photo, make food B-roll or a hand-in-frame food shot, or turn menu photos into video...

Raibit-AI/winning-ad-finder

Finds video ads that are probably working for restaurants and food brands, using the free Meta Ad Library, and builds a short "swipe file" of likely winners to study. Use when the user asks to find winning ads, research competitors' Facebook or Instagram ads, see what ads restaurants are running, or build ad inspiration for a food business.

Habilidades Relacionadas