Qwen-Image-i2L:單圖打造專屬AI畫師,個性化圖像創作全攻略
(Updated 2/6/2026)

Qwen-Image-i2L:單圖打造專屬AI畫師,個性化圖像創作全攻略

Author: z-image.me Team5 min read

Qwen-Image-i2L:單圖打造專屬AI畫師,個性化圖像創作全攻略

你是否曾希望AI能學會你最喜歡的插畫風格,但苦於沒有幾十張素材和昂貴的算力?現在,一張圖就夠了。阿里通義實驗室開源的 Qwen-Image-i2L 正是這樣一款革命性工具,它讓你像"拼樂高"一樣,用單張圖片就能定制出屬於自己的AI畫師。

本文將帶你從零開始,快速掌握這個"風格魔法棒"的使用方法。

一、初識i2L:它是什麼,為何強大?

Qwen-Image-i2L 是一個個性化風格遷移工具。它的核心是 "Image to LoRA",意為將一張輸入圖像的關鍵風格特徵,分解並"壓縮"成一輕量級的LoRA(Low-Rank Adaptation)適配器模組。

核心原理:化繁為簡的"風格拆解術"

傳統AI學習新風格需要海量數據和長時間訓練。i2L的創新在於其圖像分解機制:它像拆解盲盒一樣,智能地將一張圖片分解為"顏色基調"、"紋理筆觸"、"構圖元素"等可學習的"零件"。這些零件被封裝進一個僅有幾GB大小的LoRA文件裡,之後就可以像插件一樣,加載到Stable Diffusion等主流文生圖模型中,生成無數張同風格的新作品。

Qwen-image-i2L 原理

簡單來說,其工作流程可以概括為以下三步:
Qwen-image-i2L 原理

flowchart TD
    A[輸入<br>單張風格圖像] --> B(核心:圖像分解與特徵提取)
    
    B --> C{根據需求<br>選擇模型變體}
    
    C -- 風格模式 --> D1[提取純美學特徵<br>如筆觸、色調]
    C -- 粗粒度模式 --> D2[提取內容+風格<br>用於場景重構]
    C -- 精細模式 --> D3[提取高分辨率細節<br>用於紋理增強]
    
    D1 & D2 & D3 --> E(生成輕量級<br>LoRA適配器文件)
    
    E --> F[輸出<br>可無限生成同風格圖像的AI畫師]

深入原理剖析

模型的核心是圖像到LoRA的轉換管道:輸入圖像先通過編碼器(如SigLIP2提取語義、DINOv3捕捉視覺模式、Qwen-VL處理高分辨率細節)轉化為嵌入向量,然後這些向量直接映射到LoRA矩陣(低秩矩陣A和B)。LoRA本質上是基礎模型(如Qwen-Image)的"補丁",只更新少量參數(通常<1%),實現高效注入。
四個變體設計針對不同需求:

  • Style (2.4B): 專注風格提取,細節保存弱,但風格捕捉強。編碼器:SigLIP2 + DINOv3。
  • Coarse (7.9B): 擴展Style,初步捕捉內容,但細節不完美。編碼器添加Qwen-VL (224x224分辨率)。
  • Fine (7.6B): Coarse的增量升級,提升到1024x1024分辨率,專注細節。必須與Coarse結合使用。
  • Bias (30M): 靜態LoRA,修正生成圖像與Qwen-Image底模的風格偏差(如顏色偏好)。

下圖是一個通用LoRA架構示意圖,Qwen-Image-i2L在這基礎上添加圖像輸入層:

LoRA Architecture

局限性包括泛化不足(單圖難以捕捉3D邏輯)和細節丟失(複雜紋理可能需多圖輸入)。研究顯示,使用Bias可提升兼容性達20-30%(基於示例比較)。

為何要關注它?四大核心優勢

  • 門檻極低:告別需要20張以上圖片和GPU集群的傳統流程,一張圖加普通電腦即可。
  • 效率極高:從準備到生成可用的風格模型,耗時從數小時縮短至幾分鐘
  • 品質出色:生成的LoRA能精準捕捉原圖精髓,無縫融入主流AI繪畫流程。
  • 用途靈活:無論是將《星月夜》的風格用現代建築上,還是把動漫風遷移到真人照片,都能快速嘗試。

二、實戰指南:從零開始使用i2L

1. 環境準備

與使用基礎的Qwen-Image模型類似,你需要一個Python環境。由於i2L基於強大的Qwen-Image(200億參數MMDiT架構) 開發,因此對硬件有一定要求。

以下是推薦的配置參考:

硬件 最低要求 推薦配置
GPU NVIDIA GTX 1080 Ti (8GB) NVIDIA RTX 4090 D或更高
內存 16GB 32GB 或以上
存儲 50GB 可用空間 100GB SSD

2. 選擇你的"魔法棒":四款模型變體

i2L並非一刀切,它提供了四款針對不同場景優化的模型,你需要根據創作目標進行選擇:

模型變體 參數規模 核心用途 適合場景
風格模式 2.4B 專攻純美學風格遷移 學習水彩筆觸、油畫質感、特定濾鏡色調
粗粒度模式 7.9B 捕捉內容與風格,進行場景重構 把街景變賽博朋克,把風景變童話世界
精細模式 7.6B 生成1024x1024高分辨率細節 需突出動物毛髮、建築磚塊、織物紋理等細節時
偏見模式 30M 確保輸出與Qwen-Image原生風格一致 企業統一宣傳圖視覺風格,防止品牌"跑偏"

新手建議:從風格模式粗粒度模式開始嘗試,它們能處理大多數常見需求。

3. 核心步驟:單圖訓練你的LoRA

以下是一個簡化的操作流程,具體代碼請以項目官方GitHub倉庫為準。

第一步:獲取模型
所有模型均已開源,你可以在 Hugging FaceModelScope 平台搜索"Qwen-Image-i2L"並免費下載。

第二步:準備你的風格圖像

  • 選擇一張能清晰代表你所需風格的圖片。
  • 確保圖片品質較高,重點元素清晰。
  • (可選)如果想學習特定主體(如某隻貓),盡量使用主體突出的圖片。

第三步:運行訓練腳本
訓練過程通常只需一條命令。你需要指定輸入圖片路徑、輸出LoRA的保存位置,以及選擇上表中對應的模型類型。

# 示例命令(僅供參考,請以官方文檔為準)
python train_i2l.py \
  --input_image "你的圖片.webp" \
  --model_type "style" \  # 此處選擇"風格模式"
  --output_lora "./my_style_lora.safetensors"

第四步:使用生成的LoRA進行創作
訓練完成後,你會得到一個 .safetensors 文件。在Stable Diffusion WebUI(如Automatic1111)或ComfyUI中:

  1. 將LoRA文件放入對應的模型文件夾。
  2. 在生成圖片時,在提示詞中通過特定語法(如 <lora:my_style_lora:1>)調用該LoRA。
  3. 輸入你的內容描述,即可生成融合了自定義風格的新圖像。

free-face-dataset-generation-workflow-for-lora-training

4. 調參與提示詞技巧

  • 提示詞是關鍵:Qwen系列模型以強大的文本理解和渲染能力著稱。在生成最終圖像時,結合清晰的內容提示詞和LoRA,效果更佳。例如:"<lora:van Gogh_starry_night:0.8>, 一座現代摩天大樓,夜空,漩渦狀的星光,油畫筆觸。"
  • 控制LoRA強度:通常可以在調用語法中調整權重(如將 :1 改為 :0.7),權重越低,風格影響越弱,與內容的融合更自然。
  • 使用負向提示詞:排除不想要的元素,如"blurry, deformed, ugly"來提升畫面質量。

5. 官方推薦推理代碼

安裝 DiffSynth-Studio:
git clone https://github.com/modelscope/DiffSynth-Studio.git  
cd DiffSynth-Studio
pip install -e .
Qwen-Image-i2L-Style
from diffsynth.pipelines.qwen_image import (
    QwenImagePipeline, ModelConfig,
    QwenImageUnit_Image2LoRAEncode, QwenImageUnit_Image2LoRADecode
)
from modelscope import snapshot_download
from safetensors.torch import save_file
import torch
from PIL import Image

vram_config_disk_offload = {
    "offload_dtype": "disk",
    "offload_device": "disk",
    "onload_dtype": "disk",
    "onload_device": "disk",
    "preparing_dtype": torch.bfloat16,
    "preparing_device": "cuda",
    "computation_dtype": torch.bfloat16,
    "computation_device": "cuda",
}

# 載入模型
pipe = QwenImagePipeline.from_pretrained(
    torch_dtype=torch.bfloat16,
    device="cuda",
    model_configs=[
        ModelConfig(model_id="DiffSynth-Studio/General-Image-Encoders", origin_file_pattern="SigLIP2-G384/model.safetensors", **vram_config_disk_offload),
        ModelConfig(model_id="DiffSynth-Studio/General-Image-Encoders", origin_file_pattern="DINOv3-7B/model.safetensors", **vram_config_disk_offload),
        ModelConfig(model_id="DiffSynth-Studio/Qwen-Image-i2L", origin_file_pattern="Qwen-Image-i2L-Style.safetensors", **vram_config_disk_offload),
    ],
    processor_config=ModelConfig(model_id="Qwen/Qwen-Image-Edit", origin_file_pattern="processor/"),
    vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5,
)

# 載入圖像
snapshot_download(
    model_id="DiffSynth-Studio/Qwen-Image-i2L",
    allow_file_pattern="assets/style/1/*",
    local_dir="data/examples"
)
images = [
    Image.open("data/examples/assets/style/1/0.webp"),
    Image.open("data/examples/assets/style/1/1.webp"),
    Image.open("data/examples/assets/style/1/2.webp"),
    Image.open("data/examples/assets/style/1/3.webp"),
    Image.open("data/examples/assets/style/1/4.webp"),
]

# 模型推理
with torch.no_grad():
    embs = QwenImageUnit_Image2LoRAEncode().process(pipe, image2lora_images=images)
    lora = QwenImageUnit_Image2LoRADecode().process(pipe, **embs)["lora"]
save_file(lora, "model_style.safetensors")
Qwen-Image-i2L-Coarse、Qwen-Image-i2L-Fine、Qwen-Image-i2L-Bias
from diffsynth.pipelines.qwen_image import (
    QwenImagePipeline, ModelConfig,
    QwenImageUnit_Image2LoRAEncode, QwenImageUnit_Image2LoRADecode
)
from diffsynth.utils.lora import merge_lora
from diffsynth import load_state_dict
from modelscope import snapshot_download
from safetensors.torch import save_file
import torch
from PIL import Image

vram_config_disk_offload = {
    "offload_dtype": "disk",
    "offload_device": "disk",
    "onload_dtype": "disk",
    "onload_device": "disk",
    "preparing_dtype": torch.bfloat16,
    "preparing_device": "cuda",
    "computation_dtype": torch.bfloat16,
    "computation_device": "cuda",
}

載入模型

pipe = QwenImagePipeline.from_pretrained(
torch_dtype=torch.bfloat16,
device="cuda",
model_configs=[
ModelConfig(model_id="Qwen/Qwen-Image", origin_file_pattern="text_encoder/model*.safetensors", **vram_config_disk_offload),
ModelConfig(model_id="DiffSynth-Studio/General-Image-Encoders", origin_file_pattern="SigLIP2-G384/model.safetensors", **vram_config_disk_offload),
ModelConfig(model_id="DiffSynth-Studio/General-Image-Encoders", origin_file_pattern="DINOv3-7B/model.safetensors", **vram_config_disk_offload),
ModelConfig(model_id="DiffSynth-Studio/Qwen-Image-i2L", origin_file_pattern="Qwen-Image-i2L-Coarse.safetensors", **vram_config_disk_offload),
ModelConfig(model_id="DiffSynth-Studio/Qwen-Image-i2L", origin_file_pattern="Qwen-Image-i2L-Fine.safetensors", **vram_config_disk_offload),
],
processor_config=ModelConfig(model_id="Qwen/Qwen-Image-Edit", origin_file_pattern="processor/"),
vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5,
)

載入圖像

snapshot_download(
model_id="DiffSynth-Studio/Qwen-Image-i2L",
allow_file_pattern="assets/lora/3/*",
local_dir="data/examples"
)
images = [
Image.open("data/examples/assets/lora/3/0.webp"),
Image.open("data/examples/assets/lora/3/1.webp"),
Image.open("data/examples/assets/lora/3/2.webp"),
Image.open("data/examples/assets/lora/3/3.webp"),
Image.open("data/examples/assets/lora/3/4.webp"),
Image.open("data/examples/assets/lora/3/5.webp"),
]

模型推論

with torch.no_grad():
embs = QwenImageUnit_Image2LoRAEncode().process(pipe, image2lora_images=images)
lora = QwenImageUnit_Image2LoRADecode().process(pipe, **embs)["lora"]
lora_bias = ModelConfig(model_id="DiffSynth-Studio/Qwen-Image-i2L", origin_file_pattern="Qwen-Image-i2L-Bias.safetensors")
lora_bias.download_if_necessary()
lora_bias = load_state_dict(lora_bias.path, torch_dtype=torch.bfloat16, device="cuda")
lora = merge_lora([lora, lora_bias])
save_file(lora, "model_coarse_fine_bias.safetensors")


#### 使用生成的 LoRA 生成圖像
```py
from diffsynth.pipelines.qwen_image import QwenImagePipeline, ModelConfig
import torch

vram_config = {
    "offload_dtype": "disk",
    "offload_device": "disk",
    "onload_dtype": torch.bfloat16,
    "onload_device": "cpu",
    "preparing_dtype": torch.bfloat16,
    "preparing_device": "cuda",
    "computation_dtype": torch.bfloat16,
    "computation_device": "cuda",
}
pipe = QwenImagePipeline.from_pretrained(
    torch_dtype=torch.bfloat16,
    device="cuda",
    model_configs=[
        ModelConfig(model_id="Qwen/Qwen-Image", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors", **vram_config),
        ModelConfig(model_id="Qwen/Qwen-Image", origin_file_pattern="text_encoder/model*.safetensors", **vram_config),
        ModelConfig(model_id="Qwen/Qwen-Image", origin_file_pattern="vae/diffusion_pytorch_model.safetensors", **vram_config),
    ],
    tokenizer_config=ModelConfig(model_id="Qwen/Qwen-Image", origin_file_pattern="tokenizer/"),
    vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5,
)
pipe.load_lora(pipe.dit, "model_style.safetensors")
image = pipe("a cat", seed=0, height=1024, width=1024, num_inference_steps=50)
image.save("image.webp")

6. 官方範例

風格

Qwen-Image-i2L-Style 模型可用於快速生成風格 LoRA,只需輸入幾張風格統一的圖像。以下是我們生成的結果,隨機種子都是 0。

i2l-style-1
i2l-style-2
i2l-style-3
i2l-style-4

粗粒度 + 細粒度 + 偏差

Qwen-Image-i2L-Coarse、Qwen-Image-i2L-Fine、Qwen-Image-i2L-Bias 三者組合後可以生成保留圖像內容和細節資訊的 LoRA 權重,這組權重作為 LoRA 訓練的初始化權重能夠加速收斂速度。

i2l-coarse-1
i2l-coarse-2
i2l-coarse-3

三、應用場景:你的創意加速器

  • 個人藝術創作:快速嘗試多種大師畫風,或為自己的作品集建立統一風格。
  • 電商與行銷:為不同產品線快速生成統一風格、不同內容的宣傳圖,大幅降低拍攝和設計成本。
  • 遊戲與影視概念:快速將一張原畫風格遷移到多個場景、角色設計中,高效產出概念圖。
  • 品牌視覺管理:使用"偏見模式",確保所有AI生成的行銷素材嚴格符合品牌VI規範。

四、注意事項與未來

  • 當前局限:從單張2D圖片推導3D邏輯存在挑戰。例如,訓練一張"貓在沙發上"的圖片,生成的圖可能在其它角度出現物體懸空或變形。對於複雜三維風格,準備多角度圖片仍是更好選擇。
  • 未來發展:i2L標誌著AI圖像生成進入 "即時定制"時代。可以預見,未來會有更多"一鍵生成漫畫分鏡"、"一鍵設計角色"等應用湧現,讓個性化AI創作更加普及。

現在,就找一張最能代表你心中美學的圖片,開始打造你的專屬AI畫師吧!

本文操作指南基於 Qwen-Image-i2L 開源技術文檔及社群實踐。模型具體使用方法可能更新,建議同時查閱 z-image.meHugging FaceModelScope 上的專案主頁獲取最新資訊。