Programa
A Stability AI anunciou uma prévia do Stable Diffusion 3 em fevereiro de 2024. O modelo de IA ainda está em fase de pré-visualização, mas em abril de 2024, a equipe anunciou que disponibilizaria o Stable Diffusion 3 e o Stable Diffusion 3 Turbo na API da Stability AI Developer Platform após uma parceria com a Fireworks AI, a plataforma de API mais rápida e confiável do mercado.
Observe que o Stable Diffusion 3 é simplesmente uma série de modelos de IA geradores de texto para imagem. De acordo com a equipe da Stability AI, o modelo é "igual ou superior" a outros geradores de texto para imagem, como o DALL-E 3 e o Midjourney v6 da OpenAI, em "tipografia e aderência imediata".
Neste tutorial, você aprenderá as etapas práticas para começar a usar a API, de modo que possa começar a gerar suas próprias imagens.
Por que o Stable Diffusion 3?
O Stable Diffusion 3 apresenta vários avanços e recursos que o diferenciam de seus antecessores e o tornam altamente competitivo no espaço de geração de texto para imagem, especialmente em termos de geração de texto aprimorada e recursos de acompanhamento de solicitações.
Vamos explorar esses avanços:
Prompt aprimorado a seguir
- Compreensão contextual: O Stable Diffusion 3 incorpora técnicas de processamento de linguagem natural (NLP) de última geração, o que permite que você entenda melhor e interprete as solicitações do usuário. Isso permite respostas mais precisas e contextualmente relevantes às entradas do usuário.
- Prompt de continuidade: Diferentemente das versões anteriores, o Stable Diffusion 3 mantém uma melhor continuidade nos prompts seguintes, garantindo que o texto gerado permaneça coerente e alinhado com a entrada do usuário durante toda a conversa.
Geração de texto aprimorada
- Modelos de linguagem com ajuste fino: O Stable Diffusion 3 utiliza modelos de linguagem bem ajustados que foram submetidos a treinamento extensivo em grandes conjuntos de dados, resultando em recursos aprimorados de geração de texto. Esses modelos compreendem melhor a gramática, a sintaxe e a semântica, o que resulta em respostas mais coerentes e naturais.
- Redução da variabilidade da resposta: Por meio de metodologias de treinamento e arquiteturas de modelo aprimoradas, o Stable Diffusion 3 reduz a variabilidade das respostas, gerando resultados mais consistentes e de alta qualidade em diferentes solicitações e contextos.
Expansão avançada do prompt
- Suporte a diálogos com várias voltas: O Stable Diffusion 3 pode lidar com diálogos de várias voltas com mais eficiência, mantendo a coerência e o contexto em várias trocas entre o usuário e o modelo de IA.
- Técnicas de expansão imediatas: O modelo emprega técnicas avançadas de expansão de prompts para gerar respostas mais informativas e contextualmente relevantes, enriquecendo o diálogo e fornecendo aos usuários respostas abrangentes às suas consultas.
Mecanismos de controle ajustados
- Ajuste de parâmetros: O Stable Diffusion 3 apresenta mecanismos de controle refinados que permitem aos usuários ajustar parâmetros como duração da resposta, nível de criatividade e relevância do tópico, possibilitando uma experiência de interação mais personalizada.
- Mitigação de vieses: O modelo incorpora medidas para atenuar os vieses na geração de texto, promovendo a justiça e a inclusão em suas respostas às solicitações do usuário.
Primeiros passos com a API do Stable Diffusion 3
Esta seção abordará as etapas para você começar a usar a API de estabilidade.
Etapa 1: Crie sua conta. Você precisará criar uma conta para poder usar a API da Stability AI. Você pode se inscrever usando um nome de usuário e uma senha, mas os novos usuários recebem 25 créditos gratuitos por se inscreverem usando sua conta do Google.
Etapa 2: Solicite sua chave de API. Depois de criar sua conta, você precisará de um API get. Você pode encontrar isso na página Chaves de API. Na documentação, a Stability AI afirma que "Todas as APIs documentadas neste site usam o mesmo mecanismo de autenticação: passar a chave da API por meio do cabeçalho de autorização".
Etapa 3: Recarga de créditos. Você deve ter créditos para solicitar a API. Os créditos são a unidade monetária consumida ao chamar a API - o valor consumido varia de acordo com os modelos e as modalidades. Depois de usar todos os seus créditos, você pode comprar mais por meio do painel de faturamento a US$ 1 por 100 créditos.
Neste tutorial, usaremos o Google Colab e o ComfyUI para demonstrar como você pode gerar imagens usando a API Stable Diffusion 3. Na próxima seção, abordaremos as etapas para começar a usar cada ferramenta.
Usando a API Stable Diffusion 3 com o Google Colab
Para começar a usar o Google Colab, você deve criar uma conta do Google - clique no link e siga as instruções.
Se você já tiver uma conta do Google, abra um novo bloco de notas e siga as etapas abaixo.
Observação: O código usado neste exemplo foi retirado do tutorial SD3_API da Stability AI.
Etapa 1: Instale os requisitos.
from io import BytesIO
import IPython
import json
import os
from PIL import Image
import requests
import time
from google.colab import output
Etapa 2: Conecte-se à API de estabilidade.
import getpass
# To get your API key, visit https://platform.stability.ai/account/keys
STABILITY_KEY = getpass.getpass('Enter your API Key')
Etapa 3. Definir funções
def send_generation_request(
host,
params,
):
headers = {
"Accept": "image/*",
"Authorization": f"Bearer {STABILITY_KEY}"
}
# Encode parameters
files = {}
image = params.pop("image", None)
mask = params.pop("mask", None)
if image is not None and image != '':
files["image"] = open(image, 'rb')
if mask is not None and mask != '':
files["mask"] = open(mask, 'rb')
if len(files)==0:
files["none"] = ''
# Send request
print(f"Sending REST request to {host}...")
response = requests.post(
host,
headers=headers,
files=files,
data=params
)
if not response.ok:
raise Exception(f"HTTP {response.status_code}: {response.text}")
return response
Etapa 4. Gerar imagens.
De acordo com a documentação, os serviços Stable Image incluem apenas uma oferta que está em produção no momento:
- SD3: usa 6,5 créditos
- SD3 Turbo: usa 4 créditos
Vamos testá-los.
Neste exemplo, criaremos uma imagem de um pássaro tucano em uma área tropical de planície.
# SD3
prompt = "This dreamlike digital art captures a vibrant, Toucan bird in a lowland tropic area" #@param {type:"string"}
negative_prompt = "" #@param {type:"string"}
aspect_ratio = "1:1" #@param ["21:9", "16:9", "3:2", "5:4", "1:1", "4:5", "2:3", "9:16", "9:21"]
seed = 0 #@param {type:"integer"}
output_format = "jpeg" #@param ["jpeg", "png"]
host = f"https://api.stability.ai/v2beta/stable-image/generate/sd3"
params = {
"prompt" : prompt,
"negative_prompt" : negative_prompt,
"aspect_ratio" : aspect_ratio,
"seed" : seed,
"output_format" : output_format,
"model" : "sd3",
"mode" : "text-to-image"
}
response = send_generation_request(
host,
params
)
# Decode response
output_image = response.content
finish_reason = response.headers.get("finish-reason")
seed = response.headers.get("seed")
# Check for NSFW classification
if finish_reason == 'CONTENT_FILTERED':
raise Warning("Generation failed NSFW classifier")
# Save and display result
generated = f"generated_{seed}.{output_format}"
with open(generated, "wb") as f:
f.write(output_image)
print(f"Saved image {generated}")
output.no_vertical_scroll()
print("Result image:")
IPython.display.display(Image.open(generated))
Aqui está o que você criou:
Imagem criada pelo autor usando o Stable Diffusion 3
Agora, vamos criar uma imagem de um carro feito de frutas usando o SD3 Turbo:
#SD3 Turbo
prompt = "A car made out of fruits." #@param {type:"string"}
aspect_ratio = "1:1" #@param ["21:9", "16:9", "3:2", "5:4", "1:1", "4:5", "2:3", "9:16", "9:21"]
seed = 0 #@param {type:"integer"}
output_format = "jpeg" #@param ["jpeg", "png"]
host = f"https://api.stability.ai/v2beta/stable-image/generate/sd3"
params = {
"prompt" : prompt,
"aspect_ratio" : aspect_ratio,
"seed" : seed,
"output_format" : output_format,
"model" : "sd3-turbo"
}
response = send_generation_request(
host,
params
)
# Decode response
output_image = response.content
finish_reason = response.headers.get("finish-reason")
seed = response.headers.get("seed")
# Check for NSFW classification
if finish_reason == 'CONTENT_FILTERED':
raise Warning("Generation failed NSFW classifier")
# Save and display result
generated = f"generated_{seed}.{output_format}"
with open(generated, "wb") as f:
f.write(output_image)
print(f"Saved image {generated}")
output.no_vertical_scroll()
print("Result image:")
IPython.display.display(Image.open(generated))
A execução desse código produziu a seguinte imagem:
Imagem criada pelo autor usando o Stable Diffusion 3 Turbo
Usando a API com o ComfyUI
ComfyUI é uma interface gráfica do usuário (GUI) robusta e flexível para difusão estável. Ele apresenta uma interface baseada em gráficos e usa um design no estilo de fluxograma para permitir que os usuários criem e executem fluxos de trabalho de difusão sofisticados e estáveis.
Requisitos do sistema:
- Unidade de processamento gráfico (GPU): Uma GPU NVIDIA adequada com um mínimo de 8 GB de VRAM, como a RTX 3060 Ti ou superior.
- Unidade central de processamento (CPU): Um processador moderno, incluindo Intel Xeon E5, i5, Ryzen 5 ou superior.
- Memória de acesso aleatório (RAM): 16 GB ou mais.
- Sistema operacional: Windows 10/11 ou Linux.
- Espaço de armazenamento adequado em seu computador para modelos e imagens geradas.
Etapa 1: Instalar a ComfyUI
O método mais simples de instalar o ComfyUI no Windows envolve a utilização do instalador autônomo encontrado na página de versões. Esse instalador inclui dependências essenciais, como PyTorch e Hugging Face Transformers, eliminando a necessidade de instalações separadas.
Ele fornece um pacote abrangente, permitindo uma configuração rápida do ComfyUI no Windows sem a necessidade de configurações complexas.
Basta fazer o download, extrair, adicionar modelos e iniciar!
Etapa 1.1: Faça o download da versão autônoma do ComfyUI a partir deste repositório do GitHub - ao clicar no link, você iniciará o download.
Etapa 1.2: Depois que você tiver feito o download do arquivo comfyui-windows.zip mais recente, extraia-o usando um utilitário como o 7-Zip ou o WinRAR.
Etapa 1.3: Você precisa de um modelo de ponto de verificação para começar a usar o ComfyUI. Você pode fazer download de um modelo de ponto de verificação do Stable Diffusion ou do Hugging Face. Coloque o modelo na pasta:
ComfyUI_windows_portable\ComfyUI\models\checkpoints
Etapa 1.4: Agora, basta executar o arquivo run_nvidia_gpu.bat (recomendado) ou run_cpu.bat. Isso deve iniciar automaticamente o ComfyUI em seu navegador.
A linha de comando será executada e gerará um URL http://127.0.0.1:8188/
que você poderá abrir no navegador.
Etapa 2: Instalar o ComfyUI Manager
No aplicativo File Explorer, localize o diretório que você acabou de instalar. Como você está usando o Windows, ele deve se chamar "ComfyUI_windows_portable.
". A partir daqui, navegue até ComfyUI
e, em seguida, custom_nodes
. Nesse local, digite cmd
na barra de endereços e pressione Enter.
Isso deve abrir um terminal de prompt de comando, no qual você deve inserir o seguinte comando:
git clone https://github.com/ltdrdata/ComfyUI-Manager
Quando isso for concluído, reinicie o ComfyUI. O novo botão "Manager" deve aparecer no painel flutuante.
Etapa 3: Instale o nó da API do Stability AI
Selecione o botão Manage (Gerenciar) e navegue até "Install Custom Nodes" (Instalar nós personalizados).A partir daí, pesquise "stability API".
Localize o nó "Stability API nodes for ComfyUI" e clique no botão Install (Instalar) localizado no lado direito para iniciar o processo de instalação. Em seguida, um botão "Reiniciar" ficará visível. Clique em "Restart" (Reiniciar) para reiniciar o ComfyUI.
Etapa 4: Definir a chave de API de todo o sistema
Esta etapa é opcional, mas é recomendada. Ou seja, você pode definir uma chave de API do Stability AI para cada nó dentro do nó personalizado do Stability AI. Isso evita a necessidade de inserir a chave de API repetidamente em cada fluxo de trabalho e reduz o risco de compartilhar inadvertidamente a chave de API ao compartilhar o arquivo JSON do fluxo de trabalho.
Para fazer isso, navegue até o diretório do nó personalizado:
ComfyUI_windows_portable > ComfyUI > custom_nodes > ComfyUI-SAI_API.
Crie um novo arquivo chamado sai_platform_key.txt.
. Cole sua chave de API no arquivo, salve o documento e reinicie o ComfyUI.
Etapa 5: Carregar e executar o fluxo de trabalho
Instale o fluxo de trabalho de texto para imagem do Stable Diffusion 3 e solte-o no ComfyUI.
Agora você está pronto para começar!
Solução de problemas e dicas
Como acontece com qualquer ferramenta, sempre há uma chance de você encontrar alguns problemas ao longo do caminho. Aqui estão os desafios mais comuns e as etapas de solução de problemas para usuários que enfrentam problemas com a API ou com o processo de configuração.
Chave de API e problemas de autenticação
Desafio: Os usuários podem enfrentar erros de autenticação ao acessar a API devido a uma chave de API incorreta ou a credenciais de autenticação incorretas.
Solução de problemas: Verifique novamente a chave da API e certifique-se de que ela foi copiada e colada corretamente. Verifique se não há espaços ou caracteres extras na chave. Certifique-se de que a chave de API seja autenticada corretamente pelo servidor Stable Diffusion 3.
Problemas de gerenciamento de crédito
Desafio: Os usuários podem encontrar problemas relacionados ao gerenciamento de crédito, como créditos insuficientes ou erros de cobrança.
Solução de problemas: Verifique seu saldo de crédito no painel do Stable Diffusion 3 para garantir que você tenha créditos suficientes. Verifique suas informações de cobrança e resolva quaisquer erros ou discrepâncias de cobrança com a equipe de suporte.
Problemas de conectividade e de rede
Desafio: Os usuários podem ter problemas de conectividade ou interrupções de rede que os impeçam de acessar a API.
Solução de problemas: Certifique-se de que você tenha uma conexão estável com a Internet e que não haja interrupções na rede. Para isolar o problema, tente acessar a API de uma rede ou dispositivo diferente. Entre em contato com o provedor de serviços de Internet se você continuar a ter problemas de conectividade.
Erros de compatibilidade e dependência
Desafio: Os usuários podem encontrar problemas de compatibilidade ou erros de dependência ao instalar ou usar as ferramentas e bibliotecas necessárias.
Solução de problemas: Verifique os requisitos de compatibilidade da API do Stable Diffusion 3 e certifique-se de que você esteja usando versões compatíveis de ferramentas e bibliotecas. Atualize ou reinstale as dependências que estão causando erros. Consulte a documentação e os fóruns da comunidade para obter orientação sobre a solução de problemas.
Desempenho e tempo de resposta
Desafio: Os usuários podem ter tempos de resposta lentos ou problemas de desempenho ao interagir com a API, especialmente durante os horários de pico de uso.
Solução de problemas: Monitore o desempenho da API e acompanhe os tempos de resposta para identificar padrões ou tendências. Considere a possibilidade de fazer upgrade para um plano de assinatura de nível superior para obter melhor desempenho e acesso prioritário. Entre em contato com a equipe de suporte se você tiver tempos de resposta lentos de forma consistente.
Documentação e suporte
Desafio: Os usuários podem ter dificuldades para entender a documentação da API ou precisar de assistência para solucionar problemas específicos.
Solução de problemas: Para obter orientação sobre o uso da API, solução de problemas e práticas recomendadas, consulte a documentação do Stable Diffusion 3. Se você tiver algum problema ou dúvida não resolvida, entre em contato com a equipe de suporte ou com os fóruns da comunidade.
Conclusão
O Stable Diffusion 3 é uma série de modelos de IA geradores de texto para imagem. Este artigo abordou as etapas práticas para você começar a usar a API com o Google Colab e o ComfyUI. Agora, você tem as habilidades para criar suas próprias imagens; certifique-se de aplicar o que aprendeu o mais rápido possível para não esquecer.
Obrigado pela leitura!
Aprendizado adicional
Perguntas frequentes
Quais são as práticas recomendadas para que você use a API do Stable Diffusion 3 de forma eficaz?
As práticas recomendadas para usar a API Stable Diffusion 3 incluem o fornecimento de prompts claros e específicos, a experimentação de diferentes parâmetros para obter os resultados desejados, o monitoramento do uso do crédito para evitar o esgotamento e a atualização da documentação e dos recursos mais recentes.
O que é Stable Diffusion 3?
O Stable Diffusion é composto por uma coleção de modelos de IA voltados para a geração de imagens a partir de solicitações textuais. Os usuários fornecem descrições das imagens desejadas, e o modelo gera representações visuais correspondentes com base nesses avisos.
Como funciona o Stable Diffusion?
O Stable Diffusion 3 emprega uma arquitetura de transformador de difusão semelhante à do Sora, diferente das versões anteriores que utilizavam um modelo de difusão semelhante à maioria das IAs de geração de imagens existentes. Essa inovação mescla a arquitetura de transformação comumente usada em grandes modelos de linguagem, como o GPT, com modelos de difusão, oferecendo o potencial de aproveitar os pontos fortes de ambas as arquiteturas.