Qwen-Image-2.0
Qwen-Image-2.0(2026 年 2 月 10 日發布)是單一模型,同時支援文生圖和圖片編輯:一個 8B Qwen3-VL 編碼器加上一個 7B 擴散解碼器,原生 2K 輸出,指令長度可達約 1k token。其優勢在於中英文密集、拼寫正確的文字(簡報、海報、資訊圖表、漫畫、日曆、書法)、低「AI 感」的真實感照片,以及多圖編輯功能。官方支援的提示詞語言為中文和英文。
執行過程透過 fal-runner(日誌、計費、審核、下載)。影片起始幀的提示詞撰寫歸屬於 storyboard-keyframes / kling-video-prompt;此技能涵蓋 Qwen 專屬的參數和提示詞規則。任何模型適用的解剖學、參考影像忠實度與部位轉移,則包含在 image-edit-fidelity(§4a)中。帶有日期的測試結果記錄在 references/observations.md;API 細節、尺寸與限制記錄在 references/api.md;現成的提示詞模板記錄在 references/prompt-patterns.md。
0. 可用性檢查(在新任務中首先執行)
fal 已於 2026 年 8 月 18 日將所有四個 fal-ai/qwen-image-2/* 端點標記為 deprecated;後繼者 alibaba/qwen-image-3/* 為活躍狀態。標準的文生圖端點在 2026 年 11 月 8 日仍成功處理了一次請求,但已棄用的端點可能隨時停止服務。在任務進行第一次付費呼叫之前:
- 執行
python3 ~/.claude/skills/fal-runner/fal_run.py models qwen-image-2和schema <端點>。 - 檢查
references/observations.md中最後一次成功運行的日期。 - 如果呼叫失敗,出現 404/410/「deprecated」/「not found」錯誤,請向用戶報告,並提供
references/api.md中的替代方案(阿里雲 Model Studio 需要DASHSCOPE_API_KEY,截至 2026 年 11 月 8 日在此機器上未配置;WaveSpeed;或使用 fal 上的 Qwen-Image-3 作為需要單獨測試的不同模型)。切勿在未通知用戶的情況下擅自切換模型:用戶要求的是 Qwen 2。
1. 層級與端點
| 任務 | fal 端點 | 2026-11-08 所見價格 |
|---|---|---|
| 草稿、探索、佈局嘗試 | fal-ai/qwen-image-2/text-to-image | 0.035 USD/圖片 |
| 最終圖片、密集文字、真實感 | fal-ai/qwen-image-2/pro/text-to-image | 0.075 USD/圖片 |
| 編輯草稿 | fal-ai/qwen-image-2/edit | 0.035 USD/圖片 |
| 最終編輯、多圖融合 | fal-ai/qwen-image-2/pro/edit | 0.075 USD/圖片 |
Model Studio 名稱:qwen-image-2.0(加速版)和 qwen-image-2.0-pro,兩者均在單一端點上支援生成和編輯(references/api.md)。在標準層級上迭代構圖和文字,待提示詞確定後再轉到 Pro 層級,並比較最終採用圖片的成本(包含重試次數),而非單一輸出的價格。
2. 影響結果的參數
- 尺寸。fal 的預設值為
square_hd= 1024x1024,僅為原生 2K 的四分之一。務必傳入image_size: {"width": W, "height": H}。總像素介於 512x512 至 2048x2048 之間,邊長為 16 的倍數。2K 預設尺寸:1:1 2048x2048,16:9 2688x1536,9:16 1536x2688,4:3 2368x1728,3:4 1728x2368,3:2 2496x1664,2:3 1664x2496。scripts/qwen_payload.py size <比例>可計算其他任意比例。對於未指定image_size的編輯,輸出尺寸將跟隨最後一張輸入圖片。 - 提示詞擴展(fal 上的
enable_prompt_expansion,Model Studio 上的prompt_extend),預設為true:一個 LLM 會重寫提示詞並添加細節、風格和鏡頭用詞(官方範例將一行「貓」擴展成了「Canon EOS R5, National Geographic」風格的提示詞)。此技能的預設行為是:自行按照 §3/§4 的規則撰寫完整的提示詞,並在圖片包含精確文字、固定佈局、需要保持一致的系列、或進行種子比較時,將此參數設為false。僅在需要多樣化的簡短探索性提示詞時才保留true。 - 反向提示詞,最多 500 個字元。文生圖預設值(官方 Qwen 列表):
low resolution, low quality, deformed limbs, malformed fingers, oversaturated colors, waxy skin, faces without detail, over-smoothed, AI-generated look, chaotic composition, blurry or distorted text,再加上解剖學列表(§4a)。編輯:使用忠實度列表加上解剖學列表(payload 腳本的編輯預設值;--negative blank會發送" "),再加上你實際遇到的失敗情況(altered face,misspelled text)。排除項放在這裡;正向提示詞中不要用「no」來列舉物體。 - 提示詞長度。fal 編輯:800 個字元(schema)。fal 文生圖:schema 中沒有限制;Model Studio 在 1300 token 後會靜默截斷;WaveSpeed 允許 800 個字元。
qwen_payload.py會在超出限制時發出警告。當字元空間不足時,請依序保留:精確文字字串、它們的位置、主體及其空間關係、一到兩個風格提示。 - 數量與種子。
num_images1-4(fal 文生圖),1-6(fal 編輯,Model Studio)。seed0..2147483647;相同的種子會產生相似但不完全相同的輸出。 - 編輯輸入。1-3 張圖片,提示詞中的順序為「image 1/2/3」,fal 上每邊 384-5000 px(阿里雲建議 384-3072),最大 10 MB,無 alpha 通道的 PNG(腳本會 flatten alpha)。本地檔案需以
"@file:/abs/path"的形式傳遞給fal_run.py。 - 安全檢查器預設為開啟;關閉需要帳戶授權。
3. 文生圖提示詞規則
這些規則遵循官方的 Qwen 重寫系統提示詞(QwenLM/Qwen-Image 中的 prompt_utils.py, prompt_utils_2512.py)以及 2.0 發布範例。按照這種方式撰寫提示詞,就等於提前完成了重寫器的工作,這也是為什麼可以關閉擴展功能的原因。
- 使用自然描述性散文,寫成一個段落,不要使用關鍵詞列表或標籤堆疊。結構化內容(資訊圖表、表格、漫畫)可以使用換行和「Row 1: ...」部分,但每個項目仍然應該是一個描述性短語。
- 明確指出整體風格:寫實攝影、隨意的手機快照、電影海報、扁平化資訊圖表、宋代工筆畫、3D 渲染、動漫插畫。
- 順序:主體、外貌、從頭到腳的服裝、姿勢、視線與手部動作、其他物體、環境、光線(方向、強度、色溫)、鏡頭與構圖、質感與氛圍。在簡單場景中要克制細節;在能解決實際選擇的地方增加細節。
- 人物:種族、性別與具體年齡(「大約 30 歲」,而非「年輕」);臉型、眼睛、膚色與質感、妝容;髮色、長度、髮型;每件衣物與配件;身體姿態、視線方向、每隻手的動作。一張肖像約需 200 字。為了真實感,官方範例使用「casual iPhone snapshot, typical indoor lighting, no staged lighting」。
- 每個可見的字串都用雙引號括起來,完全按照它必須出現的樣子,並附上其位置、方向(水平、垂直、從右到左的列)、字體(無襯線、有襯線、手寫體、指定的書法風格)、顏色、大小和載體(霓虹燈管、粉筆、燙金箔、刺繡)。暗示的文字要變成具體的文字:不是「一個名字列表」,而是那些名字。最後用「No other text appears in the image.」來結束一個包含文字的圖片;沒有文字的圖片則加上「The image contains no recognizable text.」
- 專有名詞、品牌、標語、網址和數字請照原樣保留。
- 佈局:先描述網格或欄位,然後按照閱讀順序描述每個區塊及其精確文字;表格和日曆需逐格描述;漫畫則描述為「a 4x6 grid with white dividers」,然後是「Row 1, panel 1: ... Speech bubble: "..."」。重複出現的角色,其簡短的識別描述要在每個分鏡面板中逐字重複(官方漫畫就是這樣做的),以保持角色一致性。幻燈片中的圖片應在其節點旁用括號標註。
- 語言:用英文或中文撰寫描述;引號內的字串必須使用它們應該出現的語言。其他文字不是官方支援的。2026年11月8日測試的西里爾字母:常見的簡短單詞通常是對的,較長或較少見的單詞會出現亂碼(3 個俄文字串中有 2 個出現錯誤字母,而英文則是精確的)。對於俄文文字:保持字串簡短,預期需要重試,檢查每個單詞,並計劃在編輯器中或透過一次編輯處理來修正錯誤的單詞。
- 不要使用品質標籤後綴(「8K, masterpiece, ultra HD」):2.0 的範例中沒有使用這些,它們會導致反向提示詞所要對抗的那種 glossy AI 風格。
海報、幻燈片、資訊圖表、肖像、產品、漫畫和日曆的模板位於 references/prompt-patterns.md。
4. 編輯指令規則
源自官方編輯提示詞增強器和 2.0 編輯範例:
- 一個直接、具體的指令:動詞、目標、屬性、位置。「在右下角添加一隻淺灰色的貓,坐著並面對鏡頭」,而不是「添加一隻動物」。
- 替換:「Replace Y with X」,然後是 X 的關鍵視覺特徵。
- 文字:
Replace "old text" with "new text",保留引號,使用相同的語言和大小寫;僅在位置、顏色和字體發生變化時才指定。 - 人物:說明必須保留的部分(種族、性別、年齡、臉部、髮型、表情、服裝)。表情和妝容的變化要微妙,不能誇張。
- 風格轉換:透過可見特徵(色調、線條、質感、光線)描述目標風格,並將風格句子放在內容變化之後。
- 將一個參考圖中的某個部分移動到另一個參考圖中、人臉互換:參見
image-edit-fidelity§3(見 §4a)。 - 多圖:說明哪張圖片提供什麼(「圖1中的女孩穿著圖2中的黑色連衣裙,並擺出圖3中的姿勢」),哪張圖片提供背景,並描述每個人的衣物和姿勢。輸出的外觀比例跟隨最後一張圖片:將基礎圖片放在最後,或者設定
image_size。 - 保留條款應命名具體事物:「不要改變真實的建築物、街道、車輛或人物;保持照片的真實感」,「保持產品形狀、標誌和佈局不變」。當附有參考圖時,務必遵循
image-edit-fidelity§2(見 §4a)。 - 模型會重新渲染整個畫格。將未改變的區域與輸入圖逐個像素進行比較;當局部小編輯損壞了其他部分時,僅將編輯過的區域用羽化遮罩貼回原始圖上(
ref_diff.py --paste-back,見 §4a)。 - 著色模板:「Restore and colorize the photo.」來自 Qwen-Image-Edit 增強器的內繪/外繪模板(「Perform inpainting on this image. The original caption is: ...」,「Extend the image beyond its boundaries using outpainting. The original caption is: ...」)尚未在 2.0 上驗證。
4a. 解剖學、參考影像忠實度、部位轉移:image-edit-fidelity
與模型無關的規則位於 image-edit-fidelity 技能中(~/.claude/skills/image-edit-fidelity/SKILL.md),並適用於每個涉及人物或參考圖片的 Qwen 呼叫:確保每個人的解剖結構完整無誤(其 §1),僅更改 reference_inventory.md 中要求的內容,並使用 CHANGE/KEEP 的拆分(§2),精確轉移一個部位和人臉互換(§3),以及使用 ref_diff.py 進行檢查和貼回修復。請與此技能同時載入。
這些規則如何映射到 Qwen-Image-2.0:
- 解剖學和忠實度排除項應放入
negative_prompt(最多 500 個字元):payload 腳本會將解剖學列表添加到文生圖的預設值中,並將忠實度 + 解剖學作為編輯的預設值。 - 對於所有帶有參考圖的編輯,將
enable_prompt_expansion設為false。 - 輸出跟隨
image_urls中的最後一張圖片:將基礎參考圖(部位轉移的目標)放在最後;payload 腳本預設會從此圖設定編輯尺寸。 - 編輯提示詞,包括保留條款,需能容納在 800 個字元內(腳本會發出警告)。
- 部位轉移和人臉互換的來源裁剪:每邊至少 384 px。
qwen_payload.py check會在以下情況發出警告:編輯沒有命名的保留條款,沒有「Do not add or remove any people or objects」,多圖提示詞中沒有「only」/「nothing else」,或有人物但沒有解剖學和手部位置描述。- 檢查:執行
python3 ~/.claude/skills/image-edit-fidelity/scripts/ref_diff.py <參考圖> <輸出圖> --allow <框>。
5. 工作流程
- 僅詢問影響圖片的資訊:用途和長寬比、精確的文字字串及其語言、照片或插圖、參考圖片。否則採用上述預設值。
- 進行可用性和 schema 檢查(§0),選擇層級(§1)。涉及人物或參考圖片時:載入
image-edit-fidelity並先寫好reference_inventory.md,包含 CHANGE/KEEP 的拆分。 - 將提示詞寫入專案目錄(
prompt.txt)並建構 payload:python3 ~/.claude/skills/qwen-image-2/scripts/qwen_payload.py build --endpoint <id> --prompt-file prompt.txt --ratio 16:9 --expansion off -o payload.json(編輯時需添加--image a.png --image b.png)。修復它列印出的所有警告。 - 告知模型、圖片數量、尺寸和價格,等待用戶批准(fal-runner 規則)。
- 執行
fal_run.py submit <端點> payload.json --label "<說明>" --wait。 - 在展示之前,先以全尺寸檢查每個輸出(§6)。
- 以用戶審查媒體的方式展示結果:在內建瀏覽器面板中建立一個帶有標籤
<img>圖塊的 HTML 頁面(全域指令),驗證naturalWidth > 0,不要使用SendUserFile。將最終檔案從~/.cache/fal-jobs/複製出來,並使用描述性名稱命名。 - 每次迭代只更改一個部分。將新的發現連同日期記錄在
references/observations.md中(失敗記錄也應保留)。
6. 缺陷檢查
- 每個引號內的字串,以全尺寸逐字元檢查(使用 PIL 裁剪和放大微小文字):拼寫、數字、日期、標點符號、換行;無發明的額外文字,無重複。
- 佈局:行列數、儲存格順序、對齊方式、無被畫面邊緣裁切的部分。
- 每個人的解剖結構,包括背景人物(
image-edit-fidelity§1):一個頭、兩隻眼睛、兩隻手臂、兩隻各有五根手指的手、兩條腿,每個肢體都附著在自己身體的肩膀或臀部上,沒有融合的身體。任何違規都會使圖片不合格。 - 人物和物體:數量、視線目標、誰站在哪裡。
- 編輯:使用
ref_diff.py與參考圖進行比較,然後逐行檢查reference_inventory.md(人數和身份、物體和位置、背景、光線)……
(後續內容因原文截斷而省略)