Pular para o conteúdo principal

Como você pode usar a API do Stable Diffusion 3

Saiba como usar a API do Stable Diffusion 3 para geração de imagens com etapas práticas e insights sobre novos recursos e aprimoramentos.
· 12 min leer

Explore com IA

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.

Temas

Relacionado

Tutorial

Primeiros passos com o Claude 3 e a API do Claude 3