簡介
提示是使用者與AI之間的介面。好的提示可以創造出色的設計,壞的提示會產生垃圾。本文建構了一個專門針對時尚的提示工程系統——包括模板、自動增強、負面優化提示和雙語處理。
1. 時尚提示解剖
T卹設計的有效提示結構
[Style] + [Subject] + [Details] + [Technical Quality] + [Print Spec]
Ví dụ:
"cyberpunk style, neon smiley face with sunglasses,
glowing edges, holographic effect,
high detail, vector art, clean lines,
t-shirt design, transparent background, print-ready, 300 DPI"
提示元件
PROMPT_COMPONENTS = {
"styles": [
"cyberpunk", "minimalist", "vintage retro", "gaming esports",
"streetwear urban", "japanese typography", "graffiti art",
"botanical nature", "abstract geometric", "pop art",
"gothic dark", "kawaii cute", "vaporwave", "psychedelic",
],
"techniques": [
"vector art", "illustration", "watercolor", "line art",
"pixel art", "3D render", "collage", "halftone",
"screen print style", "embroidery style",
],
"quality_boosters": [
"high detail", "clean lines", "sharp edges",
"professional quality", "studio quality",
"crisp", "vibrant colors",
],
"print_specs": [
"t-shirt design", "isolated design element",
"transparent background", "print-ready",
"single color background", "centered composition",
],
}
2. 自動增強管道
class PromptEnhancer:
"""Tự động nâng cấp user prompt cho fashion design"""
def __init__(self):
self.llm = openai.AsyncClient()
async def enhance(self, user_prompt: str) -> EnhancedPrompt:
# Step 1: Detect language
lang = self._detect_language(user_prompt)
# Step 2: Translate if Vietnamese
if lang == "vi":
user_prompt = await self._translate_vi_to_en(user_prompt)
# Step 3: Analyze prompt completeness
analysis = self._analyze_prompt(user_prompt)
# Step 4: Enhance with missing components
enhanced = await self._llm_enhance(user_prompt, analysis)
# Step 5: Build negative prompt
negative = self._build_negative_prompt(analysis)
return EnhancedPrompt(
original=user_prompt,
enhanced=enhanced,
negative=negative,
detected_style=analysis.get("style"),
detected_language=lang,
)
ENHANCE_SYSTEM_PROMPT = """
You are a fashion design prompt engineer for a t-shirt print-on-demand AI.
Given a user's design idea, create an optimized Stable Diffusion prompt.
Rules:
1. Keep the user's core concept intact
2. Add art style if missing (e.g., vector art, illustration)
3. Add "t-shirt design, isolated, transparent background, print-ready"
4. Add quality boosters: "high detail, clean lines, vibrant"
5. Maximum 77 tokens (CLIP limit)
6. Do NOT add: people, mannequins, mockups, backgrounds
Output only the enhanced prompt, nothing else.
"""
FASHION_NEGATIVE_PROMPT = (
"blurry, low quality, watermark, signature, text overlay, "
"person wearing shirt, full body, mannequin, model, "
"wrinkled fabric, photographic, photo, realistic background, "
"busy background, multiple designs, border, frame, "
"distorted, deformed, ugly, duplicate, morbid, "
"low resolution, jpeg artifacts, out of frame"
)
3. 模板系統
class PromptTemplateSystem:
"""Template-based prompt generation cho quick design"""
TEMPLATES = {
"meme": {
"prompt": (
"{subject}, meme style, bold text ready, "
"humorous illustration, {color_scheme}, "
"t-shirt design, transparent background"
),
"negative_extra": "serious, realistic, photographic",
},
"gaming": {
"prompt": (
"{subject}, gaming esports style, "
"glowing effects, neon lighting, {color_scheme}, "
"dynamic composition, t-shirt design, "
"transparent background"
),
"negative_extra": "calm, peaceful, nature",
},
"minimal": {
"prompt": (
"{subject}, minimalist design, clean lines, "
"simple composition, {color_scheme}, "
"flat design, t-shirt design, transparent background"
),
"negative_extra": "complex, detailed, busy, cluttered",
},
"streetwear": {
"prompt": (
"{subject}, streetwear urban style, bold graphics, "
"{color_scheme}, grunge texture, "
"t-shirt design, transparent background"
),
"negative_extra": "elegant, formal, corporate",
},
"japanese": {
"prompt": (
"{subject}, Japanese aesthetic, kanji typography, "
"{color_scheme}, ukiyo-e inspired, "
"t-shirt design, transparent background"
),
"negative_extra": "western, modern, corporate",
},
}
def apply_template(
self,
template_name: str,
subject: str,
color_scheme: str = "vibrant colors",
) -> tuple[str, str]:
template = self.TEMPLATES[template_name]
prompt = template["prompt"].format(
subject=subject,
color_scheme=color_scheme,
)
negative = (
PromptEnhancer.FASHION_NEGATIVE_PROMPT
+ ", " + template["negative_extra"]
)
return prompt, negative
4. 變化策略
class VariationStrategy:
"""Tạo variations đa dạng từ 1 prompt"""
def generate_diverse_variations(
self, base_prompt: str, num_variations: int = 4
) -> list[dict]:
strategies = [
self._seed_variation, # Cùng prompt, khác seed
self._style_variation, # Cùng subject, khác style
self._color_variation, # Cùng design, khác color
self._composition_variation, # Cùng elements, khác layout
]
variations = []
for i in range(num_variations):
strategy = strategies[i % len(strategies)]
variation = strategy(base_prompt, i)
variations.append(variation)
return variations
def _style_variation(
self, prompt: str, index: int
) -> dict:
"""Thay đổi art style"""
styles = [
"vector art style",
"watercolor illustration",
"line art style",
"screen print style",
]
return {
"prompt": f"{prompt}, {styles[index % len(styles)]}",
"strategy": "style_variation",
}
def _color_variation(
self, prompt: str, index: int
) -> dict:
"""Thay đổi color scheme"""
schemes = [
"vibrant neon colors",
"monochrome black and white",
"pastel soft colors",
"earth tones warm colors",
]
return {
"prompt": f"{prompt}, {schemes[index % len(schemes)]}",
"strategy": "color_variation",
}
總結
時尚快速工程系統:
- 提示解剖學 — 結構【風格】+【主題】+【詳細資料】+【品質】+【印刷】
- 自動增強-LLM自動升級提示,加入時尚專屬關鍵字
- 模板系統 — 迷因、遊戲、極簡、街頭服飾、日文的模板
- 否定提示 — 最佳化列印質量,刪除不需要的元素
- 變化策略——種子、風格、顏色、成分變化
下一篇文章開始第 3 部分:AI 設計優化和編輯 — 確保設計可以真實地列印。