Implantar e usar modelos FLUX no Microsoft Foundry

Os modelos FLUX da BFL (Black Forest Labs) trazem geração de imagens de última geração para a Microsoft Foundry, permitindo que você gere e edite imagens de alta qualidade com base em prompts de texto e imagens de referência. Neste artigo, você aprenderá a:

  • Implantar modelos FLUX no Microsoft Foundry
  • Autenticar usando Microsoft Entra ID ou chaves de API
  • Gerar imagens usando a API específica do provedor BFL ou a API de Imagem
  • Editar imagens combinando prompts de texto com imagens de referência
  • Escolha o modelo FLUX correto para seu caso de uso

Os modelos FLUX são otimizados para fotorrealismo, alta fidelidade e controle composicional, tornando-os ideais para aplicativos criativos, de comércio eletrônico, mídia e centrados em design. Eles dão suporte a uma variedade de recursos, incluindo geração de imagem a partir de texto, edição de imagens com múltiplas referências e geração e edição no contexto.

Os modelos FLUX na Foundry incluem:

ID do modelo Nome do modelo Principais capacidades
FLUX.2-flex FLUX.2 [flex] Geração de imagem a partir de texto; edição de imagem com múltiplas referências com até 10 imagens de referência
FLUX.2-pro FLUX.2 [pro] Geração de imagem a partir de texto; edição de imagem com múltiplas referências usando até oito imagens de referência
FLUX.1-Kontext-pro FLUX.1 Kontext [pro] Geração e edição no contexto; consistência de caracteres
FLUX-1.1-pro FLUX1.1 [pro] Geração rápida de texto para imagem

Para saber mais sobre cada modelo, consulte Modelos FLUX disponíveis.

Pré-requisitos

  • Uma assinatura Azure com uma forma de pagamento válida. Se você não tiver uma assinatura de Azure, crie uma conta de Azure paga .
  • Acesso ao Microsoft Foundry com permissões apropriadas para criar e gerenciar recursos.
  • Um projeto Microsoft Foundry. Os modelos FLUX estão disponíveis para implantação padrão global em todas as regiões.
  • A função de Colaborador dos Serviços Cognitivos no recurso Fábrica de IA do Azure para implantar modelos. Para obter mais informações, consulte funções do Azure RBAC.
  • Para FLUX.2 [flex]: registro aprovado. Use o formulário de registro antes de tentar a implantação.

Implantar modelos FLUX

Os modelos FLUX estão disponíveis para implantação padrão global em todas as regiões. Para implantar um modelo FLUX, siga as instruções em Deploy Microsoft Foundry Models no portal do Foundry.

Após a implantação, use o playground do Foundry para testar interativamente o modelo com prompts de texto.

Nota

O suporte a múltiplas imagens de referência está disponível para o FLUX.2 [pro] e o FLUX.2 [flex] por meio da API, mas não no playground.

Visão geral da geração de imagem com modelos FLUX

Depois de implantar um modelo FLUX, use a API específica do provedor BFL ou a API de Imagem para gerar imagens:

  • API específica do provedor BFL: dá suporte a todos os modelos FLUX e fornece acesso a parâmetros adicionais, como guidance, steps, seed, aspect_ratio, safety_tolerancee output_format. Use essa rota para um controle refinado sobre a geração.
  • API de imagem: um endpoint compatível com OpenAI disponível para FLUX.1-Kontext-pro e FLUX-1.1-pro. Use essa rota se o aplicativo já usar a API de imagens Azure OpenAI.

Para autenticar, você precisa do seu endpoint de recurso e de um token Microsoft Entra ID ou de uma chave API. Você pode encontrar esses valores na seção Keys e Endpoint do recurso no portal do Azure ou na página de detalhes da implantação no portal Foundry.

Usar a API BFL com modelos FLUX

O ponto de extremidade de API específico do provedor BFL tem a seguinte forma:

https://<resource-name>.api.cognitive.microsoft.com/providers/blackforestlabs/v1/<model-path>?api-version=preview

Para cada modelo, substitua o caminho <model-path> do modelo no ponto de extremidade da seguinte maneira:

Importante

A ID do modelo e <model-path> não são idênticas. Certifique-se de usar o caminho do modelo na URL do ponto de extremidade.

Modelo Caminho do modelo
FLUX.2 [flex] flux-2-flex
FLUX.2 [pro] flux-2-pro
FLUX.1 Kontext [pro] flux-kontext-pro
FLUX1.1 [pro] flux-pro-1.1

Geração de imagem (texto em imagem)

Os exemplos a seguir usam FLUX.2 [pro] para gerar uma imagem de um prompt de texto. Para obter um exemplo específico do FLUX.2 [flex], com seus parâmetros adicionais (guidance, steps), consulte FLUX.2 [flex].

Usar autenticação de chave de API

  1. Instale a requests biblioteca:

    pip install requests
    
  2. Definir variáveis de ambiente:

    export AZURE_ENDPOINT="https://<resource-name>.api.cognitive.microsoft.com"
    export AZURE_API_KEY="<your-api-key>"
    
  3. Execute o seguinte código:

    import os
    import requests
    
    endpoint = os.environ["AZURE_ENDPOINT"]
    api_key = os.environ["AZURE_API_KEY"]
    
    url = f"{endpoint}/providers/blackforestlabs/v1/flux-2-pro?api-version=preview"
    
    payload = {
        "model": "FLUX.2-pro",
        "prompt": "A photograph of a red fox in an autumn forest",
        "width": 1024,
        "height": 1024,
        "output_format": "jpeg",
        "num_images": 1,
    }
    
    response = requests.post(
        url,
        headers={
            "Content-Type": "application/json",
            "Authorization": f"Bearer {api_key}",
        },
        json=payload,
    )
    response.raise_for_status()
    
    result = response.json()
    print(result)
    

    Saída esperada: Uma resposta JSON que contém uma URL ou dados de imagem codificados em base64 para a imagem gerada.

    Referência:BFL FLUX.2 API de texto para imagem

Usar autenticação Microsoft Entra ID

Para usar Microsoft Entra ID em vez de uma chave de API, substitua o valor do cabeçalho Authorization por um token de portador obtido usando o DefaultAzureCredential:

  1. Instale a biblioteca de identidade do Azure:

    pip install azure-identity
    
  2. Atualize o cabeçalho de autorização no código anterior:

    from azure.identity import DefaultAzureCredential, get_bearer_token_provider
    
    token_provider = get_bearer_token_provider(
        DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
    )
    token = token_provider()
    
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {token}",
    }
    

    Reference:DefaultAzureCredential

Edição de imagem com imagens de referência (modelos FLUX.2)

FluX.2 [pro] e FLUX.2 [flex] dão suporte à edição de imagem de várias referências, o que permite passar várias imagens codificadas em base64 junto com um prompt de texto. O modelo aplica alterações estilísticas ou de conteúdo em todas as imagens de referência.

  • FLUX.2 [pro]: até oito imagens de referência
  • FLUX.2 [flex]: até 10 imagens de referência
import os
import base64
import requests

endpoint = os.environ["AZURE_ENDPOINT"]
api_key = os.environ["AZURE_API_KEY"]

url = f"{endpoint}/providers/blackforestlabs/v1/flux-2-pro?api-version=preview"

# Load and encode reference images
def encode_image(path: str) -> str:
    with open(path, "rb") as f:
        return base64.b64encode(f.read()).decode("utf-8")

payload = {
    "model": "FLUX.2-pro",
    "prompt": "Apply a cinematic, moody lighting effect to all photos. Make them look like scenes from a sci-fi noir film",
    "output_format": "jpeg",
    "input_image": encode_image("image1.jpg"),
    "input_image_2": encode_image("image2.jpg"),
}

response = requests.post(
    url,
    headers={
        "Content-Type": "application/json",
        "Authorization": f"Bearer {api_key}",
    },
    json=payload,
)
response.raise_for_status()

result = response.json()
print(result)

Saída esperada: Uma resposta JSON que contém uma URL ou uma imagem codificada em base64 que reflete o estilo cinematográfico aplicado às imagens de entrada.

Referência:BFL FLUX.2 API de texto para imagem

Use a API de imagens com modelos FLUX

FLUX.1-Kontext-pro e FLUX-1.1-pro também estão disponíveis por meio da API de Imagem, que usa o mesmo formato de endpoint que a API de imagens Azure OpenAI. O endpoint da API de Imagem tem o seguinte formato:

https://<resource-name>.services.ai.azure.com/openai/v1/images/generations?api-version=preview

Para edição de imagem (geração no contexto), FLUX.1-Kontext-pro também dá suporte a:

https://<resource-name>.services.ai.azure.com/openai/v1/images/edits?api-version=preview

Geração de imagem (texto em imagem)

  1. Instale a biblioteca OpenAI:

    pip install openai
    
  2. Definir variáveis de ambiente:

    export AZURE_ENDPOINT="https://<resource-name>.services.ai.azure.com"
    export AZURE_API_KEY="<your-api-key>"
    export DEPLOYMENT_NAME="<your-deployment-name>"
    
  3. Execute o seguinte código:

    import os
    from openai import OpenAI
    
    client = OpenAI(
        base_url=os.environ["AZURE_ENDPOINT"] + "/openai",
        api_key=os.environ["AZURE_API_KEY"],
        default_query={"api-version": "preview"},
    )
    
    result = client.images.generate(
        model=os.environ["DEPLOYMENT_NAME"],
        prompt="A photograph of a red fox in an autumn forest",
        n=1,
        size="1024x1024",
    )
    
    print(result.data[0].url)
    

    Saída esperada: Uma URL para a imagem gerada.

    Referência:Cliente Python da OpenAI, Gerações de imagens - Criar

Edição de imagem com a API de Imagem (FLUX.1 Kontext [pro])

FLUX.1-Kontext-pro também dá suporte ao images/edits endpoint, que permite passar uma imagem de referência junto com um prompt de texto para edição contextual.

import os
from openai import OpenAI

client = OpenAI(
    base_url=os.environ["AZURE_ENDPOINT"] + "/openai",
    api_key=os.environ["AZURE_API_KEY"],
    default_query={"api-version": "preview"},
)

with open("reference.jpg", "rb") as image_file:
    result = client.images.edit(
        model=os.environ["DEPLOYMENT_NAME"],
        image=image_file,
        prompt="Change the background to a sunset over the ocean",
        n=1,
        size="1024x1024",
    )

print(result.data[0].url)

Saída esperada: Uma URL para a imagem editada com o novo plano de fundo.

Referência:OpenAI Python client, Geração de imagens – Edição

Modelos FLUX disponíveis

Consulte a coleção de modelos do Black Forest Labs no portal do Foundry para ver os modelos disponíveis.

Para obter mais detalhes sobre os recursos do modelo, consulte Models vendidos diretamente por Azure.

FLUX.2 [flex]

FLUX.2 [flex] (FLUX.2-flex) oferece controle refinado com taxa de transferência mais estável — a taxa de transferência degrada de forma mais suave à medida que o tamanho da imagem aumenta. Ele é mais adequado para layouts e imagens de texto pesado que exigem sobreposição de texto ou preservação de detalhes finos. Ele aceita entrada de texto e imagem (32.000 tokens e até 10 imagens) e gera uma imagem no formato PNG ou JPG. A resolução máxima de saída é de 4 MP.

Parâmetros adicionais (somente API do provedor BFL):

Parâmetro Descrição
guidance Controla a proximidade com que a saída segue o prompt. Intervalo: 1,5 a 10, padrão: 4,5. Valores mais altos aumentam a adesão imediata.
steps Número de etapas de inferência. Máximo: 50, padrão: 50. Valores mais altos produzem mais detalhes, mas são mais lentos.

O exemplo a seguir mostra uma solicitação específica do FLUX.2 [flex] para geração de imagem usando os parâmetros guidance e steps.

curl -X POST https://<your-resource-name>.api.cognitive.microsoft.com/providers/blackforestlabs/v1/flux-2-flex?api-version=preview \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer {API_KEY}" \
  -d '{
      "model": "FLUX.2-flex",
      "prompt": "A photograph of a red fox in an autumn forest",
      "width": 1024,
      "height": 1024,
      "seed": 42,
      "safety_tolerance": 2,
      "output_format": "jpeg",
      "guidance": 1.5,
      "steps": 10
    }'

Saída esperada: Uma resposta JSON que contém uma URL ou dados de imagem codificados em base64 para a imagem gerada.

FLUX.2 [pro]

O FLUX.2 [pro] (FLUX.2-pro) fornece qualidade de imagem de última geração em velocidade máxima, tornando-se a melhor opção para cargas de trabalho de produção em escala. Observe que ele exibe tempos de resposta mais altos em comparação com FLUX.1 Kontext [pro] e FLUX.2 [flex], e a taxa de transferência diminui em resoluções mais altas. Ele aceita entrada de texto e imagem (32.000 tokens e até oito imagens) e gera uma imagem no formato PNG ou JPG. A resolução máxima de saída é de 4 MP.

O API do provedor BFL dá suporte a todos os parâmetros para FLUX.2 [pro], incluindo guidance, steps, seed, aspect_ratio, safety_tolerance e output_format.

FLUX.1 Kontext [pro]

FLUX.1 Kontext [pro] (FLUX.1-Kontext-pro) é especializado em geração e edição no contexto com forte consistência de caracteres ao longo das edições. Ele aceita entrada de texto e imagem (5.000 tokens e 1 imagem) e gera uma imagem no formato PNG ou JPG. A resolução máxima de saída é de 1 MP.

FLUX.1 Kontext [pro] está disponível por meio da API do provedor BFL e da API de Imagem (images/generations e images/edits).

Parâmetros adicionais (somente API do provedor BFL):seed, , aspect_ratio, input_image, prompt_unsampling, , safety_toleranceoutput_format.

FLUX1.1 [pro]

O FLUX1.1 [pro] (FLUX-1.1-pro) oferece geração rápida de imagem a partir de texto com forte adesão ao prompt, preços competitivos e geração escalonável. Ele aceita entrada de texto (5.000 tokens) e gera uma imagem no formato PNG ou JPG. A resolução máxima de saída é de 1,6 MP.

O FLUX1.1 [pro] está disponível por meio da API do provedor BFL e da API de Imagem (images/generations).

Parâmetros adicionais (somente API do provedor BFL):width, , height, prompt_unsampling, seed, , safety_toleranceoutput_format.

Cotas e limites de API

Os modelos FLUX na Foundry têm os seguintes limites de taxa medidos em RPM (Solicitações por Minuto). A camada disponível para você depende da sua assinatura e da configuração de implantação.

Modelo Camada Solicitações por minuto (RPM)
FLUX.2 [pro] Baixo 15
FLUX.2 [pro] Médio 30
FLUX.2 [pro] Alta 100
FLUX.2 [flex] Baixo 5
FLUX.2 [flex] Médio 10
FLUX.2 [flex] Alta 25
FLUX.1 Kontext [pro] Padrão 6
FLUX1.1 [pro] Padrão 6

Para solicitar um aumento de cota, envie o formulário de solicitação de aumento de cota. As solicitações são processadas na ordem em que são recebidas e a prioridade vai para os clientes que usam ativamente sua alocação de cota existente.

Considerações sobre IA responsável

Ao usar modelos FLUX no Foundry, considere estas práticas de IA responsáveis:

  • Configure a segurança de conteúdo de IA durante a inferência do modelo, pois a Foundry não fornece filtragem de conteúdo interna para modelos FLUX no momento da implantação.
  • Verifique se o uso de imagens geradas está em conformidade com os termos de serviço do Black Forest Labs e as leis de direitos autorais e de propriedade intelectual aplicáveis.
  • Seja transparente sobre o conteúdo gerado por IA ao compartilhar ou publicar imagens.
  • Evite gerar conteúdo que possa ser prejudicial, enganoso ou violação de privacidade.

Exemplos de código e notebooks

Consulte o exemplo do GitHub para geração de imagens com modelos FLUX no Microsoft Foundry e seu Jupyter Notebook associado para exemplos completos de criação de imagens de alta qualidade com base em prompts de texto.