Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os recursos de Geração de Imagem de IA são compatíveis com o Microsoft Foundry no Windows por meio de um conjunto de APIs baseadas em inteligência artificial, com suporte de difusão estável (modelo de IA de software livre usado para processamento de imagens) que são enviadas no SDK do Aplicativo do Windows. Essas APIs podem ser usadas em seus aplicativos do Windows para criar, transformar e aprimorar imagens e fotos usando prompts de linguagem natural e modelos generativos no dispositivo.
A Geração de Imagem por IA está otimizada para oferecer eficiência e desempenho em PCs com Windows Copilot+.
Para obter detalhes da API, consulte referência de API para recursos de imagem de IA.
Pré-requisitos
- Versão do Windows: Windows 11, versão 24H2 (build 26100) ou posterior
- Versão do WinAppSDK:Versão 2.0 Experimental (2.0.0-Experimental3)
- Hardware: Computador habilitado para NPU recomendado
O que posso fazer com a Geração de Imagem de IA?
Use a Geração de Imagem de IA para transformar prompts em artefatos visuais. Os recursos com suporte incluem:
Texto para Imagem
Gere imagens a partir de sugestões de texto descritivo. Útil para ilustrações, design, planos de fundo personalizados e visualização conceitual.
Imagem para Imagem
Transforme uma imagem existente com base nas diretrizes textuais, preservando a estrutura. Útil para estilo, temas e outras variações.
Preenchimento Mágico
Preencha regiões mascaradas de uma imagem com conteúdo gerado por IA. Útil para remover objetos, reparar regiões e edição intuitiva (revisões complexas por meio de prompts de texto em vez de ferramentas manuais).
Estilo do livro de colorir
Converta imagens em contornos simplificados que podem ser usados para um livro de colorir ou uma experiência educacional semelhante.
Restyle
Aplique estilos artísticos ou visuais a imagens existentes ao preservar a estrutura. Útil para filtros criativos, modos artísticos ou transformações temáticas.
Exemplos
Siga estas etapas básicas ao usar as APIs de Geração de Imagem de IA.
- Verifique se o modelo está pronto usando EnsureReadyAsync.
- Crie uma instância do ImageGenerator .
- Selecione o fluxo de trabalho de geração apropriado (prompt de texto, entrada de imagem ou máscara).
- Invoque o método de geração correspondente.
- Receba a saída como um ImageBuffer para exibir, editar ou salvar.
Gerar uma imagem de um prompt de texto (Texto para Imagem)
Este exemplo mostra como gerar uma imagem de um prompt de texto. Especificamente, "Um belo pôr do sol sobre um lago montanhoso".
using Microsoft.Windows.AI.Imaging;
using Microsoft.Graphics.Imaging;
public async Task GenerateImageFromText()
{
// Check if models are ready
var readyState = ImageGenerator.GetReadyState();
if (readyState != AIFeatureReadyState.Ready)
{
// Download models if needed
var result = await ImageGenerator.EnsureReadyAsync();
if (result.Status != AIFeatureReadyResultState.Success)
{
Console.WriteLine("Failed to prepare models");
return;
}
}
// Create ImageGenerator instance
using var generator = await ImageGenerator.CreateAsync();
// Configure generation options
var options = new ImageGenerationOptions
{
MaxInferenceSteps = 6,
Creativity = 0.8,
Seed = 42
};
// Generate image
var result = generator.GenerateImageFromTextPrompt("A beautiful sunset over a mountain lake", options);
if (result.Status == ImageGeneratorResultStatus.Success)
{
var imageBuffer = result.Image;
// Use the generated image (save to file, display, etc.)
await SaveImageBufferAsync(imageBuffer, "generated_image.png");
}
else
{
Console.WriteLine($"Image generation failed: {result.Status}");
}
}
Transformar um estilo de imagem (imagem em imagem)
Este exemplo mostra como transformar uma fotografia em uma pintura a óleo com base em um prompt de texto. Especificamente, "estilo de pintura a óleo, pincel grosso, artístico".
public async Task RestyleImage()
{
using var generator = await ImageGenerator.CreateAsync();
// Load input image
var inputImage = await LoadImageBufferAsync("photo.jpg");
var options = new ImageGenerationOptions();
var styleOptions = new ImageFromImageGenerationOptions
{
Style = ImageFromImageGenerationStyle.Restyle,
ColorPreservation = 0.7f
};
var result = generator.GenerateImageFromImageBuffer(
inputImage,
"oil painting style, thick brush strokes, artistic",
options,
styleOptions);
if (result.Status == ImageGeneratorResultStatus.Success)
{
await SaveImageBufferAsync(result.Image, "restyled_image.png");
}
}
Transformar um estilo de imagem (complexo de imagem a imagem)
Este exemplo mostra como transformar uma fotografia em uma pintura a óleo com base em um prompt de texto. Especificamente, "Uma pintura a óleo, traços de pincel espessos, paleta de cores avançadas, textura de tela tradicional, iluminação realista, estilo clássico de belas artes, tinta em camadas, detalhes altos, contraste dramático, impasto, tela texturizada".
using Microsoft.Windows.AI.Imaging;
public async Task CreateImageFromPrompt()
{
using ImageGenerator model = await ImageGenerator.CreateAsync();
// Using default values
var options = new ImageGenerationOptions();
// Set ImageFromImageGenerationOptions fields
var imageFromImageOptions = new ImageFromImageGenerationOptions();
imageFromImageOptions.Style = ImageFromImageGenerationStyle.Restyle;
imageFromImageOptions.ColorPreservation = 0.5f; // range [0.0f, 1.0f]
// Load an input image buffer
using var inputImage = await Utils.LoadSampleImageBufferAsync("sdxl_input_horse.png");
var textPrompt = "An oil painting, thick brush strokes, rich color palette, traditional canvas texture, realistic lighting, classical fine art style, layered paint, high detail, dramatic contrast, impasto, textured canvas";
var result = model.GenerateImageFromImageBuffer(inputImage, textPrompt, options, imageFromImageOptions);
if (result.Status == ImageGeneratorResultStatus.Success)
{
// Image generated successfully
var imageBuffer = result.Image;
// Process the imageBuffer as needed, e.g., save to file or display
}
else
{
// Handle error cases based on result.Status
Console.WriteLine($"Image generation failed with status: {result.Status}");
}
}
Preenchimento Mágico com Máscara
Este exemplo mostra como usar uma máscara para preencher uma região de uma imagem. Especificamente, "um carro esportivo vermelho".
public async Task FillMaskedRegion()
{
using var generator = await ImageGenerator.CreateAsync();
var inputImage = await LoadImageBufferAsync("scene.jpg");
var maskImage = await LoadImageBufferAsync("mask.png"); // GRAY8 format
var options = new ImageGenerationOptions();
var result = generator.GenerateImageFromImageBufferAndMask(
inputImage,
maskImage,
"a red sports car",
options);
if (result.Status == ImageGeneratorResultStatus.Success)
{
await SaveImageBufferAsync(result.Image, "filled_image.png");
}
}
Gerar imagem no estilo de livro de colorir
Este exemplo mostra como gerar uma imagem em um estilo de livro de colorir. Especificamente, um "Gato na nave espacial".
using Microsoft.Windows.AI.Imaging;
public async Task CreateImageFromPrompt()
{
using ImageGenerator model = await ImageGenerator.CreateAsync();
// Using default values
var options = new ImageGenerationOptions();
// Set ImageFromTextGenerationOptions fields
var imageFromTextOptions = new ImageFromTextGenerationOptions();
imageFromTextOptions.Style = ImageFromTextGenerationStyle.ColoringBook;
var result = model.GenerateImageFromTextPrompt("Cat in spaceship", options, imageFromTextOptions);
if (result.Status == ImageGeneratorResultStatus.Success)
{
// Image generated successfully
var imageBuffer = result.Image;
// Process the imageBuffer as needed, e.g., save to file or display
}
else
{
// Handle error cases based on result.Status
Console.WriteLine($"Image generation failed with status: {result.Status}");
}
}
Gerar imagem usando parâmetros personalizados ImageGenerationOptions
Este exemplo mostra como gerar uma imagem com base em um conjunto de filtros de conteúdo e restrições. Especificamente, um "Gato na nave espacial" usando um TextContentFilterSeverity de Baixo e um ImageContentFilterSeverity de Mínimo.
using Microsoft.Windows.AI.Imaging;
using Microsoft.Windows.AI.ContentSafety;
public async Task CreateImageFromPromptAndCustomOptions()
{
using ImageGenerator model = await ImageGenerator.CreateAsync();
// Using default values
var options = new ImageGenerationOptions();
// Set custom ImageGenerationOptions fields
options.MaxInferenceSteps = 6;
options.Creativity = 0.8;
options.Seed = 1234;
ContentFilterOptions contentFilterOptions = new ContentFilterOptions();
contentFilterOptions.PromptMaxAllowedSeverityLevel = TextContentFilterSeverity(SeverityLevel.Low);
contentFilterOptions.ImageMaxAllowedSeverityLevel = ImageContentFilterSeverity(SeverityLevel.Minimium);
options.ContentFilterOptions = contentFilterOptions;
var result = model.GenerateImageFromTextPrompt("Cat in spaceship", options);
if (result.Status == ImageGeneratorResultStatus.Success)
{
// Image generated successfully
var imageBuffer = result.Image;
// Process the imageBuffer as needed, e.g., save to file or display
}
else
{
// Handle error cases based on result.Status
Console.WriteLine($"Image generation failed with status: {result.Status}");
}
}
IA responsável
Usamos uma combinação das etapas a seguir para garantir que essas APIs de imagem sejam confiáveis, seguras e criadas com responsabilidade. Recomendamos revisar as práticas recomendadas descritas no Desenvolvimento Responsável de IA Generativa no Windows ao implementar recursos de IA em seu aplicativo.