Gerente de GUI com vários threads para criação em massa de arte gerada pela IA com suporte para várias GPUs.
Isso visa o usuário que deseja criar muitas obras de arte de IA com o mínimo de tempo prático. Se você está procurando um repositório que permitirá que você gaste horas aprimorando uma única imagem até que seja perfeita, existem melhores opções (Atualização 2022-12-06: a Dream Factory agora usa o repo do Automatic1111 no back-end para que você obtenha o melhor dos dois mundos!). Se você tem centenas de idéias imediatas e deseja facilmente e rapidamente (bem, o mais rápido que suas GPUs podem gerenciar!), Vê -las renderizadas em centenas de diferentes variações e/ou estilos, então isso é para você.
Para ilustrar, tive três GPUs executando a fábrica de sonhos sem vigilância praticamente 24 horas por dia, sete dias por semana, por alguns meses - eles produzem milhares de imagens todos os dias! Posso verificar minhas imagens e fazer modificações nos meus trabalhos de corrida remotamente, para minha conveniência, através da interface da interface da web dos sonhos. Algumas amostras (todas diretamente fora da fábrica dos sonhos, além de reduzir a resolução para 1024x1024):
![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() |
Algumas capturas de tela da interface do usuário:
![]() | ![]() | ![]() | ![]() |
Você precisará de pelo menos uma GPU da NVIDIA, de preferência com uma quantidade decente de VRAM. 3 GB de VRAM devem ser suficientes para produzir imagens 512x512, mas mais memória GPU permitirá criar imagens maiores (e/ou criá -las mais rapidamente).
Você também precisará de um webui de difusão estável do Automatic1111 do Automatic1111.
Essas instruções foram testadas em vários desktops do Windows 10 com uma variedade de GPUs NVIDIA modernas que variam de 8 a 12 GB de VRAM e também em um sistema Ubuntu Server 20.04.3 com um antigo NVIDIA Tesla M40 GPU (24 GB VRAM).
[1] Instale a Anaconda, abra o terminal raiz e crie um novo ambiente (e ativá -lo):
conda create --name dream-factory python=3.10
conda activate dream-factory
[2] Instale alguns pacotes Python necessários:
conda install -c anaconda git urllib3
[3] Clone este repositório e mude para seu diretório:
git clone https://github.com/rbbrdckybk/dream-factory
cd dream-factory
[4] Execute o script de configuração incluído para terminar o restante da sua instalação automaticamente:
python setup.py
[5] Edite seu arquivo config.txt para especificar o caminho completo para sua instalação automática11111 SD:
Você terminou! Certifique -se de que sua instalação automática1111 funcione corretamente antes de tentar testar a fábrica dos sonhos. Além disso, verifique se tudo na guia "Configurações" do Auto1111 está configurada para o seu gosto, pois a Dream Factory herdará automaticamente todas as opções que você definir lá.
Depois de verificar se você pode gerar imagens individuais com sua instalação do Auto1111, você pode executar um teste para garantir que a Dream Factory esteja funcionando executando isso (novamente, na pasta principal da fábrica dos sonhos ):
python dream-factory.py --prompt_file prompts/example-standard.prompts
Isso deve iniciar a interface da Web com um exemplo simples de arquivo de promotos pré-carregados de que seus GPU (s) devem começar a trabalhar automaticamente. Na primeira execução, vários arquivos grandes (~ 2 GB de total) serão baixados automaticamente, para levar alguns minutos para que as coisas comecem a acontecer.
Eventualmente, você deve ver imagens aparecendo na sua pasta output (ou pode clicar no link "Galeria" na interface do usuário da web e assisti -las lá). Se você estiver recebendo imagens, tudo está funcionando corretamente e poderá passar para a próxima seção.
Se você deseja criar uma opção fácil de iniciar a Dream Factory, em vez de lidar com o lançamento do Anaconda e/ou abrir uma janela da linha de comando sempre, você pode seguir estas etapas:
[1] Abra o Windows Explorer e navegue para este local, onde [nome de usuário] é o seu nome de usuário do Windows:
C:Users[username]anaconda3Scripts
Faça uma cópia do arquivo activate.bat que você encontra lá e nomeie-o activate-dream-factory.bat .
[2] Edite o arquivo activate-dream-factory.bat que você acabou de criar e adicione essas linhas ao final do arquivo:
@CALL echo Starting Dream Factory...
@CALL conda.bat activate dream-factory
@CALL cd "[full path to your Dream Factory folder]"
@CALL python dream-factory.py
@CALL pause
Substitua [Caminho completo para a pasta de fábrica dos sonhos] pelo caminho em que você instalou a fábrica dos sonhos (por exemplo: C: Usuários [seu nome de usuário do Windows] Dream-Factory).
Salve o arquivo e feche -o.
[3] Coloque um atalho para este arquivo na sua área de trabalho (ou em qualquer lugar). Clicando -o deve lançar a Dream Factory.
As instruções assumem que você concluiu a configuração e verificou que sua instalação funciona corretamente.
Inicie a fábrica dos sonhos com:
python dream-factory.py
A interface do usuário da web deve abrir automaticamente, se não for para http: // localhost: 8080 (supondo que você não altere a porta em config.txt) através do seu navegador. Suas GPU (s) começarão automaticamente a inicializar (cada GPU levará o tempo necessário para iniciar o Auto1111 no modo independente).
Navegue para 'Painel de controle' na NAV superior e selecione um dos dois arquivos de prompt de dois exemplos por meio do suspenso. Suas GPU (s) devem começar a trabalhar no que você escolher assim que terminar de inicializar. Você pode voltar ao 'Status Monitor' e deve ver que seus GPUs estão sendo atribuídos a trabalhar no arquivo prompt selecionado. Se você navegar para a 'Galeria' na NAV superior, verá imagens aparecendo quando estão concluídas.
Os arquivos prompts são o coração da fábrica dos sonhos e definem o trabalho que você deseja que seus GPU (s) façam. Eles podem ser tão simples ou complexos quanto você quiser.
Antes de criarmos novos arquivos de prompt, vamos dar uma olhada nos dois exemplos de arquivos de prompt que estão incluídos na Dream Factory. Comece clicando em 'Editor de promotos' no NAV superior e escolha 'exemplo padrão' no 'Escolha um arquivo prompt:' Dropdown.
Você deve ver o arquivo de arquivo imediato no editor. Os arquivos de prompt possuem uma seção opcional [Config] na parte superior com as diretivas que definem suas configurações de difusão estável e pelo menos uma seção [prompts] que contém prompts (ou seções de prompts a serem combinadas com outras seções [prompts]).
Os arquivos de exemplo contêm comentários que devem deixá -lo bastante claro o que cada diretiva [config] faz e como as seções [solicita] se combinam. Veja a referência de comando abaixo para obter ajuda em quaisquer diretrizes que não sejam claras.
Você pode criar arquivos de prompt usando o editor integrado (clique em 'Editor de promotos' no NAV superior e clique em 'novo padrão' ou 'novo aleatório' para iniciar um novo arquivo). Os arquivos prompt serão criados automaticamente com um esqueleto contendo diretrizes comuns e as configurações padrão contidas no seu config.txt.
Após a criação, os arquivos de prompt podem ser renomeados simplesmente clicando no nome na parte superior do editor, inserindo um novo nome e clicando em 'renomear'.
Se você preferir, você também pode criar arquivos prompts externamente usando um editor de texto de sua escolha (nomeie -os com uma extensão .Prompt e coloque -os na pasta Prompts). Se você usar o Notepad ++, existe um plug-in na pasta Dream Factory/Prompts/NOTEPAD_PLUGIN que adicionará destaque sensível ao contexto aos arquivos .ProMPT.
Essas diretivas são válidas apenas na seção [Config] dos arquivos de prompt de padrão e aleatório:
Essas diretrizes são válidas na seção [Config] dos arquivos de prompt de padrão e aleatório e também em qualquer seção [Prompts] de arquivos de prompt padrão (! Mode = padrão):
Essas diretivas são válidas apenas na seção [Config] de arquivos de prompt padrão (! Mode = padrão):
Essas diretivas são válidas apenas na seção [Config] de arquivos de prompt aleatórios (! Mode = aleatória):
Finalmente, essas diretrizes especiais são válidas apenas em arquivos de prompt de processo (! Mode = process):
Command Ajuda e Exemplos de Uso:
Define o modo de arquivo prompt para padrão (padrão) ou aleatório . Os arquivos de prompt de padrão funcionam iterando em todas as combinações de seções possíveis [solicitadas] e arquivos de prompt de prompt aleatórios simplesmente escolhem os prompts aleatoriamente nas seções [prompts]. Consulte Prompts/exemplo-padrão.PROMPTS e SONDS/Exemplo de Random.PROMPTS Para obter uma explicação detalhada de como cada modo funciona.
!MODE = standard
Observe que existe uma terceira opção para o modo! Você pode ver um exemplo de processo .Prompts Arquivo aqui.
Define o delimitador que será usado ao ingressar nas seções [prompts] (o padrão é um espaço). Por exemplo, se você tiver duas seções [avisos], e a entrada superior no primeiro é "um retrato de" e a entrada superior no segundo é "um gato", então quando as duas seções são combinadas, você terminaria com "um retrato de um gato" se! delim = "".
!DELIM = " "
Define a largura da imagem de saída, em pixels (o padrão é 512). Observe que este deve ser um múltiplo de 64!
!WIDTH = 512
Define a altura da imagem de saída, em pixels (o padrão é 512). Observe que este deve ser um múltiplo de 64!
!HEIGHT = 512
Ativa ou desativa a correção do Auto1111 Highres. As opções válidas são sim ou não (padrão). Isso deve ser ativado ao gerar imagens em resoluções significativamente superiores a 512x512.
!HIGHRES_FIX = no
A partir de 2023-09-22, existe uma opção Hires_Fix_Mode no arquivo config.txt de fábrica dos seus sonhos que permite especificar simples (padrão) ou avançado . Se você definir HIRES_FIX_MODE = advanced , você permitirá a capacidade de especificar o tamanho da geração de imagem inicial, bem como um fator de escala que determina o tamanho final (consulte ! Highres_scale_factor abaixo).
No modo simples padrão, basta definir! Largura e! Altura nos arquivos .Pronos para o tamanho da imagem final de saída desejado e as etapas intermediárias são tratadas para você automaticamente.
O número de etapas de denoising (padrão = 20). Mais etapas geralmente melhoram a qualidade da imagem até um ponto, ao custo do tempo de processamento.
!STEPS = 20
Você também pode especificar um intervalo (por exemplo, etapas = 30-55) e um valor aleatório em seu intervalo será escolhido quando o prompt for executado.
O amostrador a ser usado (o padrão é DPM ++ 2M). Isso deve corresponder a uma opção disponível exatamente no seu Webui SD Auto111111. Você pode pressionar Ctrl+H ou clicar no ícone de ajuda no canto superior direito do editor para ver uma lista de referência de amostradores disponíveis (clique em um amostrador para copiá -lo para a área de transferência para que você possa colá -lo facilmente no editor).
!SAMPLER = DPM++ 2M
O agendador para usar (o padrão é automático). Isso deve corresponder a um valor do Webui Auto1111 (uniforme, karras, exponencial, poliExponencial e uniforme SGM).
!SCHEDULER = Karras
Defina como nada ou automático para retornar ao padrão.
A escala de orientação, ou quão próximo você deseja que a difusão estável siga seu prompt de texto. O padrão é 7,5 e, em geral, os valores úteis estão entre 5 e 30.
!SCALE = 7.5
Você também pode especificar um intervalo (por exemplo, escala = 5,5 - 9) e um valor aleatório em seu intervalo será escolhido quando o prompt for executado.
Quantas imagens para produzir de cada prompt antes de passar para o próximo (padrão = 1). Ao contrário da opção BATCH_SIZE abaixo, não há custo adicional em termos de memória da GPU ao aumentar isso. Haverá um aumento de revestimento no tempo de processamento ao aumentar isso (por exemplo:! Amostras = 10 levará dez vezes mais que! Amostras = 1).
!SAMPLES = 1
Quantas imagens você deseja que cada GPU produz em paralelo (padrão = 1). Cada aumento de batch_size exigirá mais vRAM da GPU, e a definição desse valor muito alto fará com que as GPUs fiquem sem memória e falhem. No entanto, desde que você saiba que tem vram suficiente, você pode obter ganhos de velocidade moderados aumentando isso além de 1. Esta é uma configuração avançada e não está incluída em novos modelos de arquivo prompt, mas você pode adicioná -lo manualmente aos seus arquivos prompts .
!BATCH_SIZE = 1
Define uma imagem a ser usada como ponto de partida para o processo de denoising, em vez do ruído aleatório padrão. Isso pode ser um parente (ao diretório base da fábrica dos sonhos) ou caminho absoluto, e definir isso como nada vai limpar qualquer imagem de entrada anterior.
!INPUT_IMAGE = C:imagesdog.png # specifies the full path to an input image
!INPUT_IMAGE = cat.jpg # specifies an input image 'cat.jpg' in the DF home directory
!INPUT_IMAGE = # specifies no input image should be used
Observe que você também pode passar um diretório de imagens para esta diretiva:
!INPUT_IMAGE = C:images
Se um diretório for passado, todas as imagens da pasta serão aplicadas ao (s) prompt (s) a seguir.
Define a força da influência da imagem de entrada. Os valores válidos são 0-1 (padrão = 0,75). Os valores próximos a 0 resultarão em uma imagem de saída muito semelhante à imagem de entrada e os valores próximos a 1 resultarão em imagens com menos semelhança. Geralmente, os valores entre 0,2 e 0,8 são mais úteis. Observe que isso também é usado quando! Highres_fix = sim para indicar quão intimamente a imagem final deve refletir a imagem de inicialização de baixa resolução.
!STRENGTH = 0.75
Você também pode especificar um intervalo (por exemplo, força = 0,55 - 0,75) e um valor aleatório em seu intervalo será escolhido quando o prompt for executado.
Define o modelo a ser usado. Quaisquer modelos personalizados devem ser instalados no diretório de modelos apropriado da sua instalação do Auto1111. Você pode pressionar Ctrl+H ou clicar no ícone de ajuda no canto superior direito do editor para ver uma lista de referência dos modelos disponíveis (clique em um modelo para copiá -lo para a área de transferência para que você possa colá -lo facilmente no editor). Definir isso como nada será padrão de volta ao modelo que você definiu no seu arquivo config.txt (se você não definir um padrão, definir isso como nada não fará nada!).
Muitos também estabelecem uma lista de modelos separados por vírgula aqui. No modo padrão, a Dream Factory renderá todas as instruções com o primeiro modelo, depois o segundo e assim por diante. No modo aleatório, a Dream Factory troca de modelos a cada 50 instruções (esse intervalo pode ser alterado no seu arquivo config.txt).
Você também pode usar a palavra reservada "All" aqui, e a Dream Factory alternará todos os seus modelos disponíveis automaticamente.
Observe que você pode especificar apenas mais de um modelo na seção [Config]; A rotação do modelo não é suportada em nenhum outro lugar!
!CKPT_FILE = analog-style.ckpt # sets a new model to use
!CKPT_FILE = sd-v1-5-vae.ckpt, analog-style.ckpt # sets 2 models to rotate between
!CKPT_FILE = all # will rotate between all of your models
!CKPT_FILE = # sets the default model specified in your config.txt
NOTA: Isso usa uma correspondência de substring nos valores válidos do servidor disponível através da referência integrada; portanto, por exemplo, se 'sd_1.5 dreamshaper_4bakedvae.safetetensors [7f16bbcd80]' é o que os relatórios de referência, depois configurarão ! isto.
Define o VAE para usar. Defina isso como nada para reverter para o uso automático da VAE (ou qualquer que seja especificado a configuração do Auto1111111).
!VAE = vae-ft-mse-840000-ema-pruned.ckpt
!VAE =
Nota: As correspondências de substring são válidas aqui. Setting ! VAE = VAE-FT-MSE-840000 encontrará VAE-FT-MSE-840000-EMA-PRUND.CKPT, por exemplo.
Especifica um prompt negativo para ser usado para todos os avisos que o seguem (lembre -se de que você pode colocar a maioria das diretivas diretamente nas seções [prompts] de arquivos de prompt padrão!). Se você tiver um prompt negativo 'Catch-All' que tende a usar, poderá especificá-lo no seu arquivo config.txt e será preenchido como o padrão em novos arquivos prompt que você criar. Definir isso para nada vai limpar o prompt negativo.
!NEG_PROMPT = watermark, blurry, out of focus
Para uso com modelos personalizados que exigem uma 'palavra de gatilho' que foi configurada no seu arquivo Model Triggers.txt (consulte os modelos personalizados abaixo). Isso permite controlar a colocação da palavra de gatilho automaticamente inserida. As opções válidas são iniciadas (padrão), final , First_Comma , palavra -chave: [palavra -chave para substituir] e desligando : 'Iniciar' colocará a palavra -gatilho na frente do prompt, 'fim' o colocará no final, 'First_Comma' o colocará após a primeira vírgula (ou no final, se não houver vírgula no prompt), 'Palavra -chave:' substituirá a palavra -chave/frase especificada no prompt pela palavra gatilho do modelo, e 'off' irá Desativar completamente a auto-inserção.
!AUTO_INSERT_MODEL_TRIGGER = start
Observe que isso também controlará o comportamento da inserção automática do gatilho no seu highres_prompt (se presente), assumindo que um highres_ckpt_file válido foi definido com palavras de gatilho associadas.
Especifica o valor da semente a ser usado na criação da imagem. Esse valor é normalmente escolhido aleatoriamente - usando as mesmas configurações com o mesmo valor de semente, deve produzir exatamente a mesma imagem de saída. Definir isso como nada indicará que os valores aleatórios de sementes devem ser usados (o padrão). Esta é uma configuração avançada e não está incluída em novos modelos de arquivo prompt, no entanto, você pode adicioná -la manualmente aos seus arquivos prompts.
!SEED = 42
Se todas as imagens de saída devem ou não ser automaticamente upcaled. O upscaling pode levar uma quantidade significativa de tempo, portanto, geralmente você deseja fazer isso em um subconjunto de imagens selecionadas. As opções válidas são sim ou não (padrão).
!USE_UPSCALE = no
Define o modelo de upscaling a ser usado.
!UPSCALE_MODEL = esrgan
Observe que isso executará uma correspondência de substring em qualquer upscalers que você instalou com o Auto1111. Nesse caso, Esrgan_4x * deve ser selecionado (e também é o padrão).
In ! Mode = Process .Prompts Arquivos, você pode especificar adicionalmente ! Upscale_model = sd ou ! Upscale_model = ultimate .
O SD é uma opção especial que usa o mecanismo IMG2IMG da Difusão estável para melhorar suas imagens. Isso levará muito mais tempo do que outros métodos e requer muito VRAM da GPU para atingir grandes tamanhos de imagem (~ 12 GB de VRAM é necessário para produzir imagens 2048x2048), mas potencialmente produzirá resultados de maior qualidade com a capacidade de adicionar detalhes. Use! Upscale_sd_strength = xxx (o padrão é 0,3) para controlar a força de denoising com! Upscale_model = sd.
Esta opção funciona de maneira muito semelhante à forma como os Highres corrigem no Auto1111. Ele permite tirar uma imagem e usar difusão estável para criar uma versão maior, alterando a imagem um pouco, dependendo da força de denoising usada (o valor padrão de 0,3 deve permanecer muito próximo do original na maioria dos casos).
!UPSCALE_MODEL = sd
!UPSCALE_SD_STRENGTH = 0.3
Para usar! Upscale_model = sd, você deve primeiro adicionar max_output_size ao seu arquivo de fábrica de sonho config.txt (consulte Config-default.txt para explicação).
O Ultimate é uma opção especial que requer a extensão de luxo de SD final para ser adicionada à sua instalação automática1111.
Depois de instalado, você pode controlar as configurações da extensão com as seguintes diretivas (no exemplo abaixo, definimos a força de denoising para 0,28, usamos ESRGAN_4X como nosso upscaler e aumenta a imagem original por um fator de 2,5x).
!UPSCALE_MODEL = ultimate
!UPSCALE_SD_STRENGTH = 0.28
!UPSCALE_ULT_MODEL = esrgan
!UPSCALE_AMOUNT = 2.5
Consulte a parte inferior do arquivo de exemplo-process.prompts no diretório dos seus sonhos de fábrica /solicita a mais informações.
Para usar! UpScale_model = Ultimate, você deve primeiro instalar a extensão de luxo de SD no Auto1111.
O fator a sofrer por. Setting! UpScale_amount = 2 dobrará a largura e a altura de uma imagem (resultando em quadruplas da resolução). Não tem efeito a menos que! Use_upScale = sim.
!UPSCALE_AMOUNT = 2
A visibilidade do aprimoramento da face do Codeformer na imagem de saída. Os valores válidos estão entre 0-1. Definir isso como 0 desativa completamente o aprimoramento do formador de código. Não tem efeito a menos que! Use_upScale = sim.
!UPSCALE_CODEFORMER_AMOUNT = 0.50
A visibilidade do aprimoramento da face do GFPGAN na imagem de saída. Os valores válidos estão entre 0-1. Definir isso como 0 desativa completamente o aprimoramento do GFPGAN. Não tem efeito a menos que! Use_upScale = sim.
!UPSCALE_GFPGAN_AMOUNT = 0.50
Ao aumentar a escala, mantenha a imagem original (não escalada) também? As opções válidas são sim ou não (padrão). Se definido como sim, os originais serão armazenados em um subdiretório AN /Originals na pasta de saída principal. Não tem efeito a menos que! Use_upScale = sim.
!UPSCALE_KEEP_ORG = no
Permite especificar um nome de arquivo de saída personalizado. Você pode usar as seguintes variáveis; Eles serão preenchidos quando a imagem for criada:
<ad-model><ad-strength><cn-img><cn-model><date><date-year><date-month><date-day><height><hr-model><input-img><lora><model><neg-prompt><prompt><sampler><scheduler><scale><seed><steps><strength><styles><time><width>Nos arquivos do modo de processo , estão disponíveis o seguinte:
<upscale-model><upscale-sd-strength>A extensão do arquivo (.jpg) será adicionada automaticamente.
!FILENAME = <date-year><date-month><date-day>-<model>-<width>x<height>-<prompt>
O exemplo acima pode produzir um nome de arquivo de saída de 20230209-Deliberate_v11-768x1280-a-foto- a-cut-cut-cte-ct.jpg , por exemplo.
Observe que <input-img> e <cn-img> (imagem de entrada controlnet) será apenas o nome do arquivo base (sem subdiretos ou extensão de arquivo).
Os nomes de arquivos personalizados serão truncados em 200 caracteres (não incluindo a extensão de arquivo e qualquer preenchimento numérico necessário para tornar o arquivo exclusivo).
Define o valor do pulo do clipe. O padrão é 1 e a maioria dos modelos funciona melhor com ele. No entanto, alguns modelos podem fornecer resultados ideais com outros valores.
!CLIP_SKIP = 2
Você pode definir isso como nada (! Clip_skip =) para limpá -lo.
Ativa ou desativa o modo de telha sem costura. Quando ativado, as imagens de saída serão adequadas para ladrilhos sem costuras/bordas visíveis.
!SEAMLESS_TILING = on
Defina para desativar (o padrão).
Define uma imagem de entrada para uso no ControlNet.
!CONTROLNET_INPUT_IMAGE = posesexamplesopenpose-standing_arms_in_front.png
O exemplo acima usará o Open-Standing_arms_in_front.png como a imagem de entrada do ControlNet. Observe que isso não terá efeito se você não tiver a extensão do ControlNet instalada e/ou também não especificar um modelo ControlNet através da diretiva! ControlNet_model.
Você pode limpar as imagens de entrada anteriormente definidas emitindo outra diretiva para defini-la como nada (! ControlNet_Input_Image =).
Observe que você também pode passar um diretório de imagens para esta diretiva:
!CONTROLNET_INPUT_IMAGE = posesexamples
Se um diretório for passado, todas as imagens da pasta serão aplicadas ao (s) prompt (s) a seguir.
Define o modelo ControlNet a ser usado.
!CONTROLNET_MODEL = openpose
Você pode pressionar o Control-H (ou pressionar o botão apropriado) dentro do editor integrado para abrir uma referência que exibe os modelos ControlNet disponíveis. Observe que a configuração de um modelo ControlNet não terá efeito se você não tiver a extensão do ControlNet instalada e/ou também não especificar uma imagem de entrada do ControlNet através da diretiva! ControlNet_input_Image.
Observe que você pode opcionalmente especificar automaticamente para! ControlNet_model (ou automático, [padrão] ) se você deseja que a fábrica dos sonhos extrava o modelo do seu nome (s) do! ControlNet_Input_Image. Você deve nomear sua imagem no seguinte formato para que isso funcione: [ControlNet model to use]-[rest of filename].ext . Por exemplo, uma imagem denominada Open-Standing_Arms_in_front.png indicaria que o modelo aberto deve ser usado quando! Controlnet_model = auto.
!CONTROLNET_MODEL = auto, depth
Neste exemplo, a Diretiva, a Dream Factory tentará extrair o modelo a ser usado de seus nomes de arquivos e fallback para a 'profundidade' como um modelo padrão se o seu nome de arquivo não continha um modelo válido. Especificar um padrão é opcional, mas se um modelo não puder ser discernido do (s) nome do seu arquivo e nenhum padrão estiver presente, o ControlNet será desativado.
NOTA: Isso usa uma correspondência de substring nos valores válidos do servidor disponível através da referência integrada; portanto, por exemplo, se 'Control_Canny-FP16' é o que os relatórios de referência, então Setting ! ControlNet_model = Canny o encontrará.
Define o pré -processador do ControlNet. Isso é usado para "extrair" as informações de posar de uma imagem normal, para que possa ser usada com o modelo ControlNet correspondente. Se você estiver usando poses pré-geradas (como as de exemplo contidas na pasta Poses de fábrica dos sonhos), não precisará definir isso (ou pode defini-lo como o padrão de 'nenhum').
!CONTROLNET_PRE = openpose
Você pode pressionar Control-H (ou pressionar o botão apropriado) dentro do editor integrado para abrir uma referência que exibe os pré-processadores do ControlNet disponíveis. Observe que a configuração de um pré -processador ControlNet não terá efeito se você não tiver a extensão do ControlNet instalada e/ou também não especificar uma imagem de entrada do ControlNet através da diretiva! ControlNet_Input_Image.
O palpite não é mais suportado a partir da extensão CN v1.1.09 - veja abaixo a substituição!
Use isso para ativar (sim) ou desativar (não, o modo de adivinhação padrão) (ou "modo não-pomo") ao usar o ControlNet.
!CONTROLNET_GUESSMODE = yes
Você pode ler sobre o modo de adivinhação aqui.
Use isso para informar ao ControlNet para favorecer seu prompt mais que o Controlnet, ou vice-versa, ou adotar uma abordagem equilibrada. As opções são ' equilibradas ' (padrão), ' prompt ' (para favorecer seu prompt mais) ou ' controlnet ' (para favorecer mais o Controlnet).
!CONTROLNET_CONTROLMODE = balanced
Você pode ler sobre o modo de controle aqui.
Use isso para ativar (sim) ou desativar (não, o padrão padrão) Pixel Perfect Mode ao usar o ControlNet. Ao ativar isso, a altura e a largura da imagem que você especificou (com! Largura e! Altura) será usada para gerar a imagem pré -processada do Controlnet.
!CONTROLNET_PIXELPERFECT = yes
Use isso para ativar (sim) ou desativar (não, o padrão padrão) baixo VRAM ao usar o ControlNet.
!CONTROLNET_LOWVRAM = yes
Isso pode ser útil se você tiver uma GPU com menos VRAM.
Use isso para definir o peso do ControlNet (padrão = 1.0; definir entre 0-2).
!CONTROLNET_WEIGHT = 1.0
Permite que você tenha a fábrica dos sonhos automaticamente as imagens de saída com base no tamanho das imagens de entrada ou nas imagens de entrada do ControlNet. As opções válidas são match_input_image_size , match_controlnet_image_size , match_input_image_aspect_ratio , match_controlnet_image_aspect_ratio , redimensione_longest_dimension: [size] ou desligado (padrão).
# output image will be set to the same size as your input image, regardless of any !WIDTH & !HEIGHT directives
!AUTO_SIZE = match_input_image_size
# output image will use the larger of your !WIDTH & !HEIGHT directives as the longer output dimension
# the shorter output dimension will be calculated so that the output image has the same aspect ratio as the ControlNet input image
!AUTO_SIZE = match_controlnet_image_aspect_ratio
# the output image will be re-sized so that the longer of your !WIDTH/!HEIGHT settings becomes the size specified here
# the shorter dimension will be calculated to maintain the same aspect ratio as the original !WIDTH/!HEIGHT settings
# useful if you have an existing prompt file full of size directives and want to quickly change the size on all of them
!AUTO_SIZE = resize_longest_dimension: 1280
Observe que todas as redes resultarão em dimensões da imagem divisíveis por 64 (ambas as dimensões serão arredondadas para o número divisível por 64 mais próximo).
Por exemplo, com ! Auto_size = match_controlnet_image_aspect_ratio , se você definir sua! Largura e! Altura para 1408 e passar uma imagem de entrada de controle de controle de 1920x1080 (proporção 16: 9), a imagem de saída resultante será 1408x768. A dimensão maior foi definida para o maior da sua configuração de largura e!
Define o título da imagem em metadados IPTC incorporados. Geralmente, só útil se você planeja exportar suas imagens para algum outro aplicativo que use padrões IPTC para catalogação, etc.
IPTC_TITLE = Super awesome AI kitten image!
Defina isso como nada para esclarecer, como sempre.
Define a descrição da imagem em metadados IPTC incorporados. Geralmente, só útil se você planeja exportar suas imagens para algum outro aplicativo que use padrões IPTC para catalogação, etc.
IPTC_DESCRIPTION = This is an excellent AI image of a cute kitten.
Defina isso como nada para esclarecer, como sempre.
Define as palavras -chave da imagem em metadados IPTC incorporados. Geralmente, é útil apenas se você planeja exportar suas imagens para algum outro aplicativo que use padrões IPTC para catalogação, etc. As palavras-chave devem ser uma lista separada por vírgula.
IPTC_KEYWORDS = ai, kitten, cute
Defina isso como nada para esclarecer, como sempre.
Define a declaração de direitos autorais da imagem em metadados IPTC incorporados. Geralmente, só útil se você planeja exportar suas imagens para algum outro aplicativo que use padrões IPTC para catalogação, etc.
IPTC_COPYRIGHT = Copyright © 2023 Super Awesome Image Studio
Defina isso como nada para esclarecer, como sempre.
Diz a Dream Factory se continua ou não a produção de imagens depois de terminar todas as combinações possíveis no arquivo prompt. As opções são sim (padrão) ou não . Se definido como não, a Dream Factory ficará inativa depois de concluir todos os avisos.
!REPEAT = yes
Permite especificar outro arquivo prompt para carregar quando o arquivo atual terminar o processamento. Não inclua um caminho; A Dream Factory procurará automaticamente arquivos solicitados no local rápido especificado no seu arquivo config.txt. Observe que isso não terá efeito em arquivos prompts aleatórios ou arquivos de prompt padrão com ! Repita = sim , pois esses arquivos serão executados para sempre.
!NEXT_PROMPT_FILE = example-random
Uma extensão de arquivo .Proompts será anexada automaticamente se você omitar.
Ao usar arquivos de prompt de modo aleatório, define o valor mínimo! Se! Min_Scale e! Max_Scale estiverem definidos para valores diferentes, a Dream Factory escolherá um valor aleatório entre eles para cada prompt.
!MIN_SCALE = 6.0
Deprecated - consider using !SCALE = xx - xx.x format instead.
When using random mode prompt files, sets the maximum !SCALE value to use. If !MIN_SCALE and !MAX_SCALE are set to different values, Dream Factory will choose a random value between them for each prompt.
!MIN_SCALE = 18.5
Deprecated - consider using !SCALE = xx - xx.x format instead.
When using random mode prompt files, sets the minimum !STRENGTH value to use. If !MIN_STRENGTH and !MAX_STRENGTH are set to different values, Dream Factory will choose a random value between them for each prompt.
!MIN_STRENGTH = 0.45
Deprecated - consider using !STRENGTH = 0.xx - 0.xx format instead.
When using random mode prompt files, sets the maximum !STRENGTH value to use. If !MIN_STRENGTH and !MAX_STRENGTH are set to different values, Dream Factory will choose a random value between them for each prompt.
!MAX_STRENGTH = 0.80
Deprecated - consider using !STRENGTH = 0.xx - 0.xx format instead.
When using random mode prompt files, sets a directory that random input images should be pulled from. If this is set, Dream Factory will choose a random input image to use for each prompt.
!RANDOM_INPUT_IMAGE_DIR = C:images # specifies the full path to a directory containing input images
!RANDOM_INPUT_IMAGE_DIR = images # specifies a relative path to a directory containing input images
!RANDOM_INPUT_IMAGE_DIR = # specifies no input images should be used
Special directive valid only in !MODE = process .prompts files, and only when used with !UPSCALE_MODEL = sd . This directive allows you to specify a different model to use (eg instead of the model used to create the original image) when performing an SD upscale.
!OVERRIDE_CKPT_FILE = juggernaut
Note: substring matches are valid here. In the example, "juggernaut" would match with the first valid model file that contains the string "juggernaut".
Special directive valid only in !MODE = process .prompts files, and only when used with !UPSCALE_MODEL = sd . This directive allows you to specify a different VAE to use (eg instead of the VAE used to create the original image) when performing an SD upscale.
!OVERRIDE_VAE = vae-ft-mse-840000-ema-pruned
Note: substring matches are valid here. In the example, "vae-ft-mse-840000-ema-pruned" would match with the first valid VAE file that contains the string "vae-ft-mse-840000-ema-pruned".
Special directive valid only in !MODE = process .prompts files, and only has any effect when used with !UPSCALE_MODEL = sd . This directive allows you to override the value set for MAX_OUTPUT_SIZE in your config.txt file (see config-default.txt for detailed explanation).
!OVERRIDE_MAX_OUTPUT_SIZE = 2,000,000
Special directive valid only in !MODE = process .prompts files, and only has any effect when used with !UPSCALE_MODEL = sd . This directive allows you to specify a different sampler to use (eg instead of the sampler used to create the original image) when performing an SD upscale.
!OVERRIDE_SAMPLER = DPM++ 2M Karras
Special directive valid only in !MODE = process .prompts files, and only has any effect when used with !UPSCALE_MODEL = sd . This directive allows you to specify a different number of steps (eg instead of the step value used to create the original image) when performing an SD upscale.
!OVERRIDE_STEPS = 40
Note that you're overriding the number of steps used to create the original image, not setting the number of steps to use for the actual upscaling (which is determined by a combination of the step value and the !UPSCALE_SD_STRENGTH). So for example, if the original image was created with 120 steps, and you set !OVERRIDE_STEPS = 40 in a !PROCESS_MODE SD upscale job that uses !UPSCALE_SD_STRENGTH = 0.30 , then the final output image will have ~13 steps (40 * 0.3) instead of 40 steps (120 * 0.3).
Allows you to set the denoising strength when using either of the special !MODE = process upscaling methods ( !UPSCALE_MODEL = ultimate or !UPSCALE_MODEL = sd ).
!UPSCALE_SD_STRENGTH = 0.28
Allows you to set the upscale model to use when controlling the Ultimate SD Upscale extension via !UPSCALE_MODEL = ultimate in a !MODE = process .prompts file.
!UPSCALE_ULT_MODEL = remacri
Note that substring matches are allowed. In this example, the first valid Auto1111 upscaler that contains the string 'remacri' (case insensitive) will be used.
Allows for use of Automatic1111 styles in your Dream Factory prompts. Use a comma-separated list for multiple styles. You may also set !STYLES to random x to have Dream Factory choose x styles randomly each time a prompt is executed ( !STYLES = random implies a single random style). Set !STYLES to nothing to clear it.
!STYLES = pop art
!STYLES = pop art, victorian, neopunk
!STYLES = random
!STYLES = random 4
!STYLES =
Note: Substrings are ok (eg: !STYLES = pop will match with a "pop art" style if it exists in your Auto1111 style catalog).
Allows you to specify a scaling factor to apply to your initial images in order to determine the final output size. For example, if your !WIDTH and !HEIGHT are both set to 1024, and you set !HIGHRES_SCALE_FACTOR = 1.5 , then the final output image size will be 1536x1536. This has no effect unless !HIGHRES_FIX = yes is also set in your .prompts file, and you've set HIRES_FIX_MODE = advanced in your Dream Factory config.txt file.
!HIGHRES_SCALE_FACTOR = 1.25
Set to nothing to clear it (the default of 2.0 will be used if you set HIGHRES_FIX = yes in advanced mode without specifying your own HIGHRES_SCALE_FACTOR).
Allows you to specify an upscaler to use for during the highres fix portion of image generation. This has no effect unless !HIGHRES_FIX = yes is also set in your .prompts file.
!HIGHRES_UPSCALER = ESRGAN_4x
Set to nothing to clear it ( Latent will be used as a default if you don't set anything here and use HIGHRES_FIX = yes ).
Allows you to specify a different model to use during the highres fix portion of image generation. Note that you can mix and match SDXL and SD 1.5 models here (eg do your initial generation with SDXL and then use a SD 1.5 model for the highres fix)! This has no effect unless !HIGHRES_FIX = yes is also set in your .prompts file.
!HIGHRES_CKPT_FILE = epicrealism
You may also use a comma-separated list of models. If you also use multiple models for your main model (!CKPT_FILE), then all possible combinations will be generated.
!HIGHRES_CKPT_FILE = epicrealism, deliberate, dreamshaper
Substring matches on model filenames are ok (hashes will work, too). Set to nothing to clear it ( Latent will be used as a default if you don't set anything here and use HIGHRES_FIX = yes ).
Not currently working; Auto1111 doesn't have an API setting for this yet! Allows you to specify a different VAE to use during the highres fix portion of image generation. This has no effect unless !HIGHRES_FIX = yes is also set in your .prompts file.
!HIGHRES_VAE = vae-ft-mse-840000-ema-pruned
Substring matches on VAE filenames are ok. Set to nothing to clear it.
Allows you to specify a different sampler to use during the highres fix portion of image generation. This has no effect unless !HIGHRES_FIX = yes is also set in your .prompts file.
!HIGHRES_SAMPLER = Euler a
Set to nothing to clear it (if you don't set anything here and use HIGHRES_FIX = yes , then the sampler that was used during the initial generation will be used).
Allows you to specify a different scheduler to use during the highres fix portion of image generation. This has no effect unless !HIGHRES_FIX = yes is also set in your .prompts file.
!HIGHRES_SCHEDULER = Karras
Set to nothing or Automatic to clear it (if you don't set anything here and use HIGHRES_FIX = yes , then the sampler that was used during the initial generation will be used).
Allows you to specify a different number of steps during the highres fix portion of image generation. This has no effect unless !HIGHRES_FIX = yes is also set in your .prompts file.
!HIGHRES_STEPS = 20
Set to nothing to clear it (if you don't set anything here and use HIGHRES_FIX = yes , then the step count that was used during the initial generation will be used).
Allows you to specify a different prompt during the highres fix portion of image generation. This has no effect unless !HIGHRES_FIX = yes is also set in your .prompts file.
!HIGHRES_PROMPT = highly detailed
You may also set this to <remove loras> , which will use the main prompt with all LoRA/hypernet references removed. This is useful if you're using a SDXL main model & LoRA(s) and want to use a SD 1.5 model for your high-res fix (in which case the SDXL LoRAs wouldn't be compatible with the SD 1.5 model), por exemplo.
!HIGHRES_PROMPT = <remove loras>
Finally, you can use the special token within !HIGHRES_PROMPT to reference the original/main prompt. Useful if you want to add to the original prompt in some way.
!HIGHRES_PROMPT = <prompt>, highly detailed, 8k
Set to nothing to clear it (if you don't set anything here and use HIGHRES_FIX = yes , then the prompt that was used during the initial generation will be used).
Allows you to specify a different negative prompt during the highres fix portion of image generation. This has no effect unless !HIGHRES_FIX = yes is also set in your .prompts file.
!HIGHRES_NEG_PROMPT = ugly
You may also use the special token <neg_prompt> within !HIGHRES_NEG_PROMPT to reference the original/main negative prompt. Useful if you want to add to the original negative prompt in some way.
!HIGHRES_NEG_PROMPT = <neg_prompt>, illustration, drawing
Set to nothing to clear it (if you don't set anything here and use HIGHRES_FIX = yes , then the negative prompt that was used during the initial generation will be used).
Allows you to specify a refiner model to use.
!REFINER_CKPT_FILE = sd_xl_base_1.0_refiner
Substring matches on model filenames are ok (hashes will work, too). Set to nothing to clear it.
Allows you to specify when the refiner model should be switched to during image generation (0 - 1). For example, setting 0.50 here will perform the switch exactly halfway into generation.
!REFINER_SWITCH = 0.75
Set to nothing to clear it (if you don't set anything here but use !REFINER_CKPT_FILE , then 0.8 will be used as a default).
Allows you to control the ADetailer extension via Dream Factory directives. Note that you must have installed the ADetailer extension to use these!
!ADETAILER_USE = yes
!ADETAILER_MODEL = face_yolov8n.pt
The above commands are the minimum required to activate ADetailer. Note that there is currently no way to verify that the value provided to !ADETAILER_MODEL is valid via API calls, so if you supply an invalid model here, you'll see errors (you can see a list of your available models via your Auto1111 UI)!
Set !ADETAILER_USE to no to deactivate ADetailer.
In addition, the following optional directives allow for additional control:
# set these to use a specific checkpoint and/or vae during the ADetailer step
# substring matches are ok here
!ADETAILER_CKPT_FILE = deliberate
!ADETAILER_VAE = vae-ft-mse-840000-ema-pruned
# set these to use a specific prompt/negative prompt during the ADetailer step
# these will target only the area that ADetailer inpaints (e.g. faces, hands, etc)
!ADETAILER_PROMPT = detailed studio portrait of a middle-aged man
!ADETAILER_NEG_PROMPT = hands, cartoon, cgi, render, illustration, painting, drawing
# set these to override default ADetailer values
!ADETAILER_STRENGTH = 0.75
!ADETAILER_SCALE = 7.5
!ADETAILER_SAMPLER = Euler
!ADETAILER_CLIP_SKIP = 1
Note that you may use these ADetailer directives in either normal (!MODE = standard) or process (!MODE = process) .prompts files. The most efficient workflow is to probably generate initial images without ADetailer enabled, and then set up a process .prompts file to batch process a folder of selected images (eg to fix faces/hands/etc).
You can click 'Gallery' in the top nav from any page to see the images that Dream Factory has produced for you. By default, you'll be looking at the most recently-created 200 images (the max number of images to display can be changed in your config.txt file via the GALLERY_MAX_IMAGES setting). You can also select a specific output folder to browse via the dropdown near the top of the page.
When selecting a specific folder to browse, a zip icon will appear next to the folder name. Clicking this will download the entire folder of images as a .zip file.
Clicking any image will open an expanded view of that image, and also display the selected image's associated metadata. While viewing an image, there are several additional commands available - these are represented by icons located over the image. Mousing over each icon will bring up a help bubble explaining the how each works, along with the command's associated hotkey (eg: left and right arrow keys to browse images, 'del' to delete an image, etc.).
When deleting images via the hotkey (the 'del' key), note that the confirmation dialog is disabled to allow you to quickly delete large numbers of images (clicking the delete icon above the image will prompt you to confirm the deletion via an additional popup ). If you accidentally delete images that you meant to keep, you can recover them in your [dream factory]/server/temp folder before you shut Dream Factory down (this folder is cleaned out on every shutdown!).
While Dream Factory is not really intended to be used on mobile devices, you can swipe left and right when viewing images in the gallery to quickly browse. Swiping down while viewing an image will bring up the delete confirmation dialog. Swipe interactions have only been tested on Chrome for Android and aren't guaranteed to work properly on other mobile platforms.
Some usage scenarios for more advanced users can be found here.
Wildcard files are simple text files placed into your dream-factory/prompts/wildcards directory. You can reference these wildcards by using __[wildcard filename]__ (that's 2 underscores, followed by the wildcard filename without the .txt extension, followed by 2 more underscores) from within any of your prompt file [prompts] sections. When Dream Factory builds the final prompt, it'll replace the wildcard reference with a random line from the file.
You can press ctrl+h or click the help button when editing prompt files with the integrated editor to see a list of your available wildcards (click one to copy it to the clipboard for easy inclusion in your prompt files!).
An example colors.txt file is included. Specifying __colors__ in any of your prompts will pull in a random color.
Nested wildcards (references to wildcards within a wildcard file) are permitted (as of 2023-02-16).
Any custom models that you've placed in your Auto1111 models directory are available to use within Dream Factory via the !CKPT_FILE directive. For models that require a trigger word (for example, the Mo-Di model requires you to place the phrase 'modern disney style' somewhere in your prompt), you can have Dream Factory automatically insert these for you.
After each Dream Factory startup (after the first GPU is fully initialized), a model-triggers.txt file will be created/updated in your Dream Factory root folder. Each of your available models should show up in this file, followed by a comma. To associate a trigger phrase/token with a model, simply place it after the comma for that model's entry. For example, the following entry would associate 'modern disney style' with the model named 'moDi-v1-pruned.ckpt':
moDi-v1-pruned.ckpt [ccf3615f], modern disney style
You can control the placement of the auto-inserted trigger word with !AUTO_INSERT_MODEL_TRIGGER.
Note that if you have Civitai integration enabled, entries in your model-triggers.txt file will take precedence over trigger words scraped from Civitai.
If you've installed any textual inversion embeddings into your Auto1111 SD webui, you can reference them via the integrated prompt editor's built-in help.
Just press ctrl+h or click the help button when editing prompt files with the integrated editor to see a list of your available embeddings (click one to copy it to the clipboard for easy inclusion in your prompt files!).
(2023-03-13 Note: this should be considered WIP - the editor reference pages are pretty rough and there may be some bugs!)
If you've installed the Auto1111 ControlNet extension and have at least one of ControlNet pre-trained models installed, then ControlNet functionality should automatically be enabled within Dream Factory.
You can reference current ControlNet prompt file directives here.
Note that at minimum, you'll need to set both !CONTROLNET_INPUT_IMAGE and !CONTROLNET_MODEL in your prompt file to activate ControlNet.
If you have a library of ControlNet poses, you may place them into the poses directory located off your main Dream Factory folder. Pose image files may be organized into their own folders (no more than one level deep).
Optional: you may additionally create a previews sub-directory in each of these folders. Within the previews sub-folder, you may place a rendered image that corresponds to each pose file - these previews must be named the same as the pose file (though you may have different image formats; currently .jpg or .png will work). These previews will appear alongside the pose image files in the Dream Factory integrated prompt editor reference.
Check out the posesexamples Dream Factory folder for a couple examples of pose image files, and their corresponding preview files. You should be able to view these within the Dream Factory prompt file editor reference area (press control-H while editing any prompt file to open).
You can update Dream Factory to the latest version by typing:
python setup.py --update
Fixes for common issues may be found here.
Due to Automatic's lack of a clear license for his Automatic1111 repo, I've elected to not package Dream Factory with it's own version of the Automatic1111 SD webui. If Automatic makes significant changes to Automatic1111 in the future, it's possible that Dream Factory may stop working. I'll try to keep this updated with the hash to the latest known-working version of Automatic1111 in case issues arise.
You can grab a known-compatible version of Automatic1111's SD webui by going to your Auto1111 installation directory and typing this at the command-line:
git checkout 82a973c04367123ae98bd9abdf80d9eda9b910e2
If you get an error that the hash reference is not a tree, run git pull and try again.
If/when you want to go back to the latest version, you can just run git checkout master .
(updated 2024-07-27, previous supported hash: bef51aed032c0aaa5cfd80445bc4cf0d85b408b5)