我們一開始在學習Stable Diffusion時,直接copy他人的生成係數是一個不錯的起手學習方式。但是久了,是否發現用來就是那幾個排列組合?看似打地很豐富消耗Tokens數一堆,卻仍然不是接近你心目中理想的樣子嗎?
在這之前我們可能都已經經歷過各種單詞組合瘋狂地組合實驗洗滌了,今天我們就是要開始學習進一步的Stable Diffusion Prompt寫作技巧。一種有目標地且由淺入深地輸入控制圖像地提示詞。
提示詞結構
我們先來對基礎知識有個集體共識吧!在網上千萬個Stable Diffusion各種教學,無論那些教學是怎麼進一步解釋撰寫提示詞這一塊得,我們定義具有合格基本結構的提示詞結構如下:
{圖像載體(Medium)+選擇性修飾/主要風格}{物件/主體}{細節}{背景}{修飾/embedding}
圖像載體 Medium: 你想使用哪一種載體來傳遞你的圖像呢?漫畫Comic、繪畫Painting、3D Render、照片Photo或是數位繪圖Digital paint?
而其中你又特別想用哪個風格(Style)來做主定調? 日系二次元畫風(Manga)?美式英雄漫畫畫風?迪士尼奇幻精靈那種(Fantasy)?或是近年人氣不斷提升得賽博龐克(Cyberpunk)蒸氣龐克(Steampunk)? 噢,在描述風格前,還有個”選項修飾”可以描述插入在你風格前,像是什麼視角等等。
範例:
例: "一個生動的科幻插圖,低攝影機角度,上半身"
"a vivid scifi illustration, low camera angle, upper body"
再複習一次, “插圖”是載體,”生動”是修飾,”科幻”是主要風格!
物件/主體:
您的主要主題,簡單清晰的詞彙,以”of”開頭。
例: "一位女性太空人"
"of a female astronaut"
細節: 細節包括應該更清晰地定義主體的一切。服裝、姿勢、髮色、體型等等。在這裡,你可以快速累積一坨tokens,但老實說你使用的tokens越多,你最終生成的圖像就會越不準確。因此,你可以開始練習請嘗試控制自己寫提示詞所消耗的Tokens數目,並在這期間仔細思考精確你卻切具體想要什麼。
例:
"漂亮的臉龐、緊身連體衣、頭盔、未來主義、漂浮在太空中"
"pretty face, skintight bodysuit, helmet, futuristic, floating in space"
背景: 這應該是不言自明的,用簡單的術語定義您的背景。越簡單越好。
例: 廣闊的銀河背景
"vast galaxy background"
對了,到現在你都還不需要擔心你英文程度或是單字量不足的問題在寫提示詞也許會有障礙,因為stable diffusion webui有個prompt-all-in-one外掛會自動幫你打的中文翻譯成英文。
小節一下:
a vivid scifi illustration,low camera angle,upper body,of a female astronaut,pretty face,skintight bodysuit,helmet,futuristic,floating in space,vast galaxy background,
先無視哪裡怪怪的,但總之還行啦!
2.修飾詞
修飾是一個非常廣泛的主題。我看到最多的是複製然後貼上,這其實有點可惜,因為社群媒體大家都這樣幹,儘管其中流傳的許多熱門詞彙,就算tokens成本高,但效果並不明顯,你用太多反而會變得無用甚至適得其反。為了釐清表現出這一點,在這裡我們比較一下吧!這裡有一些視覺範例:
細節雖然發生變化,但圖像並沒有變得明顯更詳細。簡單的”Detailed”就足夠了,我們可以節省些tokens。
筆記:
像Highly、Extremely或Insanely這樣的詞語確實會對生成的圖像產生影響。這源於穩定擴散的最初期,當時還沒有像今天這樣的負面Embedding/Lora,現在仍然可以這樣提示,但負面嵌入在很大程度上已經使其過時。如果出於某些原因您不使用Embedding/Lora,這將是提高質量的一種方法。
像這樣的提示(隨機複製自Civit中的一張圖片):
(masterpiece, realistic:1.3), (extremely intricate:1.2), (photorealistic:1.4), (extremely delicate), (ultra realistic:1.3), (hyperrealistic), hyperrealistic photography, extremely detailed, HDR, RAW photo, dslr, highly detailed, lifelike, photorealistic, digital painting
這裡完全盲目地浪費了tokens,這種流行於大家相傳、頻繁出現的詞會在英語我們可以稱之“buzzwords”,而現在我們的確被簡單可複製成一堆,但到最後卻始終沒有理解到這些字詞到底在做什麼buzzwords充斥著。而被消耗得tokens原本可以展開多少個細節呢?
說道這我只想表達一件事,儘管這些buzzwords看上去大家再用,但其實是否真需要如此頻繁使用,你實際上跑張XYZ圖利馬就知道了。修飾詞是一個彈性和創意非常大的空間,也是你可以發揮想像的地方所在,但在這裡就是如次地重要就得保持簡單直接,忘記所有不必要的buzzword。思考你想要什麼,並將提示詞寫出來!
最後,這一塊我的建議你,可以嘗試單獨試驗不同的修飾,看看它們實際上有什麼效果。X/Y/Z Plot在這裡可能會有所幫助。
現在回到我們的提示詞上。我們希望有個添加修飾又能在不浪費Tokens的情況下推進我們的圖像展開。
Ex: “detailed, sharp, HDR, good quality, good resolution, maximalist, masterpiece”
(風格修飾)/(藝術家名字) 在這裡同樣適用:
了解您想要什麼,目標是什麼,並保持簡單!如果您使用不能推進所需風格的buzzword,那就適得其反了,尤其是當您使用一個很具風格化的模型時更是如此!!
所以說,當你”描述”風格而不僅僅使用Buzzwords而是開始精要使用藝術家人物代表畫派的名字時,無形中你鍛鍊你的提示詞更加精煉!
如果您想走自然寫實風格,請使用推進該風格的修飾(Raw、Photo、realistic、DSLR等)。對於動漫、繪畫或任何其他風格也是如此。學習支持所需風格的術語,以及那些不支持的術語。
對於我的提示,我想走一個更西方的風格。
例: “comic style, graphic novel style, sharp lines, smooth shading”
好吧,說到這,其實英文不有一點點底子還是不行的,但沒關係,小的當初也是辛苦拿本雅思單字書慢慢考到7.0(?)
但也別擔心,本文隨附精緻ˇ的AIGC中英雙語辭典,看圖記詞最快了!