Skip to content

PDR — Brahma: Pipeline de Criação de Conteúdo Visual com IA #1

@horacio3m

Description

@horacio3m

PDR — Brahma

Visao Geral

Brahma e um pipeline de criacao de conteudo visual com IA, focado na producao de episodios curtos (ate 2 minutos) para o Diaum — um app de combate a vicios. O Brahma unifica todo o fluxo criativo: da criacao de personagens a geracao de imagens e animacao, resolvendo o problema de fragmentacao e inconsistencia entre ferramentas.


Problema

Criar videos curtos com IA hoje e um processo manual e fragmentado:

  • Prompts escritos na mao, sem padronizacao
  • Imagens geradas em uma ferramenta, animacoes em outra
  • O personagem nunca fica igual entre os shots — inconsistencia visual
  • Sem historico ou organizacao dos assets gerados
  • Fluxo repetitivo e propenso a retrabalho

Solucao

Um pipeline completo e unificado onde o usuario:

  1. Cria personagens em portugues — descreve nome, idade e caracteristicas fisicas
  2. Brahma converte automaticamente para prompts cinematograficos em ingles
  3. Gera imagens consistentes usando imagens de referencia entre shots
  4. Anima os shots via API do Gemini
  5. Exporta tudo organizado para pos-producao em multiplos formatos

Fluxo do Usuario

1. Criacao de Personagem

  • Usuario preenche: nome, idade, caracteristicas fisicas (em PT-BR)
  • Exemplo: "Joao, 30 anos, magro, barba por fazer, cabelo baguncado, camiseta de banda antiga, shorts roxo escuro, chinelo"
  • Brahma faz o parse e gera um prompt-base cinematografico em ingles
  • Usuario pode salvar imagens de referencia aprovadas para manter consistencia

2. Criacao de Episodio

  • Usuario escreve o roteiro do episodio
  • Divide o roteiro em shots (cada shot = uma cena/imagem)
  • Cada shot herda automaticamente o prompt-base do personagem

3. Geracao de Imagens

  • Shot 1: gera imagem apenas com o prompt -> usuario aprova
  • Shot 2 em diante: envia prompt + imagem aprovada do shot anterior como referencia via API (campo separado, nao no prompt de texto)
  • A imagem de referencia e enviada como URL do Supabase Storage
  • Parametro de strength/influence controla quanto a referencia impacta a geracao
  • Usuario compara com referencias anteriores e aprova ou refaz

4. Animacao

  • Shots aprovados sao enviados para a API do Gemini para animacao
  • Animacoes nao persistem no banco — sao baixadas para pos-producao

5. Export

  • Assets organizados por episodio, prontos para o editor de video
  • Suporte a multiplos formatos: 9:16 (stories/reels), 1:1 (feed), 16:9 (widescreen/YouTube)

Navegacao

HOME -> Lista de personagens (cards)
  +-- Clica no personagem -> Lista de episodios (thumbnails)
       +-- Clica no episodio -> Shots + roteiro + geracao

Modelo de Dados

Personagem

Campo Tipo Descricao
id uuid Identificador unico
name string Nome do personagem
age integer Idade
description_pt text Descricao em PT-BR (input do usuario)
prompt_base_en text Prompt cinematografico gerado em ingles
created_at timestamp Data de criacao

Imagem de Referencia (do Personagem)

Campo Tipo Descricao
id uuid Identificador unico
character_id uuid FK -> Personagem
image_url string URL no Supabase Storage
approved boolean Se foi aprovada como referencia
created_at timestamp Data de criacao

Episodio

Campo Tipo Descricao
id uuid Identificador unico
character_id uuid FK -> Personagem
title string Titulo do episodio
script text Roteiro completo
format enum 16:9, 9:16, 1:1
order integer Ordem do episodio
created_at timestamp Data de criacao

Shot

Campo Tipo Descricao
id uuid Identificador unico
episode_id uuid FK -> Episodio
prompt_scene text Descricao da cena
prompt_full text Prompt completo (base + cena)
image_url string URL da imagem gerada no Supabase Storage
reference_image_url string URL da imagem usada como referencia
status enum pending, generated, approved, animated
order integer Ordem no episodio
created_at timestamp Data de criacao

Stack Tecnica

Camada Tecnologia Justificativa
Frontend Next.js + Tailwind CSS UI reativa, API routes integradas
Banco de dados Supabase (PostgreSQL) Gratuito ate 500MB, funciona local e online
Storage de imagens Supabase Storage Imagens acessiveis via URL publica
Animacao Gemini API Animacao de imagens estaticas
Geracao de imagens A definir (Replicate/Fal.ai/outro) Precisa suportar image-to-image com referencia
Deploy Vercel Deploy nativo de Next.js, gratuito
Repositorio GitHub (publico) Open source

Configuracao - .env

Cada usuario configura suas proprias chaves. Arquivo .env nunca commitado:

SUPABASE_URL=
SUPABASE_ANON_KEY=
GEMINI_API_KEY=
IMAGE_API_KEY=

Um .env.example sera commitado como referencia.


Decisoes em Aberto

  • API de geracao de imagens: qual servico usar? Precisa suportar image-to-image com referencia. Candidatos: Replicate (Flux), Fal.ai, Stable Diffusion API
  • Traducao PT-BR -> EN: usar Gemini API para traduzir ou template fixo com mapeamento?
  • Parametro de strength: qual valor padrao para influencia da referencia?

Roadmap de Releases

v0.1.0 — Fundacao

Setup do projeto e infraestrutura base

  • Inicializar projeto Next.js + Tailwind CSS
  • Configurar Supabase (banco + storage)
  • Criar schema do banco (migrations)
  • Configurar .env.example e .gitignore
  • Layout base da aplicacao (sidebar, navegacao)
  • Deploy inicial na Vercel

v0.2.0 — Personagens

CRUD completo de personagens com geracao de prompt

  • Tela de criacao de personagem (formulario em PT-BR: nome, idade, descricao)
  • Parse automatico de PT-BR -> prompt cinematografico em ingles
  • Listagem de personagens na home (cards com avatar)
  • Tela de detalhe do personagem (editar, visualizar prompt gerado)
  • Upload de imagens de referencia do personagem
  • Galeria de referencias com aprovacao (marcar como referencia principal)
  • Deletar personagem

v0.3.0 — Episodios e Roteiro

Estrutura de episodios vinculados a personagens

  • Tela de criacao de episodio (titulo, roteiro, formato: 16:9 / 9:16 / 1:1)
  • Listagem de episodios por personagem (thumbnails)
  • Editor de roteiro
  • Divisao do roteiro em shots (manual)
  • Reordenacao de shots (drag and drop)
  • Geracao automatica do prompt completo por shot (prompt-base do personagem + cena)
  • Deletar episodio

v0.4.0 — Geracao de Imagens

Integracao com API de geracao de imagem

  • Definir e integrar API de geracao (Replicate/Fal.ai/outro)
  • Gerar imagem a partir do prompt do shot
  • Enviar imagem de referencia junto na geracao (image-to-image)
  • Shot 1 -> so prompt; Shot 2+ -> prompt + referencia do shot anterior
  • Controle de strength (slider) para influencia da referencia
  • Preview da imagem gerada ao lado das referencias do personagem
  • Fluxo de aprovacao: aprovar / refazer geracao
  • Salvar imagem aprovada no Supabase Storage
  • Suporte aos 3 formatos de aspecto (16:9, 9:16, 1:1) na geracao

v0.5.0 — Animacao

Integracao com Gemini para animar shots aprovados

  • Integracao com Gemini API para animacao de imagens
  • Botao "Animar" em cada shot aprovado
  • Preview da animacao gerada
  • Download da animacao (nao persiste no banco)
  • Status do shot atualizado para "animated"

v0.6.0 — Export e Pos-Producao

Organizacao e export dos assets finalizados

  • Tela de export por episodio
  • Download em lote (todas as imagens + animacoes do episodio)
  • Organizacao por pasta: personagem/episodio/shot_01.png
  • Metadados do episodio exportados (roteiro, ordem dos shots, prompts)

v1.0.0 — Release Publico

Polimento, documentacao e preparacao para uso externo

  • README completo com instrucoes de setup (Supabase, Vercel, API keys)
  • Onboarding na primeira visita (guia rapido)
  • Tratamento de erros e feedback visual (loading, falhas de API)
  • Responsividade (mobile-friendly)
  • Testes basicos (API routes, fluxos principais)
  • Revisao de seguranca (chaves, permissoes Supabase, RLS)
  • Landing page ou README visual do projeto

Publico-Alvo

Projeto open source. Qualquer pessoa pode:

  1. Clonar o repositorio
  2. Configurar suas proprias chaves no .env
  3. Fazer deploy na Vercel + Supabase
  4. Criar seu proprio fluxo de producao de videos com IA

Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions