Mulai menggunakan AI Image Generation

Microsoft Foundry di Windows mendukung fitur Pembuatan Gambar AI melalui serangkaian API yang didukung kecerdasan buatan dan menggunakan model AI sumber terbuka Stable Diffusion untuk memproses gambar, yang tersedia dalam SDK Aplikasi Windows. Anda dapat menggunakan API ini di aplikasi Windows untuk membuat, mengubah, dan meningkatkan gambar dan foto menggunakan perintah bahasa alami dan model generatif di perangkat.

Pembuatan Gambar AI dioptimalkan untuk efisiensi dan performa pada PC Windows Copilot+.

Untuk detail API, lihat API ref untuk fitur pencitraan AI.

Penting

Persyaratan Manifes Paket: Untuk menggunakan API pencitraan Windows AI, aplikasi Anda harus dikemas sebagai paket MSIX dengan kemampuan yang systemAIModels dideklarasikan dalam .Package.appxmanifest Selain itu, pastikan atribut manifes MaxVersionTested Anda diatur ke versi Windows terbaru (misalnya, 10.0.26226.0 atau yang lebih baru) untuk mendukung fitur Windows AI dengan benar. Menggunakan nilai yang lebih lama dapat menyebabkan kesalahan "Tidak dideklarasikan oleh aplikasi" saat memuat model.

<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>

Prasyarat

  • Versi Windows: Windows 11, versi 24H2 (build 26100) atau yang lebih baru
  • SDK Aplikasi Windows Versi:Versi 2.0 Eksperimental
  • Hardware: Copilot+ PC dengan NPU (diperlukan)

Perangkat keras yang didukung

Pembuatan Gambar AI berjalan pada perangkat keras berikut:

Hardware Status Rincian
NPU (Copilot+ PC) ✅ Tersedia Satu-satunya jalur perangkat keras yang didukung. Lihat panduan pengembang Copilot+ PCs.
GPU (Unit Pemrosesan Grafis) ❌ Tidak didukung Tidak tersedia di GPU.
CPU ❌ Tidak didukung Tidak tersedia di CPU.

Ketersediaan dan pengunduhan model

Model Pembuatan Gambar AI optional pada Copilot+ PC — tidak diinstal sebelumnya secara default, karena ukuran instalasinya adalah beberapa gigabyte. Pertama kali aplikasi Anda memanggil EnsureReadyAsync, model diunduh di latar belakang melalui Windows Update. Pengguna akhir juga dapat menghapus model nanti untuk mengklaim kembali ruang disk.

Perilaku ini cocok dengan siklus hidup model yang digunakan oleh model AI Windows opsional besar lainnya — aplikasi Anda harus menangani kasus "belum diinstal" secara eksplisit daripada mengasumsikan model ada.

Karena model Pembuatan Gambar AI besar dan tidak ada secara default, tampilkan dialog konfirmasi sebelum memanggil EnsureReadyAsync sehingga pengguna dapat menyetujui biaya penyimpanan dan unduhan latar belakang. Pola umum:

  1. Panggil GetReadyState dan lakukan percabangan berdasarkan AIFeatureReadyState yang dikembalikan:

    • Ready — model telah diinstal; lanjutkan.
    • NotReady atau EnsureNeeded — tampilkan dialog persetujuan Anda (lihat di bawah), lalu panggil EnsureReadyAsync hanya jika pengguna setuju.
    • NotSupportedOnCurrentSystem — perangkat tersebut bukan PC Copilot+ atau tidak memenuhi persyaratan di Perangkat keras yang didukung. Tawarkan pengalaman mundur dan, jika sesuai, munculkan persyaratan perangkat keras sehingga pengguna dapat membuat keputusan peningkatan berdasarkan informasi.
  2. Dalam dialog persetujuan Anda, jelaskan:

    • Model pembuatan gambar opsional akan diunduh (beberapa GB penyimpanan).
    • Unduhan terjadi di latar belakang melalui Windows Update.
    • Pengguna dapat memantau kemajuan unduhan di Settings>Windows Update.
    • Pengguna nantinya dapat menghapus model di Pengaturan>Komponen AI> jika mereka tidak lagi menginginkannya.

    Tip

    Dalam string yang ditampilkan kepada pengguna (teks dialog, pesan status), sebut model tersebut sebagai "model pembuatan gambar" atau "model AI opsional", bukan "SDXL" atau "Stable Diffusion". Sebagian besar pengguna akhir tidak familier dengan nama model yang mendasarinya, dan istilah umum menyampaikan tujuannya dengan lebih jelas.

  3. Saat EnsureReadyAsync sedang berlangsung, tampilkan indikator kemajuan di aplikasi Anda. Lihat Memulai dengan API AI Windows untuk pola UI pemuatan.

Setelah model diinstal

Model tetap berada di perangkat hingga pengguna menghapusnya. Pengguna mengelola model yang diinstal — termasuk model Pembuatan Gambar AI — di Pengaturan>Komponen AI>. Jika pengguna kemudian menghapus model tersebut, pada panggilan aplikasi Anda berikutnya ke GetReadyState, akan dikembalikan NotReady atau EnsureNeeded, dan alur persetujuan dan pengunduhan perlu diulangi.

Apa yang dapat saya lakukan dengan AI Image Generation?

Gunakan Pembuatan Gambar AI untuk mengubah perintah menjadi artefak visual. Fitur yang didukung meliputi:

  • Teks ke Gambar

    Hasilkan gambar dari perintah teks deskriptif. Berguna untuk ilustrasi, desain, latar belakang yang disesuaikan, dan visualisasi konseptual.

  • Gambar ke Gambar

    Ubah gambar yang ada berdasarkan panduan tekstual sambil mempertahankan struktur. Berguna untuk gaya, tema, dan variasi lainnya.

  • Isi Ajaib

    Isi wilayah bertopeng gambar dengan konten yang dihasilkan AI. Berguna untuk menghapus objek, memperbaiki wilayah, dan pengeditan intuitif (revisi kompleks melalui perintah teks, bukan alat manual).

  • Gaya Buku Mewarnai

    Konversikan gambar menjadi kerangka yang disederhanakan yang dapat Anda gunakan untuk buku mewarnai atau pengalaman pendidikan serupa.

  • Restyle

    Terapkan gaya artistik atau visual ke gambar yang ada saat mempertahankan struktur. Berguna untuk filter kreatif, mode artistik, atau transformasi bertema.

Examples

Ikuti langkah-langkah dasar ini saat menggunakan API Pembuatan Gambar AI.

  1. Pastikan model siap menggunakan EnsureReadyAsync.
  2. Buat sebuah instans ImageGenerator.
  3. Pilih alur kerja generasi yang sesuai (perintah teks, input gambar, atau masker).
  4. Panggil metode generasi yang sesuai.
  5. Terima output sebagai ImageBuffer untuk menampilkan, mengedit, atau menyimpan.

Membuat gambar dari perintah teks (Teks ke Gambar)

Contoh ini menunjukkan cara menghasilkan gambar dari perintah teks. Secara khusus, "Matahari terbenam yang indah di atas danau gunung".

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}");
    }
}

Mengubah gaya gambar (Gambar ke Gambar)

Contoh ini menunjukkan cara mengubah foto menjadi lukisan minyak berdasarkan perintah teks. Secara khusus, "gaya lukisan minyak, goresan kuas tebal, 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");
    }
}

Mengubah gaya gambar (kompleks Gambar-ke-Gambar)

Contoh ini menunjukkan cara mengubah foto menjadi lukisan minyak berdasarkan perintah teks. Secara khusus, "Lukisan minyak, goresan sikat tebal, palet warna yang kaya, tekstur kanvas tradisional, pencahayaan realistis, gaya seni rupa klasik, cat berlapis, detail tinggi, kontras dramatis, impasto, kanvas bertekstur".

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}");
    }
}

Isi Ajaib dengan Masker

Contoh ini menunjukkan cara menggunakan masker untuk mengisi wilayah gambar. Secara khusus, "mobil sport merah".

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");
    }
}

Hasilkan gambar gaya buku mewarnai

Contoh ini menunjukkan cara menghasilkan gambar dalam gaya buku mewarnai. Secara khusus, "Kucing dalam pesawat luar angkasa".

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}");
    }
}

Membuat gambar menggunakan parameter ImageGenerationOptions kustom

Contoh ini menunjukkan cara menghasilkan gambar berdasarkan sekumpulan filter dan batasan konten. Secara khusus, "Kucing dalam pesawat luar angkasa" menggunakan TextContentFilterSeverity tingkat rendah dan ImageContentFilterSeverity tingkat minimum.

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}");
    }
}

AI yang Bertanggung Jawab

Ikuti rekomendasi AI yang bertanggung jawab, termasuk transparansi dan kepercayaan pengguna, saat menggunakan API ini untuk memodifikasi atau menghasilkan gambar di aplikasi Windows Anda. Untuk membantu pengguna memahami asal dan riwayat gambar yang dihasilkan atau dimodifikasi, berikan Kredensial Konten sebagaimana ditentukan oleh standar Coalition for Content Provenance and Authenticity (C2PA ).

Lihat Pengembangan AI Generatif yang Bertanggung Jawab di Windows untuk praktik terbaik saat menerapkan fitur AI di aplikasi Windows.

Lihat juga