PRIV8 LABS - PROMPTS E FLUXOS (extensao do Chrome, versao 3.1, 02/10/2026)
==========================================================================

O que faz
---------
Um app no painel lateral do Chrome, no estilo das lojas de IA, com tres funcoes:
  1. GERADOR DE PROMPTS: as ferramentas Rosto, Corpo inteiro, Oito vistas e Body
     swap leem as suas fotos (GPT, API da OpenAI) e devolvem os prompts nos moldes
     aprovados, cada bloco com o no do fluxo onde colar.
  2. MARKETPLACE DOS FLUXOS: todos os fluxos da Priv8 Labs com capa, status
     (Aprovado, Testado, Beta), o que faz, entradas, arquivos para subir no
     RunningHub, como usar, ficha tecnica e o botao de baixar o .json.
  3. MODELOS SALVAS: as fotos de cada modelo (rosto, corpo inteiro, vistas,
     mangas, outras) guardadas em tamanho original, com um botao de copiar em
     cada foto para colar nos nos dos fluxos.

Barra de baixo:
  Inicio      destaques, banner, suas modelos, as ferramentas e os fluxos
  Fluxos      o marketplace: busca e filtro por categoria
  (botao limao) Gerar: escolha a ferramenta. Ele pisca em rosa enquanto um
              prompt esta sendo gerado em outra tela.
  Modelos     as modelos salvas e as fotos de cada uma
  Biblioteca  os ultimos 30 prompts gerados, com data e observacao
Barra de cima: "Fluxos" abre o marketplace; o botao da direita abre os
Ajustes (chave da API, modelo e esforco) e mostra "Conectar API" (sem chave)
ou o modelo em uso.


Modelos salvas (versao 3.1)
---------------------------
- Modelos > Nova modelo (ou o "+" em Suas modelos, no Inicio). O nome se
  edita no topo da modelo.
- Adicionar fotos: escolha a categoria nos botoes (Rosto, Corpo inteiro,
  Vistas, Mangas, Outras) e clique em "Adicionar fotos", arraste arquivos
  ou cole com Ctrl+V (copie a imagem no RunningHub e cole aqui). Com
  "Todas" marcado, entram em Outras.
- COPIAR PARA O FLUXO: o botao limao no canto de cada foto copia a imagem.
  No RunningHub, clique no no Load Image e aperte Ctrl+V. Se o no nao
  aceitar colar, toque na foto e use Baixar, e suba o arquivo no no.
- Tocando na foto: foto grande, copiar, baixar, trocar nome e categoria,
  usar como capa da modelo, apagar.
- Nas ferramentas (Rosto, Corpo, Vistas, Body swap), clique no quadro e escolha
  "Escolher das minhas modelos" para por uma foto salva.
- As fotos ficam so neste Chrome (no armazenamento da extensao) e SOMEM se a
  extensao for removida. Em Modelos > Copia de seguranca: "Exportar copia"
  baixa um arquivo .json com tudo; "Importar copia" traz de volta (serve
  tambem para passar as modelos para outro computador).


1. Instalar ou atualizar
------------------------
1. Abra no Chrome:  chrome://extensions  e ligue "Modo do desenvolvedor".
2. Primeira vez: "Carregar sem compactacao" e escolha a pasta  extensao
   (a que tem o manifest.json). Ja instalada da mesma pasta: clique em
   recarregar. A chave da API e os resultados salvos continuam.
3. Fixe "Priv8 Labs" no icone de quebra-cabeca da barra.


2. Chave da API (uma vez so)
----------------------------
Crie em https://platform.openai.com/api-keys (com credito em Billing), abra
Ajustes, cole e clique em Salvar. Fica so neste Chrome.


3. Gerar prompts
----------------
- ATUALIZACAO (versao 4.2): o Chrome nao atualiza sozinho extensao instalada pela
  pasta. O painel confere o site e mostra a faixa "Versao X disponivel". Clique em
  Atualizar: 1) baixe o zip; 2) descompacte e copie a pasta "extensao" POR CIMA da
  que voce ja usa (a mesma pasta: carregada de outro lugar, o Chrome trata como
  outra extensao e as modelos salvas nao aparecem); 3) clique em "Recarregar" no
  painel (nao precisa abrir chrome://extensions). A chave, as modelos e a
  biblioteca continuam. Em Ajustes > Atualizacao da para conferir na hora.
- BOTAO NO INSTAGRAM E NO PINTEREST (versao 4.1): passe o mouse sobre uma foto ou
  um video nesses sites e aparece o botao limao "Priv8". Um clique guarda a midia
  em Modelos > Referencias salvas (tamanho original) e, se uma ferramenta estiver
  aberta no painel, ja poe no primeiro quadro vazio (foto em quadro de foto, video
  em quadro de video). Depois, em qualquer quadro: clique > "Escolher das minhas
  modelos" (fotos) ou "Escolher das referencias" (videos). Desliga em Ajustes.
  Video do Instagram: de play antes de clicar; ele pode chegar SEM SOM (o site
  manda imagem e som separados). Depois de atualizar a extensao, recarregue as
  abas do Instagram/Pinterest. O rosto do Corpo inteiro nao recebe essas fotos:
  ele tem de ser um rosto criado na extensao. Use so conteudo que voce pode usar.
- VERSAO 4 (visual e uso): a tela Inicio mostra o proximo passo (conectar a API,
  comecar pelo rosto, continuar no corpo...), os Primeiros passos e as ferramentas
  em cards com imagem. Faltou a chave? A folha "Conectar a API" abre na hora, sem
  sair da ferramenta. Nas ferramentas, a trilha de atalhos (Fotos, Prompt, Fluxo,
  Imagem, Refinar) fica fixa no topo e os textos ficam recolhidos: clique no titulo
  para abrir e editar; o Copiar funciona fechado. Voltar devolve a lista no ponto
  em que voce estava. As animacoes somem se o Windows estiver com "reduzir
  movimento" ligado. As capas ficam em extensao/capas (<id do fluxo>.jpg) e o
  fundo do banner em extensao/fundo/fundo.jpg: troque os arquivos para mudar.
- TROCAR CENARIO (foto, fluxo 21): a foto da modelo e, se quiser, a do lugar; descreva o
  cenario na observacao. O pedido trava ela inteira e pede luz e sombra do lugar novo.
  Aplicar: sobem as fotos, o reescritor da Qwen desliga e o REF 1 liga com a foto do lugar.
  Para video, escreva "para video" (9:16, corpo inteiro).
- TROCAR CENARIO NO VIDEO (fluxo 31, SCAIL2 em modo animacao): a foto da modelo ja no
  cenario novo e o video (so o movimento). O video sai com o cenario da foto.
- FORMATO E QUALIDADE: nas ferramentas Rosto, Corpo inteiro, Body swap e Troca de
  roupa, a barra "Formato e qualidade" escolhe a proporcao (so no Rosto: nos outros
  a proporcao segue a foto) e a qualidade 540p, 720p, 1080p, 2K ou 4K. Vai junto em
  Aplicar no fluxo aberto: ate 1080p gera direto; 2K e 4K geram a 2.1 MP e ligam o
  UPSCALE FINAL (SeedVR2) do fluxo. Nos testes de pele (24) vai ate 2K, sem upscale.
  Nos paineis Criar o rosto/corpo aqui (GPT Image): Proporcao + Qualidade (ate 4K,
  2160x3840 em 9:16) e Detalhe (low a max).
  Fluxos que voce ja tinha aberto no RunningHub nao tem o grupo novo: abra de novo
  pelo botao Abrir no RunningHub.
- TROCA NO VIDEO (fluxo 30, SCAIL2): a foto da nossa modelo e o video de origem
  sobem direto no fluxo aberto (o video vai em partes de 4 MB). Campos: descricao
  da cena (ingles), pessoas no video, comeco e duracao (5 a 30 s). O tamanho sai
  pelo formato do video. Nao escreve prompt: e so Aplicar no fluxo aberto.
- FICHA DA MODELO: no rosto criado, "Salvar como modelo" cria a modelo (ou usa
  uma que ja existe) com o rosto de capa e escreve a ficha: idade, tom de pele
  com a cor medida no rosto (HEX), subtom, cabelo, olhos, sobrancelhas, sardas,
  piercings e outros tracos. A ficha fica em Modelos > (a modelo) e da para
  editar (os textos ficam em ingles porque entram nos prompts). "Criar o corpo
  dela" abre o Corpo inteiro com a modelo escolhida: o rosto entra no quadro
  image2 e a ficha vai junto nos textos (a pele do corpo inteiro igual a do
  rosto) e no Criar o corpo. No Corpo inteiro, a barra "Modelo" troca a modelo.
  Se voce trocar o rosto do quadro image2 por outro, a ficha sai do pedido.
- CRIAR O CORPO AQUI (Corpo inteiro, com e sem tatuagens): depois de gerar os
  textos do corpo, o painel "Criar o corpo aqui" cria o corpo inteiro com o GPT
  Image 2.5 Sunburst. Vao para o modelo: os textos (sem o negativo), o ROSTO do
  quadro image2, o corpo do quadro image1 so como forma (o manequim das medidas,
  ou uma foto) e, com tatuagens, as duas mangas como desenho. O rosto PRECISA ser
  um rosto criado aqui (botao "Usar no Corpo inteiro" no Rosto, ou Minhas
  modelos > Rostos criados): rosto de foto nao entra. Cada corpo fica salvo em
  Minhas modelos > Corpos criados. Em cada corpo: Usar nas Oito vistas (vai para
  o quadro do corpo aprovado), Refinar o prompt com ele, Ajustar ("quadril um
  pouco menor"), Baixar e Copiar.
- SEMELHANCA (ferramenta Rosto): "Bem parecida" faz o ChatGPT descrever a
  referencia traco por traco (formato do rosto, testa, macas, queixo, nariz,
  olhos, sobrancelhas, boca, marcas); "Inspirada" pega so o tipo. As fotos sao
  lidas para escrever o prompt; o gerador de imagem recebe so o texto, entao o
  rosto sai parecido no tipo, mas e sempre uma pessoa nova.
- CRIAR O ROSTO AQUI (ferramenta Rosto): depois de gerar o prompt do rosto, o
  painel rosa "Criar o rosto aqui" cria a imagem com o GPT Image 2.5 Sunburst da
  OpenAI (a mesma chave da API). Escolha qualidade (low = rascunho barato, max =
  mais detalhe e mais lento), formato (3:4 e o dos fluxos 24) e 1 a 4 versoes.
  So o TEXTO do prompt vai para o modelo de imagem: as fotos de referencia nao
  vao, entao sai uma pessoa nova, inspirada nelas. Cada rosto fica salvo em
  Minhas modelos > Rostos criados e mostra o custo aproximado. Em cada rosto:
  Usar no Corpo inteiro (vai para o quadro do rosto, com e sem tatuagens),
  Refinar o prompt com ele, Ajustar (uma edicao so daquele rosto: "nariz mais
  fino", "olhos verdes"), Baixar e Copiar. A OpenAI pode pedir a verificacao da
  organizacao antes de liberar o GPT Image (platform.openai.com > Settings >
  Organization > Verify).
- ABRIR NO RUNNINGHUB (um clique, sem baixar nada): na pagina do fluxo no
  Marketplace, ou no rodape de cada ferramenta, clique em "Abrir no RunningHub"
  (ou "Abrir 24D...", um por arquivo). A extensao abre o seu Espaco de
  trabalho, usa o botao Importar dele com o fluxo e abre o fluxo novo no editor.
  Precisa estar logado no RunningHub. Cada clique cria uma copia nova no Espaco
  de trabalho, com o nome do arquivo (ex.: 29_troca_de_roupa_qwen21). As LoRAs
  da lista "Subir no RunningHub antes" continuam sendo suas: suba antes de rodar.
  O botao de baixar (seta para baixo) continua ao lado, para o ComfyUI local.
- APLICAR NO FLUXO ABERTO (em todas as ferramentas): abra o fluxo no editor do
  RunningHub (ou do ComfyUI local) numa aba do Chrome e clique em "Aplicar no
  fluxo aberto", embaixo dos prompts. A extensao acha os nos pelo titulo e mostra
  a lista do que vai mudar: cada bloco no no dele, os grupos ROUPA (troca de
  roupa) e os ajustes que o refino sugeriu (passos, cfg, peso de LoRA, denoise,
  recorte). Desmarque o que nao quiser e clique em "Aplicar no fluxo".
  Ela NAO executa e NAO salva: confira no editor e clique em Executar voce mesmo.
  "Desfazer no fluxo" volta os nos para como estavam.
  FOTOS: as fotos dos quadros tambem sobem direto nos nos de imagem (FOTO DO
  CORPO, ROSTO DA MODELO, mangas, CORPO INTEIRO APROVADO, Body/Head Reference,
  SUA FOTO, ROUPA/ACESSORIO 1-5), pelo envio do proprio editor: sobe o arquivo
  original (sem a reducao feita para a API), troca o arquivo do no e mostra a
  previa. O manequim das medidas sobe no FOTO DO CORPO. O botao ja aparece so
  com as fotos, antes de gerar o prompt. As fotos de resultado do refino e as
  mangas das Oito vistas nao sobem (o fluxo nao tem no para elas).
  Na primeira vez depois de atualizar, o Chrome pede permissao para a extensao
  ler e alterar os sites runninghub.ai e localhost: aceite, ou o botao nao acha
  o fluxo.
- REFINAR O PROMPT (em todas as ferramentas): depois de rodar o fluxo, ponha a
  imagem que saiu no quadro "resultado" (e outra, se quiser), escreva o que
  melhorar e clique em Refinar. A ferramenta compara com as referencias e ajusta
  o prompt ATUAL com o minimo de mudancas (nao refaz): os blocos alterados ficam
  marcados em verde, as notas dizem o que mudou e por que, e "Desfazer refino"
  volta ao de antes. Ja tem um prompt de outra vez? "Ja tenho um prompt: colar e
  refinar" abre os blocos para colar. Se o problema for de ajuste do fluxo e nao
  do texto, o refino sugere ate 3 ajustes (caixa laranja), que vao junto no
  Aplicar no fluxo aberto.
- Troca de roupa: a sua foto no quadro image1 e as roupas/acessorios nos quadros
  seguintes, em ordem; na observacao, como usar cada peca. Cole o pedido no no
  PEDIDO do fluxo 29 e ligue os grupos ROUPA que usar, em ordem.
- Para colocar cada foto: clique no quadro e escolha Enviar do computador,
  Escolher das minhas modelos ou Colar (a imagem que voce copiou). Tambem da
  para arrastar o arquivo ou apertar Ctrl+V (vai no quadro sob o mouse ou no
  primeiro vazio).
- Os fluxos de corpo inteiro trocam a cabeca no fim (grupo 4, BFS Head no Qwen
  2511): use o RESULTADO FINAL, com o rosto e o cabelo do rosto de referencia.
- Corpo inteiro tem o painel MEDIDAS DA MODELO: sliders de altura, tamanho,
  porte fisico, seios, cintura, quadril, bumbum e coxas, com um manequim de
  frente e de perfil que muda na hora.
    * O manequim entra sozinho no quadro image1 no lugar da foto do corpo (nao
      precisa de foto de referencia). Para usar uma foto real, solte-a no quadro.
    * No RunningHub: "Copiar manequim" e Ctrl+V no no FOTO DO CORPO.
    * As medidas vao no pedido ("Target body") e ganham da foto quando diferem.
    * O painel sugere o peso da LoRA Breasts Slider do fluxo.
    * "usar no prompt" desligado = volta a ser so a foto do corpo.
    * As medidas ficam salvas e valem para o corpo com e sem tatuagem.
- Corpo inteiro pergunta primeiro: Com tatuagens (corpo, rosto e as duas mangas;
  fluxo 27 etapa 1) ou Sem tatuagens (so corpo e rosto; fluxo 27 etapa 1 sem
  tatuagem). Dentro da ferramenta, o botao "Trocar para..." muda de um para o outro.
- Rosto aceita ate 4 fotos de referencia: diga na observacao o que pegar de
  cada uma (ex.: "olhos da image1, cabelo da image2"). O fluxo 24 e texto
  para imagem, entao sai um rosto novo inspirado nelas, nao a pessoa da foto.
- Os piercings do rosto entram sempre que a referencia tiver (tipo, metal,
  tamanho e lado), e seguem nos textos do corpo e das vistas. Na observacao da
  para tirar, trocar ou acrescentar piercing.
- Abra a ferramenta (Inicio, botao limao ou "Gerar os prompts deste fluxo" no
  marketplace). Cada quadro diz qual imagem vai nele; pontilhado = opcional.
- Coloque as fotos: clique, arraste ou Ctrl+V (vai no quadro sob o mouse ou
  no primeiro vazio).
- Observacao e opcional (ex.: "quadril um pouco menor", "23 anos, loira").
- Gerar: leva de 20 s a 2 min. Da para trocar de tela que a geracao continua.
  Uma ferramenta gera por vez.
- Cada bloco tem Copiar e a linha "Cole em:". Da para editar antes de copiar.
- O resultado fica na ferramenta e vai para a Biblioteca.
- Avisos em vermelho: bloco faltando, imagem sem <>, ( ) [ ] { } | ou aspas,
  rosto sem fundo branco, upscale sem o gatilho, body_swap fora dos 13 paragrafos.


4. Marketplace
--------------
- Os fluxos e os textos de cada um ficam em fonte/src/catalogo.js.
- Fluxo novo: acrescente um item no catalogo (o .json tem de estar em
  ../fluxos) e rode "npm run build" na pasta fonte: ele copia os .json para
  extensao/fluxos e tira os que sairam do catalogo.
- Capa: salve extensao/capas/<id do fluxo>.png (ou .webp/.jpg) e rode
  "npm run build". Sem capa, entra a arte com a cor do fluxo.
- Status: "aprovado" = rodou e foi aprovado; "testado" = rodou com ajustes
  pendentes; "beta" = ainda nao rodou.


5. Visual
---------
- Logo: extensao/marca/priv8.svg (o topo usa priv8-recortado.svg).
- Imagem do banner e do topo das ferramentas: extensao/fundo/fundo.png (ou
  .webp/.jpg); o painel acha sozinho. Prompt para gerar no GPT Image 2:
  prompt_fundo_gptimage2.txt.
- Fonte Inter, do Google Fonts (sem internet, usa a fonte do sistema).


Custo e privacidade
-------------------
Cada geracao e cobrada na sua conta da OpenAI; a ferramenta mostra o valor
estimado. A extensao pede para a OpenAI nao guardar as fotos nem a resposta
(store: false). Biblioteca e resultados ficam so neste Chrome.


Regras que a extensao segue
---------------------------
- Imagens no prompt sempre como <image1>, <image2>...
- Nada de nudez (o RunningHub proibe): a roupa sempre cobre.
- So mulheres adultas; foto de quem possa ter menos de 18 anos e recusada.
  Ninguem e identificado pelo nome.


Mudar
-----
  fonte/src/instrucoes_agencia.js   moldes de rosto, corpo e vistas
  fonte/src/prompt_sistema.js       molde do body swap
  fonte/src/modos.js                ferramentas: quadros, blocos, "Cole em:"
  fonte/src/catalogo.js             marketplace
  fonte/src/modelos.js              modelos salvas (modelos_db.js = banco das fotos)
  extensao/painel.css               cores e visual
Depois:  cd fonte ; npm install (so na primeira vez) ; npm run build
e recarregue a extensao em chrome://extensions.
