CommunityImagemgithub.com

ppqwpe/banana-loop

Cria um script de console com prompts embutidos que repete a geração de imagens no Higgsfield. Útil para geração apenas com texto, várias variantes da mesma original, troca de imagens de referência em ordem numerada e organização de uma pasta de referências. Suporta trabalhos gerais com imagens como personagens, logotipos, produtos, fundos e espaços; geração de vídeo está excluída.

O que é banana-loop?

Esta skill cria um script de console para executar no navegador, automatizando a geração repetitiva de imagens na plataforma Higgsfield. Ela suporta três métodos principais: geração apenas com texto (substituindo apenas os prompts), uso de uma única imagem de referência (mantendo a original) e processamento sequencial de várias referências em ordem numerada, onde cada grupo de prompts é executado para uma referência, que é então substituída pela próxima. A skill organiza automaticamente as pastas de referência, gera prompts em inglês com base nas solicitações do usuário e constrói o arquivo `paste_into_console.js` pronto para uso. Ela é indicada para desenvolvedores que precisam gerar variações de personagens, logotipos, produtos ou fundos, sem interação manual constante. O funcionamento é baseado em um arquivo JSON de configuração (`_prompts.json`) que define os prompts e a ordem de execução, e um script Python que monta o código final. O usuário apenas precisa colar o script no console do navegador, conectar a pasta de referências (se necessário) e iniciar a execução.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ppqwpe/banana-loop/tree/HEAD

Installed? Explore more Imagem skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Perguntar na sua IA favorita

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

Documentação

Banana Loop

Responda ao usuário no idioma em que ele escreve.

O ponto de entrada do usuário é Início Rápido. Não faça um usuário iniciante ler toda a documentação interna; siga os princípios de integração abaixo e o guia de fluxo de trabalho do agente, e guie apenas a etapa necessária no momento.

Se o usuário perguntar o que escrever no chat ou precisar de um exemplo pronto, escolha o que se adequa à situação a partir dos exemplos de solicitação copiáveis. Não liste todos os exemplos em uma única resposta.

Guiando usuários iniciantes

  • Ao receber a skill, imagens ou uma sinopse, primeiro leia todo o material que puder acessar e, em seguida, forneça de 3 a 5 frases: resumo do material -> método de geração recomendado -> próximo passo. Antes de ler algo, diga que verificará; nunca diga que verificou material que não pôde ler. Não despeje instruções de instalação, uma tabela de diagnóstico completa ou código longo na primeira resposta. Para um exemplo concreto, siga o modelo de primeira resposta.
  • Na orientação, chame os métodos de geração de ① apenas texto ② uma referência ③ pasta de referência (em ordem). Quando o usuário descrever o resultado, o agente escolhe o método correspondente. Se houver várias imagens, mas o usuário nomear apenas uma, é o método ②; não force uma referência em uma solicitação de texto só porque uma imagem está anexada.
  • Se apenas materiais forem entregues e o objetivo não estiver claro, sugira brevemente um trabalho possível e pergunte qual resultado o usuário deseja. Não comece automaticamente a produzir cada cena de uma sinopse. Se um trabalho já foi solicitado e a informação é suficiente, dê uma nota curta e prossiga; não pare para obter aprovação da mesma coisa.
  • Primeiro, descubra o resultado que o usuário deseja e os materiais fornecidos. Não force termos internos como modo, slot, stride ou JSON ao usuário como opções.
  • Se faltar alguma informação, faça apenas as perguntas que decidem o resultado, agrupadas. Pule qualquer coisa já respondida entre "qual trabalho", "onde estão os materiais", "quantos são necessários". Decida escolhas simples de composição ou estilo a partir do contexto da solicitação e mencione-as brevemente.
  • Julgue em qual estágio você está: apenas organização, primeira execução, revisão de resultados ou parar/retomar. Se apenas a organização foi solicitada, pare por aí. Para uma primeira execução, forneça o arquivo finalizado primeiro e explique como verificar com uma pequena quantidade. Para solicitações de revisão, reutilize os materiais existentes, o plano e o mecanismo compartilhado.
  • Separe o que o usuário faz do que o agente faz. Ler materiais, vincular nomes, compor prompts, construir e verificar são tarefas do agente. Apenas o que as ferramentas não podem fazer (login, colar no console, escolher uma pasta) é guiado para o usuário, especificamente. Não faça uma conexão de navegador ser uma pré-condição para criar o arquivo.
  • A primeira entrega termina com o link do arquivo de execução mais recente, onde as referências devem estar, o que fazer agora e o escopo real da verificação. Se ocorrer um erro, verifique a posição do progresso e o sintoma e continue ajudando. A preferência do usuário por respostas curtas tem precedência sobre o formato da resposta.
  • Informe ao usuário sobre trabalhos não suportados antes de começar a preparação. Não anuncie recursos não implementados como exemplos disponíveis ou faça o usuário tentar um código que falha.

Leia a descrição do trabalho e os materiais fornecidos e crie um paste_into_console.js contendo os prompts, o mecanismo e o painel. Não o vincule a um projeto, conta, pasta ou agente específicos. Use-o com um agente que possa ler arquivos e executar Python. Esta é uma versão alfa.

Princípios centrais de funcionamento

Escolha um dos três métodos que se adapte à solicitação. A geração de texto substitui apenas os prompts; a geração com uma referência mantém a original. A geração sequencial com várias referências é uma referência -> executar todos os prompts preparados para essa original -> excluir a referência existente -> enviar a próxima referência -> executar o próximo grupo de prompts. O agente prepara os prompts por imagem e a ordem de execução, e o usuário conecta a pasta e inicia quando necessário. Dentro de um grupo, mantenha sempre a mesma original e nunca use um resultado gerado como a próxima original.

O número de prompts por imagem pode variar com a solicitação. Não o fixe em 6 ou aplique a mesma frase a todas as imagens. Não peça ao usuário para combinar personagens e fundos para composição e não estenda recursos de várias referências para o trabalho padrão. Geração sem referência e manutenção de uma única original também são suportadas.

O modo de pasta do mecanismo atual 0.3.2-alpha.6 implementa essa estrutura de troca sequencial. O escopo da verificação de aceitação real de solicitações está registrado em references/release-checks.md. Quando as solicitações de um grupo são processadas, ele passa para a próxima imagem; não o descreva como esperando a renderização da imagem terminar. Ele termina após a última imagem, e a repetição infinita é ativada apenas se o usuário solicitar uma repetição completa. Trabalhos sequenciais usam Shuffle OFF.

Entendendo o trabalho e escolhendo um modo

No primeiro uso, leia verificações de ambiente e diretrizes de resposta do agente. Prossiga nesta ordem: verificação de ambiente -> materiais por corte e prompts -> arquivo de execução finalizado e um guia de início curto -> tratamento de erros baseado em evidências. Verifique separadamente se o acesso a arquivos, a execução de código e o controle do navegador são possíveis e não pergunte novamente o que já foi confirmado. Indique claramente o local de trabalho real e o escopo da verificação. Adapte os exemplos de resposta aos fatos e não copie recursos não verificados como se estivessem concluídos.

A partir da solicitação, identifique o que manter, o que mudar e o número desejado de cortes, repetições e ordem. Não pergunte novamente o que você já tem. Quando os materiais e o propósito forem suficientes, o agente escolhe um modo abaixo; não deixe a escolha do modo técnico para o usuário.

TrabalhoOpção de construçãoComportamento
① apenas texto--reference noneSubstitui apenas os prompts. A referência existente no site é deixada vazia.
② uma referência--reference manualMantém a original que o usuário enviou ao site e substitui apenas os prompts.
③ pasta de referência (em ordem)--reference folderProcessa o grupo de prompts de uma original, exclui-a e envia a próxima original numerada.

Os resultados gerados não são automaticamente vinculados como a próxima original. A tabela acima é o escopo que o mecanismo atual suporta. Explique que a composição de múltiplas referências não é suportada apenas quando for solicitada separadamente; não a torne uma pré-condição para execuções sequenciais padrão.

Organização de pasta

Quando solicitado, observe as imagens e o cenário você mesmo e defina a ordem para se adequar ao propósito. Mantenha as originais e copie-as para uma pasta separada, como sorted_refs, como 01_name.png, 02_name.jpg. Mantenha as extensões e mostre brevemente: nome original -> novo nome -> motivo da ordem. Não avance para a geração de prompts ou execução em um estágio onde apenas a organização foi solicitada.

Leia e edite em relação à pasta de trabalho real especificada pelo usuário. Nomes de materiais e ordem de corte são coisas separadas. Ao renomear ou copiar, também atualize os links dos arquivos na lista de cortes e verifique se eles existem. Se fizer uma cópia, indique o caminho exato. Não relate o resultado da edição de uma pasta diferente como edição da pasta original.

Os números são únicos, de 1 a 999; os formatos suportados são PNG, JPG, JPEG e WebP. Coloque as imagens diretamente na pasta a ser conectada. Consulte naming.md para regras detalhadas.

Compondo prompts

Escreva quantos prompts em inglês o usuário solicitou. Componha assunto, cena, enquadramento, luz e estilo para o propósito e, nas variantes, separe o que manter do que mudar. Não transforme arbitrariamente solicitações para alterar um logotipo, texto, ilustração ou cabelo em instruções para removê-los, torná-los fotorrealistas ou fixar o cabelo. Para uma única pessoa em um único plano, também indique que múltiplas vistas ou duplicação de folha não são desejadas.

Se uma ficha de personagem for solicitada e nenhum outro layout for especificado, use close-up do rosto esquerdo -> corpo inteiro frontal central -> corpo inteiro traseiro direito como padrão. As três vistas mantêm a mesma roupa, cabelo, estilo de arte e um fundo comum do personagem. Não force proporção de layout ou proporção de aspecto; solicitações do usuário para um layout, número de vistas ou manter um layout de ficha existente têm prioridade. Aplique este padrão também a solicitações de variantes de ficha, mas não transforme automaticamente mudanças comuns de roupa/cabelo ou trabalhos de cena em trabalho de ficha. Não coloque instruções de vista única ou sem ficha em um prompt de ficha. Para texto de exemplo, veja a entrada de ficha de personagem em prompt-styles.md.

Se nenhuma proporção de aspecto específica for solicitada, use aspect: "site". Modelo, proporção de aspecto e número de saídas usam as configurações do site como estão. Os padrões são Loop OFF e Shuffle OFF; altere-os mediante solicitação. Trocas sequenciais usam Shuffle OFF. Explique como verificar com uma pequena quantidade, mas não force um procedimento que faça você esperar por resultados antes de fornecer todo o código solicitado.

Referência de estilo: prompt-styles.md. Use axes.md com scripts/scan_refs.py e scripts/build_prompts.py apenas quando as predefinições padrão do plano de captura forem desejadas. Não restrinja solicitações de forma livre às quatro predefinições.

Defina os eixos de mudança para se adequar ao propósito de cada corte. Uma transformação mantém rosto e corpo e muda roupas e adereços. A composição de personagem-fundo mantém as identidades de ambas as referências e combina fundamento, perspectiva e sombras. Uma comparação de câmera mantém pose, lugar e iluminação e muda apenas o enquadramento; uma comparação de iluminação mantém pose, lugar e enquadramento e muda apenas a luz. Se combinações forem solicitadas, construa combinações por corte; não aplique a mesma frase fixa a todos os materiais.

Formato de dados

{
  "schema_version": 1,
  "mode": "WITH_REF",
  "project": "nome do projeto do usuário",
  "aspect": "site",
  "stride": 10,
  "prompts": {
    "1": "Use a referência original. Preserve o design do assunto. Mude apenas o fundo para um fundo de estúdio claro.",
    "11": "Use a mesma referência original. Preserve o design do assunto. Mude apenas o fundo para um fundo de estúdio escuro."
  },
  "labels": {"1": "fundo claro", "11": "fundo escuro"}
}
  • manual e folder: mode é WITH_REF. stride é um múltiplo de 10 igual ou superior ao número de referência mais alto (máx. 1000). Slot = número da referência + índice da variante x stride. O exemplo acima são duas variantes da original 01. Para processar as originais 01 e 02 uma vez cada, use slots 1 e 2. Todas as variantes de um número são processadas antes de passar para a próxima original.
  • none: mode é PROMPT_ONLY. Executa na ordem crescente de número de slot e stride não afeta a ordem (30 se omitido). Construa repetições fixas a partir de quantos slots forem necessários. Consulte examples/EXAMPLES.md para um exemplo.

Salve como _prompts.json via serialização JSON. O JSON é material para a edição e construção do agente; não é um arquivo para colocar diretamente no console.

Construindo o arquivo de execução

Leia console-workflow.md. Python 3.10 ou posterior é necessário, e o caminho abaixo é relativo a esta pasta de skill.

python scripts/build_console.py "workfolder/_prompts.json" --reference manual --out "workfolder/paste_into_console.js"

Altere manual para none ou folder para se adequar ao trabalho. Adicione --infinite e --shuffle apenas se repetição infinita ou shuffle foram solicitados. Reutilize os assets/engine.js e assets/console-panel.js existentes; não escreva um novo mecanismo por projeto.

Execute a verificação de sintaxe e a verificação scripts/verify.js no JS finalizado. Na resposta final, forneça o link do JS de execução, a pasta de referência, se aplicável, e uma sequência curta de uso. Não entregue apenas o JSON ou o código-fonte do mecanismo e faça o usuário montá-lo.

Guia de uso

F12 -> Console -> cole todo o código -> Enter -> Iniciar. Apenas quando um aviso de bloqueio aparecer, guie o usuário para verificar o código e digitar allow pasting por conta própria. Para manual, envie a original primeiro; para folder, conecte a pasta de imagens no painel; para none, limpe a referência existente no site.

A permissão ilimitada para o modelo é necessária, e o código a ativa e verifica em tempo de execução. Mantenha a aba de execução aberta e desligue o modo de suspensão do computador. Controle Loop, Shuffle e Stop no painel. Fold mantém a execução ativa e Close e Stop bloqueiam solicitações adicionais. Um marcador de aceitação não confirmada é registrado e a execução passa para o próximo item; não é contado como sucesso.

Escopo de verificação alfa

Siga o registro de verificação de versão para o ambiente de versão e como verificar novamente. A proporção de aspecto não é alterada nem fixada; a configuração do site é lida. Isso não é uma garantia de compatibilidade com todos os navegadores, telas ou mudanças do site. Quando ocorrer um erro, verifique o estágio, o número e o código de erro salvos em Log · diagnostics e corrija a classe correspondente. Não reexecute todo o conjunto de solicitações aceitas antes da falha.

No alpha.5, 5 aceitações reais nos três modos foram confirmadas. As referências sequenciais foram 2 na primeira original -> troca de original -> 1 na próxima original, com um Test once seguido por Resume. Modelo, proporção de aspecto e número de saídas foram preservados. A qualidade final da imagem e outros ambientes de navegador não foram verificados. Não o apresente como livre de erros em todos os ambientes. Para tratamento de erros, consulte troubleshooting.md. O alpha.6 apenas limpou o interno do mecanismo; o código de manipulação do site permanece inalterado.

Execução sequencial de referência: padrões e verificação

No site de 2026-10-01, a ordem era References(+) -> Upload media -> um novo cartão aparece na lista de upload -> selecione esse cartão -> a referência é anexada ao formulário de geração. A conclusão do upload do arquivo e a conclusão da anexação da referência são diferentes. O mecanismo passa o arquivo da pasta conectada, seleciona automaticamente o novo cartão e fecha a lista. Não faça o

… [truncado para tradução]

Habilidades Relacionadas