Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Microsoft Foundry en Windows admite características de generación de imágenes mediante IA a través de un conjunto de API respaldadas por inteligencia artificial basadas en Stable Diffusion (modelo de IA de código abierto que se utiliza para procesar imágenes) que se incluyen en el SDK de Aplicaciones para Windows. Puede usar estas API en las aplicaciones de Windows para crear, transformar y mejorar imágenes y fotos mediante avisos de lenguaje natural y modelos generativos en el dispositivo.
AI Image Generation está optimizado para eficiencia y rendimiento en PCs con Windows Copilot+.
Para más información sobre la API, consulte API ref for AI imaging features (Referencia de API para características de creación de imágenes de IA).
Importante
Requisitos del manifiesto de paquete: para usar las API de creación de imágenes de IA de Windows, la aplicación debe empaquetarse como un paquete MSIX con la systemAIModels funcionalidad declarada en Package.appxmanifest. Además, asegúrese de que el atributo del MaxVersionTested manifiesto esté establecido en una versión reciente de Windows (por ejemplo, 10.0.26226.0 o posterior) para admitir correctamente las características de Windows AI. El uso de valores anteriores puede provocar errores "No declarados por la aplicación" al cargar el modelo.
<Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.26226.0" />
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.26226.0" />
</Dependencies>
Prerrequisitos
- Versión de Windows: Windows 11, versión 24H2 (compilación 26100) o posterior
- SDK de Aplicaciones para Windows versión:Versión 2.0 Experimental
- Hardware: Copilot+ PC con una NPU (obligatorio)
Compatibilidad del hardware
Ai Image Generation se ejecuta en el hardware siguiente:
| Hardware | Situación | Detalles |
|---|---|---|
| NPU (Copilot+ PC) | ✅ Disponible | La única ruta de acceso de hardware admitida. Consulte Copilot+ PCs guía para desarrolladores. |
| Unidad de Procesamiento Gráfico (GPU) | ❌ No es compatible | No está disponible en GPU. |
| Unidad Central de Procesamiento (CPU) | ❌ No es compatible | No está disponible en la CPU. |
Disponibilidad del modelo y descarga
El modelo de generación de imágenes de IA es optional en un Copilot+ PC , es no preinstalado de forma predeterminada, porque el tamaño de instalación es de varios gigabytes. La primera vez que la aplicación llama a EnsureReadyAsync, el modelo se descarga en segundo plano a través de Windows Update. Los usuarios finales también pueden quitar el modelo más adelante para reclamar espacio en disco.
Este comportamiento coincide con el ciclo de vida del modelo que usan otros modelos grandes de IA de Windows opcionales: tu aplicación debe gestionar explícitamente el caso de «aún no instalado», en lugar de dar por hecho que el modelo está presente.
Patrón de experiencia de usuario recomendado
Dado que el modelo de generación de imágenes de IA es grande y no está presente de forma predeterminada, muestre un cuadro de diálogo de confirmación antes de llamar EnsureReadyAsync para que el usuario pueda dar su consentimiento tanto al costo de almacenamiento como a la descarga en segundo plano. Un patrón típico:
Llame a GetReadyState y actúe en función del valor AIFeatureReadyState devuelto:
-
Ready— se instala el modelo; continuar. -
NotReadyoEnsureNeeded— muestra tu cuadro de diálogo de consentimiento (ver más abajo) y, a continuación, llama aEnsureReadyAsyncsolo si el usuario acepta. -
NotSupportedOnCurrentSystem: el dispositivo no es un Copilot+ PC ni cumple los requisitos de Hardware compatible. Ofrezca una experiencia alternativa y, cuando corresponda, muestre los requisitos de hardware para que el usuario pueda tomar una decisión informada sobre la actualización.
-
En el cuadro de diálogo de consentimiento, explique lo siguiente:
- Se descargará un modelo de generación de imágenes opcional (varios GB de almacenamiento).
- La descarga se produce en segundo plano a través de Windows Update.
- El usuario puede supervisar el progreso de la descarga en Settings>Windows Update.
- El usuario puede quitar más adelante el modelo en Configuración>Componentes de IA del> si ya no lo quieren.
Sugerencia
En las cadenas orientadas al usuario (texto de cuadro de diálogo, mensajes de estado), consulte el modelo como "modelo de generación de imágenes" o "modelo de IA opcional" en lugar de "SDXL" o "Difusión estable". La mayoría de los usuarios finales no están familiarizados con los nombres de modelo subyacentes y los términos genéricos comunican más claramente el propósito.
Mientras
EnsureReadyAsyncestá en curso, muestre un indicador de progreso en la aplicación. Consulte Introducción a las API de IA de Windows para ver el patrón de interfaz de usuario de carga.
Una vez instalado el modelo
El modelo permanece en el dispositivo hasta que el usuario lo quita. Los usuarios administran modelos instalados , incluido el modelo de generación de imágenes de IA, en Configuración>Componentes de IA del sistema>. Si el usuario elimina más adelante el modelo, la próxima llamada de tu aplicación a GetReadyState devolverá NotReady o EnsureNeeded, y deberá repetirse el flujo de consentimiento y descarga.
¿Qué puedo hacer con AI Image Generation?
Usar la Generación de Imágenes AI para convertir indicaciones en imágenes visuales. Entre las características admitidas se incluyen:
Texto a imagen
Genere imágenes a partir de mensajes de texto descriptivos. Útil para ilustraciones, diseño, fondos personalizados y visualización conceptual.
Imagen a imagen
Transforme una imagen existente basada en instrucciones textuales al tiempo que conserva la estructura. Resulta útil para aplicar estilos, creación de temáticas y otras variaciones.
Relleno mágico
Rellene las regiones enmascaradas de una imagen con contenido generado por IA. Resulta útil para quitar objetos, reparar regiones y realizar ediciones intuitivas (revisiones complejas a través de comandos de texto en lugar de utilizar herramientas manuales).
Estilo de libro de colorear
Convierta imágenes en esquemas simplificados que puede usar para un libro de colorear o una experiencia educativa similar.
Cambiar el estilo
Aplicar estilos artísticos o visuales a las imágenes existentes a la vez que se conserva la estructura. Útil para filtros creativos, modos artísticos o transformaciones temáticas.
Examples
Siga estos pasos básicos al usar las API de generación de imágenes de IA.
- Asegúrese de que el modelo está listo con EnsureReadyAsync.
- Cree una instancia de ImageGenerator .
- Seleccione el flujo de trabajo de generación adecuado (mensaje de texto, entrada de imagen o máscara).
- Invoque el método de generación correspondiente.
- Reciba la salida como ImageBuffer para ver, editar o guardar.
Generación de una imagen a partir de un mensaje de texto (texto a imagen)
En este ejemplo se muestra cómo generar una imagen a partir de un mensaje de texto. En concreto, "Una hermosa puesta de sol sobre un lago de montaña".
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 un estilo de imagen (imagen a imagen)
En este ejemplo se muestra cómo transformar una fotografía en una pintura de aceite basada en un mensaje de texto. En concreto, "estilo de pintura al óleo, trazos de pincel gruesos, artísticos".
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 un estilo de imagen (Imagen a Imagen compleja)
En este ejemplo se muestra cómo transformar una fotografía en una pintura de aceite basada en un mensaje de texto. En concreto, "Pintura de aceite, trazos de pincel gruesos, paleta de colores enriquecidos, textura de lienzo tradicional, iluminación realista, estilo de arte clásico, pintura superpuesta, alto detalle, contraste dramático, impasto, lienzo con textura".
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}");
}
}
Relleno mágico con máscara
En este ejemplo se muestra cómo usar una máscara para rellenar una región de una imagen. En concreto, "un coche deportivo rojo".
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");
}
}
Generar imagen estilo libro para colorear
En este ejemplo se muestra cómo generar una imagen en un estilo de libro de coloreado. En concreto, un "Gato en 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}");
}
}
Generación de imágenes mediante parámetros ImageGenerationOptions personalizados
En este ejemplo se muestra cómo generar una imagen basada en un conjunto de filtros y restricciones de contenido. En concreto, un "Cat en nave espacial" usando TextContentFilterSeverity de Bajo y un 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 = new TextContentFilterSeverity { Hate = SeverityLevel.Low, Sexual = SeverityLevel.Low, Violent = SeverityLevel.Low, SelfHarm = SeverityLevel.Low };
contentFilterOptions.ImageMaxAllowedSeverityLevel = new ImageContentFilterSeverity { AdultContentLevel = SeverityLevel.Minimum, GoryContentLevel = SeverityLevel.Minimum, RacyContentLevel = SeverityLevel.Minimum, ViolentContentLevel = SeverityLevel.Minimum };
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}");
}
}
Inteligencia artificial responsable
Siga las recomendaciones de inteligencia artificial responsables, incluida la transparencia y la confianza del usuario, al usar estas API para modificar o generar imágenes en las aplicaciones de Windows. Para ayudar a los usuarios a comprender el origen y el historial de imágenes generadas o modificadas, proporcione las credenciales de contenido especificadas por los estándares de La coalición para la provenencia y la autenticidad del contenido (C2PA).
Consulte Desarrollo de ia generativa responsable en Windows para conocer los procedimientos recomendados al implementar características de IA en aplicaciones de Windows.