Créer son filtre en IA

Exemplos de filtros de evento criados com IA: molduras « Hippie Event » na vertical e na horizontal

No Eventer, os filtros vestem as fotos do teu evento: uma moldura, um logótipo ou o nome dos noivos sobrepõem-se a cada foto tirada a partir da câmara e do photobooth. Existem duas opções para os personalizar: o Filtro Personalizado, criado diretamente na app, e a opção Filtros Pro, que te deixa carregar os teus próprios visuais PNG para um resultado totalmente à medida. (Para distinguires bem os dois, vê Filtro Personalizado / Filtros Pro: qual escolher?.)

Os Filtros Pro oferecem uma liberdade de criação total… mas até aqui exigiam dominar um programa de design ou recorrer a um designer gráfico. Já não: com uma IA, qualquer pessoa pode gerar um filtro de qualidade, sem a mínima competência gráfica. Vê como, em dois tempos.

1. Gerar o visual com o ChatGPT

Usamos o ChatGPT porque é facilmente acessível e as suas capacidades gráficas são boas; outra ferramenta de IA generativa comparável também pode servir. Os prompts propostos abaixo foram testados no ChatGPT 5.5 — os resultados podem variar consoante a versão utilizada.

O método resume-se a dois prompts para colar um a seguir ao outro, na mesma conversa do ChatGPT. O primeiro cria dois belos visuais de partida — um vertical e um horizontal — com uma grande zona central deixada livre para os rostos. O segundo transforma-os em PNG transparentes com as dimensões certas, prontos para o Eventer.

Há dois elementos a personalizar neste primeiro prompt:

  • O tema descreve o ambiente e o estilo visual pretendidos — por exemplo « casamento campestre com flores », « aniversário anos 80 néon » ou « seminário de empresa elegante, azul e dourado ».
  • O texto, curto, vai aparecer no fundo do filtro: o nome do evento ou nomes próprios — por exemplo « Marie & Paul », « Os 40 anos da Júlia » ou « Team Building 2026 ».

Prompt 1 — o belo visual de partida (substitui [SUBSTITUIR PELO TEMA] e [SUBSTITUIR PELO TEXTO]) :

Quero criar dois visuais de origem para filtros de foto de evento.

TEMA: [SUBSTITUIR PELO TEMA]
TEXTO EXATO: [SUBSTITUIR PELO TEXTO]

Quero 2 imagens separadas:

1. uma versão vertical em 1080x1620
2. uma versão horizontal em 1620x1080

IMPORTANTE:
Aqui ainda não te peço a transparência final.
Peço-te apenas que cries dois VISUAIS DE ORIGEM muito conseguidos, estéticos, de gama alta, que serão depois recortados tecnicamente.

Objetivo visual:
Criar duas molduras de foto decorativas premium, bonitas, ricas, harmoniosas, utilizáveis para fotos de pessoas.

Estilo esperado:
- ilustração premium
- decorativo, elegante, festivo
- estilo desenhado à mão / ilustrado / aguarela leve / marcador requintado
- detalhes finos
- texturas leves
- contornos limpos
- pequenas sombras subtis
- bela composição
- resultado harmonioso e cuidado

A evitar de todo:
- clipart
- vetorial plano
- pictogramas grosseiros
- estilo simplista
- design infantil
- grandes manchas de cor pesadas
- cartaz publicitário
- resultado barato

Composição:
- criar uma verdadeira moldura decorativa
- elementos visuais concentrados nas margens, nos cantos, em cima e em baixo
- deixar uma zona central muito grande vazia para as pessoas fotografadas
- o texto deve ser grande, bonito, legível, colocado em baixo
- o texto não deve subir demasiado
- não pôr nenhuma personagem
- não pôr nenhuma foto
- não pôr cenário cheio na zona central

Zonas a manter bem desimpedidas:
- vertical: deixar livre a zona central aproximada x=170..910 e y=330..1320
- horizontal: deixar livre a zona central aproximada x=240..1380 e y=220..860

Fundo de trabalho:
- fundo uniforme muito claro
- branco-sujo ou marfim muito claro
- sem textura
- sem padrão
- sem xadrez
- sem gradiente
- fundo perfeitamente uniforme

O fundo deve manter-se simples e uniforme, porque será removido tecnicamente a seguir.
Mas o visual decorativo deve manter-se muito bonito, rico e premium.

Entrega pedida:
- uma imagem de origem vertical 1080x1620
- uma imagem de origem horizontal 1620x1080

Deixa o ChatGPT produzir este primeiro resultado — pode demorar alguns minutos. Assim que os dois visuais aparecerem, segue com o segundo prompt, na mesma conversa e sem voltar a carregar nada.

Prompt 2 — a transparência final:

Tens agora de usar AS DUAS IMAGENS QUE ACABASTE DE GERAR mesmo antes, nesta mesma conversa.

- A primeira imagem gerada mesmo antes = origem vertical
- A segunda imagem gerada mesmo antes = origem horizontal

ABSOLUTAMENTE IMPORTANTE:
- Não voltes a gerar nenhuma imagem
- Não redesenhes nada
- Não mudes o estilo
- Não mudes as cores
- Não mudes o texto
- Não mudes a composição
- Não simplifiques nada
- Não acrescentes nada
- Não retires nada além do fundo uniforme de trabalho

Tens de fazer unicamente um TRATAMENTO TÉCNICO com Python/Pillow sobre as duas imagens já geradas nesta conversa, para produzir os ficheiros finais com verdadeira transparência.

Ficheiros finais a produzir:
1. filtre_[theme]_portrait_1080x1620_transparent.png
2. filtre_[theme]_paysage_1620x1080_transparent.png

Restrições obrigatórias:
- vertical final: 1080x1620 exato
- horizontal final: 1620x1080 exato
- formato PNG
- modo RGBA
- verdadeira transparência alfa

Método obrigatório:
- usar a primeira imagem gerada mesmo antes como origem vertical
- usar a segunda imagem gerada mesmo antes como origem horizontal
- abrir estas duas imagens em RGBA com Python/Pillow
- eliminar apenas o fundo claro uniforme ligado às margens e ao centro
- não eliminar cegamente todos os píxeis brancos
- preservar as flores brancas, detalhes claros, contornos, reflexos e elementos decorativos
- conservar o texto tal como está
- conservar integralmente o design
- exportar os 2 ficheiros finais em PNG transparente

Usa uma lógica de flood fill / connected background para eliminar apenas o fundo ligado.

Código recomendado:

from PIL import Image
import numpy as np
from collections import deque

def remove_connected_light_background(input_path, output_path, final_size):
    img = Image.open(input_path).convert("RGBA")
    img = img.resize(final_size, Image.LANCZOS)

    arr = np.array(img)
    rgb = arr[..., :3]
    alpha = arr[..., 3]

    h, w = alpha.shape

    light = (
        (rgb[..., 0] > 225) &
        (rgb[..., 1] > 220) &
        (rgb[..., 2] > 210)
    )

    visited = np.zeros((h, w), dtype=bool)
    q = deque()

    seeds = []

    for x in range(w):
        seeds.append((0, x))
        seeds.append((h - 1, x))

    for y in range(h):
        seeds.append((y, 0))
        seeds.append((y, w - 1))

    seeds.append((h // 2, w // 2))

    for y, x in seeds:
        if light[y, x] and not visited[y, x]:
            visited[y, x] = True
            q.append((y, x))

    while q:
        y, x = q.popleft()
        for ny, nx in ((y-1, x), (y+1, x), (y, x-1), (y, x+1)):
            if 0 <= ny < h and 0 <= nx < w:
                if not visited[ny, nx] and light[ny, nx]:
                    visited[ny, nx] = True
                    q.append((ny, nx))

    alpha[visited] = 0
    arr[..., 3] = alpha

    result = Image.fromarray(arr, "RGBA")
    result.save(output_path)

def verify(path, expected_size):
    img = Image.open(path).convert("RGBA")
    assert img.size == expected_size, f"Tamanho errado: {img.size}"

    alpha = np.array(img.getchannel("A"))
    assert alpha.min() == 0, "Nenhuma transparência verdadeira detetada"
    assert alpha[expected_size[1] // 2, expected_size[0] // 2] == 0, "O centro não está transparente"

    transparent_ratio = (alpha == 0).sum() / alpha.size
    assert transparent_ratio >= 0.55, f"Transparência insuficiente: {transparent_ratio:.2%}"

    print(path, "OK", img.size, round(transparent_ratio * 100, 2), "% transparente")

Verificações obrigatórias antes de responderes:
- vertical = exatamente 1080x1620
- horizontal = exatamente 1620x1080
- os 2 ficheiros estão em RGBA
- o píxel central tem alfa = 0
- pelo menos 55 % da imagem está totalmente transparente
- nenhum fundo claro visível na zona central
- nenhum xadrez desenhado

Resposta esperada:
- não mostres as imagens de origem
- não mostres pré-visualização
- não voltes a gerar as imagens
- responde apenas com os 2 ficheiros PNG finais transparentes e uma confirmação curta de que as verificações Python passaram

Se não puderes executar Python/Pillow nesta conversa, responde apenas:
“Não posso garantir uma verdadeira transparência PNG nesta conversa.”

Ficas com dois ficheiros: ..._portrait_1080x1620_transparent.png e ..._landscape_1620x1080_transparent.png.

No final da conversa, o ChatGPT apresenta-te os dois ficheiros finais para transferires:

Os dois ficheiros PNG transparentes gerados pelo ChatGPT: filtro vertical e filtro horizontal

Abre cada ficheiro e transfere-o: ficas com os teus dois PNG transparentes, prontos a ser carregados no Eventer.

Pré-visualização de um filtro transparente gerado pela IA, com a opção de transferência

2. Integrar o filtro no Eventer (opção Filtros Pro)

Depois de a opção Filtros Pro estar ativada para o teu evento, o carregamento faz-se em poucos cliques a partir de um computador:

  1. Abre o teu evento no computador em eventer.cc/web e depois clica no botão Filtros Pro, em cima à direita.
    Botão Filtros Pro no canto superior direito da interface de um evento Eventer
  2. Clica em + Adicionar um filtro.
    Janela Filtros Eventer com o botão Adicionar um filtro
  3. Arrasta o teu PNG vertical (1080 × 1620) e o teu PNG horizontal (1620 × 1080) para as respetivas zonas.
    Zonas para largar os PNG vertical 1080x1620 e horizontal 1620x1080

    Depois de largares os dois PNG, a pré-visualização do teu filtro aparece em cada zona:

    Pré-visualização do filtro carregado na vertical e na horizontal, pronto a ser guardado
  4. Clica em Guardar os filtros.

Está feito: o teu filtro IA vai passar a aplicar-se às fotos da câmara e do photobooth.