Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Windows üzerinde Microsoft Foundry, Windows Uygulama SDK'sında sevk edilen yapay zeka destekli, Kararlı Difüzyon destekli (görüntüleri işlemek için kullanılan açık kaynak yapay zeka modeli) API'leri aracılığıyla Yapay Zeka Görüntü Oluşturma özelliklerini destekler. Bu API'leri Windows uygulamalarınızda kullanarak doğal dil istemleri ve cihaz içi üretici modelleri kullanarak görüntü ve fotoğraf oluşturabilir, dönüştürebilir ve geliştirebilirsiniz.
AI Görüntü Oluşturma, Windows Copilot+ bilgisayarlarda verimlilik ve performans için iyileştirilmiştir.
API ayrıntıları için bkz. Yapay zeka görüntüleme özellikleri için API başvurusu.
Önemli
Paket Bildirimi Gereksinimleri: Windows AI görüntüleme API'lerini kullanmak için uygulamanızın içinde systemAIModelsbildirilen özelliğe sahip Package.appxmanifest bir MSIX paketi olarak paketlenmiş olması gerekir. Ayrıca, Windows yapay zeka özelliklerini düzgün bir şekilde desteklemek için bildiriminizin MaxVersionTested özniteliğinin en son Windows sürümüne (ör. 10.0.26226.0 veya üzeri) ayarlandığından emin olun. Eski değerlerin kullanılması, modeli yüklerken "Uygulama tarafından bildirilmedi" hatalarına neden olabilir.
<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>
Önkoşullar
- Windows sürümü: Windows 11, sürüm 24H2 (derleme 26100) veya üzeri
- Windows Uygulama SDK'sı sürümü:Sürüm 2.0 Deneysel
- Donanım: NPU’ya sahip Copilot+ PC (gerekli)
Desteklenen donanım
AI Görüntü Oluşturma aşağıdaki donanımda çalışır:
| Donanım | Statü | Details |
|---|---|---|
| NPU (Copilot+ PC) | ✅ Mevcut | Desteklenen tek donanım yolu. Bkz. Copilot+ PCs geliştirici kılavuzu. |
| GPU (Grafik İşleme Birimi) | ❌ Desteklenmiyor | GPU'da kullanılamaz. |
| İşlemci (CPU) | ❌ Desteklenmiyor | CPU'da kullanılamaz. |
Modelin kullanılabilirliği ve indirme
Yapay Zekâ Görüntü Oluşturma modeli, Copilot+ bilgisayarda isteğe bağlıdır — kurulum boyutu birkaç gigabayt olduğundan varsayılan olarak önceden yüklenmez. Uygulamanız EnsureReadyAsync'i ilk kez aradığında, model Windows Update aracılığıyla arka planda indirilir. Son kullanıcılar daha sonra disk alanını geri kazanmak için modeli de kaldırabilir.
Bu davranış, diğer büyük isteğe bağlı Windows yapay zeka modelleri tarafından kullanılan model yaşam döngüsüyle eşleşir. Uygulamanızın modelin mevcut olduğunu varsaymak yerine "henüz yüklenmedi" olayını açıkça işlemesi gerekir.
Önerilen UX düzeni
Yapay Zeka Görüntü Oluşturma modeli büyük olduğundan ve varsayılan olarak mevcut olmadığından, kullanıcının hem depolama maliyetine hem de arka plan indirmesine onay verebilmesi için aramadan EnsureReadyAsyncönce bir onay iletişim kutusu gösterin. Tipik bir desen:
GetReadyState çağrısını yapın ve döndürülen AIFeatureReadyState değerine göre dallanın:
-
Ready— model yüklü; devam edin. -
NotReadyveyaEnsureNeeded— onay iletişim kutunuzu gösterin (aşağıya bakın), ardından yalnızca kullanıcı kabul ederse arayınEnsureReadyAsync. -
NotSupportedOnCurrentSystem— cihaz bir Copilot+ PC değildir veya Supported hardware içindeki gereksinimleri karşılamıyor. Bir geri dönüş deneyimi sunun ve uygun olduğunda, kullanıcının bilinçli bir yükseltme kararı alabilmesi için donanım gereksinimlerini ortaya çıkar.
-
Onay iletişim kutunuzda şunları açıklayın:
- İsteğe bağlı bir görüntü oluşturma modeli indirilir (birkaç GB depolama alanı).
- İndirme, Windows Update aracılığıyla arka planda gerçekleşir.
- Kullanıcı indirme ilerleme durumunu Settings>Windows Update konumunda izleyebilir.
- Kullanıcı daha sonra artık istemiyorsa Modeli Ayarlar>Sistem>Yapay Zeka Bileşenleri sayfasından kaldırabilir.
Tip
Kullanıcıya yönelik dizelerde (iletişim kutusu metni, durum iletileri), modeli "SDXL" veya "Kararlı Fark" yerine "görüntü oluşturma modeli" veya "isteğe bağlı yapay zeka modeli" olarak adlandırın. Çoğu son kullanıcı, temel model adları hakkında bilgi sahibi değildir ve genel terimler amacı daha net bir şekilde ifade edebilir.
EnsureReadyAsyncdevam ederken uygulamanızda bir ilerleme göstergesi görüntüleyin. Yükleme kullanıcı arabirimi deseni için Windows AI API’lerine giriş bölümüne bakın.
Model yüklendikten sonra
Model, kullanıcı kaldırana kadar cihazda kalır. Kullanıcılar yüklü modelleri (yapay zeka görüntü oluşturma modeli dahil) Ayarlar>Sistem>AI Bileşenleri sayfasından yönetir. Kullanıcı daha sonra modeli kaldırırsa, uygulamanızın GetReadyState öğesine yapacağı bir sonraki çağrı NotReady veya EnsureNeeded döndürür ve onay + indirme akışı yeniden tekrarlanmalıdır.
Yapay Zeka Görüntü Oluşturma ile ne yapabilirim?
İstemleri görsel yapıtlara dönüştürmek için Yapay Zeka Görüntüsü Oluşturma'yi kullanın. Desteklenen özellikler şunlardır:
Metinden Resme
Açıklayıcı metin istemlerinden görüntüler oluşturun. Çizimler, tasarım, özelleştirilmiş arka planlar ve kavramsal görselleştirme için kullanışlıdır.
Görüntüden Görüntüye
Yapıyı korurken metin rehberliği temelinde var olan bir görüntüyü dönüştürün. Stil oluşturma, temalandırma ve diğer çeşitlilikler için kullanışlıdır.
Sihirli Dolgu
Görüntünün maskelenmiş bölgelerini yapay zeka tarafından oluşturulan içerikle doldurun. Nesneleri kaldırmak, bölgeleri onarmak ve sezgisel düzenleme (el ile araçlar yerine metin istemleri aracılığıyla karmaşık düzeltmeler) için kullanışlıdır.
Boyama Kitabı Stili
Resimleri, boyama kitabı veya benzer bir eğitim deneyimi için kullanabileceğiniz basitleştirilmiş ana hatlara dönüştürün.
Restyle
Yapıyı korurken var olan görüntülere artistik veya görsel stiller uygulayın. Yaratıcı filtreler, artistik modlar veya temalı dönüşümler için kullanışlıdır.
Örnekler
AI Görüntü Oluşturma API'lerini kullanırken bu temel adımları izleyin.
- EnsureReadyAsync kullanarak modelin hazır olduğundan emin olun.
- ImageGenerator örneği oluşturun.
- Uygun nesil iş akışını (metin istemi, görüntü girişi veya maske) seçin.
- Karşılık gelen oluşturma yöntemini çağırın.
- Görüntüleme, düzenleme veya kaydetme için çıkışı ImageBuffer olarak alın.
Metin isteminden görüntü oluşturma (Metinden Görüntüye)
Bu örnekte, metin isteminden nasıl görüntü oluşturulacağı gösterilmektedir. Özellikle, "Dağ gölünde güzel bir gün batımı".
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}");
}
}
Görüntü stilini dönüştürme (Görüntüden Görüntüye)
Bu örnekte, bir fotoğrafın metin istemine dayalı olarak yağlı boya tablosuna nasıl dönüştürüldüğü gösterilmektedir. Özellikle, "yağlıboya tarzı, kalın fırça vuruşları, artistik".
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");
}
}
Görüntü stilini dönüştürme (Görüntüden Görüntüye karmaşık)
Bu örnekte, bir fotoğrafın metin istemine dayalı olarak yağlı boya tablosuna nasıl dönüştürüldüğü gösterilmektedir. Özellikle, "Yağlı boya, kalın fırça vuruşları, zengin renk paleti, geleneksel tuval dokusu, gerçekçi aydınlatma, klasik güzel sanatlar stili, katmanlı boya, yüksek ayrıntı, çarpıcı karşıtlık, impasto, dokulu tuval".
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}");
}
}
Maske ile Sihirli Dolgu
Bu örnekte, bir görüntünün bölgesini doldurmak için maskenin nasıl kullanılacağı gösterilmektedir. Özellikle de "kırmızı spor araba".
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");
}
}
Renklendirme kitabı stili resim oluşturma
Bu örnekte, renklendirme kitabı stilinde bir görüntünün nasıl oluşturulacağı gösterilmektedir. Özellikle bir "Uzay gemisindeki kedi".
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}");
}
}
Özel ImageGenerationOptions parametrelerini kullanarak görüntü oluşturma
Bu örnekte, bir dizi içerik filtresi ve kısıtlamayı temel alan bir görüntünün nasıl oluşturulacağı gösterilmektedir. Özellikle, "uzay gemisindeki kedi" ile Düşük TextContentFilterSeverity ve Minimum ImageContentFilterSeverity kullanmak.
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}");
}
}
Sorumluluk sahibi yapay zeka
Windows uygulamalarınızda görüntüleri değiştirmek veya oluşturmak için bu API'leri kullanırken saydamlık ve kullanıcı güveni de dahil olmak üzere sorumlu yapay zeka önerilerini izleyin. Kullanıcıların oluşturulan veya değiştirilen görüntülerin kaynağını ve geçmişini anlamasına yardımcı olmak için İçerik Başarısı ve Orijinallik Koalisyonu (C2PA) standartları tarafından belirtilen İçerik Kimlik Bilgilerini sağlayın.
Windows uygulamalarında yapay zeka özelliklerini uygularken en iyi yöntemler için bkz. Windows'ta Sorumlu Üretken Yapay Zeka Geliştirme.