이미지 생성 프롬프트의 구조
주제, 스타일, 매체, 조명, 색상 팔레트, 구도 요소를 알아봅니다.
이미지 생성 프롬프트의 구조은(는) CoddyKit의 무료 AI Prompt Engineering 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 AI Prompt Engineering 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. AI Prompt Engineering 강의에는 총 4개의 강의가 포함되어 있습니다.
이미지 프롬프트를 레시피로 보기
이미지 생성 프롬프트는 시각적 결과물을 위한 레시피입니다. 요리와 마찬가지로 요소의 순서와 균형이 중요합니다. 요소가 빠지면 결과가 평범해지고, 잘못된 요소를 넣으면 예상 밖의 실패가 발생합니다. 프롬프트의 구성을 익히면 예측 가능한 창작 제어가 가능합니다.
핵심 구성 요소 6가지
완성도 높은 이미지 프롬프트에는 여섯 가지 구성 요소가 들어갑니다. 주제(무엇을), 스타일(어떻게 보이는지), 매체(예술 형식), 조명(빛의 표현), 색상 팔레트(분위기), 구도(화면 구성)입니다. 어느 하나라도 빠지면 모델이 추측하게 되며, 대개 일반적인 기본값을 사용합니다.
# Anatomy of an image prompt
prompt_components = {
'subject': 'A lone lighthouse on a rocky coastline',
'style': 'dramatic, moody, cinematic',
'medium': 'oil painting',
'lighting': 'stormy overcast sky, waves crashing, dramatic side-lighting',
'color_palette': 'desaturated blues and grays with warm amber light from the lighthouse',
'composition': 'wide establishing shot, rule of thirds, lighthouse at left third'
}
# Assemble into a prompt string
full_prompt = (
'{subject}, {style}, {medium}, {lighting}, '
'{color_palette}, {composition}'
).format(**prompt_components)
print(full_prompt)
# A lone lighthouse on a rocky coastline, dramatic, moody, cinematic,
# oil painting, stormy overcast sky, waves crashing, dramatic side-lighting,
# desaturated blues and grays with warm amber light from the lighthouse,
# wide establishing shot, rule of thirds, lighthouse at left third주제: 무엇을 담는가
주제는 가장 중요한 구성 요소로, 모델에 무엇을 묘사할지 알려 줍니다. 가능한 한 구체적으로 지정하십시오. 종, 나이, 감정, 동작, 환경 및 공간적 관계를 포함해야 합니다.
# Subject specificity comparison
# Weak subject:
weak = 'a person in a city'
# Strong subject (same concept, much more specific):
strong = (
'a young woman in her 30s, wearing a vintage 1960s trench coat, '
'standing at a rain-soaked street corner in Tokyo at night, '
'looking up at neon signs reflected in the puddles, '
'holding a dripping umbrella, expression of quiet wonder'
)
# The strong subject answers:
# WHO: young woman, 30s
# WHAT WEARING: 1960s trench coat
# WHERE: Tokyo street corner
# WHEN: night, raining
# WHAT DOING: standing, looking up
# EXPRESSION: quiet wonder
# KEY DETAIL: neon reflections in puddles, dripping umbrella
print('Weak:', weak)
print('Strong:', strong[:100], '...')스타일: 어떻게 보이는가
스타일 설명어는 이미지의 시각 언어와 미적 분위기를 모델에 알려 줍니다. 예술 사조, 특정 작가, 시각 매체 또는 추상적인 미적 특성을 참조할 수 있습니다.
style_examples = [
# Art movements
'impressionist', 'art nouveau', 'bauhaus', 'minimalist', 'surrealist',
# Artist references
'in the style of Monet', 'reminiscent of Hopper', 'inspired by Klimt',
# Visual media
'film noir', 'vaporwave aesthetic', 'cottagecore', 'brutalist',
# Quality descriptors
'highly detailed', 'cinematic', 'editorial photography style',
'concept art', 'matte painting', 'character design sheet',
# Mood
'ethereal', 'gritty', 'whimsical', 'melancholic', 'vibrant', 'serene'
]
# Combining styles creates unique aesthetics
combined_style = 'cyberpunk aesthetic meets art nouveau, highly detailed, dark ethereal'
print('Combined style:', combined_style)
# Warning: too many style directives create incoherence
too_many = 'impressionist, minimalist, surrealist, photorealistic, anime, baroque'
print('Too many (incoherent):', too_many)매체: 예술 형식
매체는 물리적 또는 디지털 예술 형식을 정의합니다. 매체에 따라 생성된 이미지의 질감, 선의 특성 및 색조가 근본적으로 달라집니다. 일반적인 매체와 그 결과는 다음과 같습니다:
medium_guide = {
# Traditional media
'oil painting': 'Rich, textured, classic look with visible brushwork',
'watercolor': 'Soft edges, translucent washes, paper texture visible',
'pencil sketch': 'Line art, cross-hatching, grayscale, raw feel',
'charcoal drawing': 'Soft, smudgy, high contrast, dramatic shadows',
'ink illustration': 'Bold lines, flat colors or crosshatching',
# Photography
'photorealistic': 'Looks like a real photograph',
'film photography': 'Grain, color shift, analog feel',
'macro photography': 'Extreme close-up, shallow depth of field',
'long exposure photography': 'Motion blur, light trails',
# Digital / 3D
'3D render': 'CGI quality, precise geometry',
'octane render': 'Photorealistic 3D with ray-tracing quality',
'Blender 3D': 'CGI aesthetic, often used with subdivision modeling',
'pixel art': 'Retro 8-bit or 16-bit style, visible pixels',
'vector illustration': 'Clean, flat, scalable design style'
}
for medium, description in list(medium_guide.items())[:5]:
print(f'{medium}: {description}')조명: 분위기 만들기
조명은 시각 예술에서 분위기를 결정하는 가장 강력한 요소입니다. 같은 주제라도 해 질 무렵의 황금빛 햇살 아래에서와 가혹한 취조실 조명 아래에서 전혀 다르게 보입니다. 조명 관련 어휘를 익히십시오.
lighting_vocabulary = {
# Time of day
'golden hour': 'Warm orange-yellow, long shadows, magic hour feel',
'blue hour': 'Cool blue twilight, soft diffused light',
'harsh midday': 'Hard shadows, washed-out, unflattering (usually avoided)',
'overcast': 'Soft even light, no shadows, good for portraits',
# Studio / artificial
'studio lighting': 'Controlled, professional, even illumination',
'Rembrandt lighting': 'Triangle of light on cheek, dramatic portrait technique',
'neon lighting': 'Colorful, urban, cyberpunk feel',
'candlelight': 'Warm, flickering, intimate',
# Dramatic
'chiaroscuro': 'Extreme light/dark contrast, Baroque dramatic style',
'volumetric lighting': 'God rays, light shafts through fog or dust',
'backlit / rim light': 'Subject outlined by light from behind, halo effect',
'bioluminescent': 'Glowing from within, alien or underwater feel'
}
example = 'volumetric lighting, golden hour, warm glow filtering through forest canopy'
print('Lighting example:', example)색상 팔레트: 감정적 분위기
색상 팔레트는 이미지의 감정적 분위기와 시각적 일관성을 조절합니다. 색상 팔레트를 설명으로 지정하거나 예술 사조, 영화 또는 자연을 참조하여 지정하십시오.
color_palette_examples = [
# Temperature-based
'warm earth tones: rust, ochre, sienna, cream',
'cool blues and silvers, icy palette',
'neutral gray monochrome with single red accent',
# Mood-based
'muted, desaturated, melancholic color grading',
'vibrant saturated colors, tropical energy',
'pastel soft colors, dreamlike softness',
# Reference-based
'Wes Anderson color palette: pastel pinks and greens',
'film noir: high contrast black and white with amber shadows',
'synthwave neon: pink, purple, cyan on dark backgrounds',
# Nature-based
'autumn forest: burnt orange, golden yellow, deep brown',
'arctic palette: white, pale blue, grey with deep navy accents',
]
# Color palettes can clash with lighting — ensure they work together
clash = 'vibrant tropical colors + film noir lighting' # incoherent
harmony = 'warm amber and ochre tones + golden hour lighting' # coherent
print('Harmonious combo:', harmony)구도: 화면 구성과 초점
구도 지시어는 모델에 장면을 어떻게 구성할지 알려 줍니다. 무엇을 포함하고 무엇을 강조할지, 요소를 어디에 배치할지를 지정합니다. 사진 및 영화 촬영에서 사용하는 어휘를 활용하면 효과적입니다.
composition_vocabulary = {
# Camera distance
'extreme close-up': 'fills frame with a single detail (eye, hand, texture)',
'close-up': 'face or object fills most of frame',
'medium shot': 'waist to head, character-focused',
'wide shot': 'full body in environment context',
'establishing shot': 'landscape/environment, tiny or no character',
'aerial / bird\'s eye view': 'looking straight down',
'worm\'s eye view': 'looking straight up from below',
# Composition rules
'rule of thirds': 'subject at intersection of 1/3 lines',
'centered composition': 'symmetrical, formal, powerful',
'leading lines': 'lines guide eye toward subject',
'negative space': 'large empty area emphasizes subject',
'frame within frame': 'archway, window, or shape frames subject',
# Depth
'shallow depth of field': 'sharp subject, blurred background (bokeh)',
'deep focus': 'everything in sharp focus front to back'
}
print('Composition example: close-up portrait, rule of thirds, shallow depth of field, bokeh background')전체 프롬프트 조립
여섯 가지 구성 요소를 논리적인 순서로 조합하면 일관되게 높은 품질의 이미지 프롬프트를 만들 수 있습니다. 권장 순서는 주제 → 매체 → 스타일 → 조명 → 색상 팔레트 → 구도입니다.
def build_image_prompt(
subject, medium, style, lighting, color_palette, composition,
quality_boost='highly detailed, 8K resolution'
):
parts = [
subject,
medium,
style,
lighting,
color_palette,
composition,
quality_boost
]
# Filter out None values and join
return ', '.join(p for p in parts if p)
# Example: Portrait
portrait = build_image_prompt(
subject='elderly Japanese fisherman mending nets at sunrise, weathered hands, peaceful expression',
medium='oil painting',
style='impressionist, highly detailed, classical technique',
lighting='golden hour sunrise, warm light from the left, soft shadows',
color_palette='warm ochres, golds, deep navy sea in background',
composition='medium shot, rule of thirds, subject right third, ocean left'
)
print(portrait)이미지 간 일관성을 위한 프롬프트 작성
이미지 시리즈(캐릭터 시트, 스토리보드)를 생성할 때는 이미지마다 달라지는 요소에 변수를 대입하는 기본 프롬프트 템플릿을 사용하여 일관성을 유지하십시오.
BASE_CHARACTER_TEMPLATE = (
'{character_description}, '
'{action_description}, '
'oil painting, concept art style, '
'dramatic studio lighting, '
'muted jewel tones with gold accents, '
'close-up portrait, centered composition, '
'highly detailed, cinematic'
)
character = (
'a tall warrior woman with dark braided hair, emerald eyes, '
'wearing ornate silver plate armor with dragon motifs'
)
action_variants = [
'standing at attention, stoic expression, arms crossed',
'battle-ready, sword raised, fierce expression, mid-action',
'resting against a stone wall, exhausted but resolute, soft smile',
'close-up portrait, neutral expression, slight three-quarter view'
]
for action in action_variants:
prompt = BASE_CHARACTER_TEMPLATE.format(
character_description=character,
action_description=action
)
print(f'Generating: {action[:40]}...')
# call image API with prompt품질 키워드
대부분의 이미지 모델은 원하는 출력의 충실도를 나타내는 품질 키워드에 반응합니다. 이러한 키워드를 전략적으로 사용하면 주제나 스타일을 바꾸지 않고 세부 묘사 수준을 높일 수 있습니다.
quality_tokens = {
'high_detail': [
'highly detailed', 'intricate detail', 'ultra-detailed',
'8K resolution', '4K wallpaper quality'
],
'photorealism': [
'photorealistic', 'hyperrealistic', 'photographed by',
'DSLR photo', 'shot on 35mm film'
],
'professional_quality': [
'award-winning', 'professional photography', 'editorial quality',
'museum quality', 'masterpiece'
],
'rendering_quality': [
'octane render', 'unreal engine 5', 'ray tracing',
'subsurface scattering', 'global illumination'
]
}
# Best practice: add 2-3 quality tokens at the end of the prompt
quality_suffix = 'highly detailed, cinematic, 8K resolution'
print('Add to end of any prompt:', quality_suffix)
# Warning: do not overload with quality tokens — they dilute each other
too_many_quality = 'masterpiece, best quality, ultra-detailed, perfect, amazing, award-winning'
print('Over-specified (less effective):', too_many_quality[:60])빠른 확인
이미지 생성 프롬프트에서 이미지의 감정적 분위기를 가장 직접적으로 조절하는 구성 요소는 무엇입니까?
이미지 프롬프트 구성 요약
잘 구성된 이미지 프롬프트에는 다음 여섯 가지 구성 요소가 조화를 이루며 작동합니다:
- 주제: WHO와 WHAT — 가장 중요한 구성 요소이므로 매우 구체적으로 지정합니다
- 스타일: 미적 분위기, 예술 사조 또는 작가 참조
- 매체: 예술 형식(유화, 사실적 사진 표현, 3D 렌더링, 픽셀 아트)
- 조명: 분위기를 만드는 빛의 표현(황금 시간대, 명암 대비, 네온)
- 색상 팔레트: 감정적 온도감(따뜻한 흙빛, 차갑고 채도가 낮은 색, 네온)
- 구도: 화면 구성(근접 촬영, 삼분할 법칙, 장면 설정 촬영)
마지막에 품질 키워드를 2~3개 추가하십시오. 여러 이미지로 구성된 시리즈의 일관성을 유지하려면 템플릿을 사용하십시오.
자주 묻는 질문
“이미지 생성 프롬프트의 구조” 강의는 무료인가요?
네 — “이미지 생성 프롬프트의 구조” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 AI Prompt Engineering 강의 전체를 잠금 해제할 수 있습니다. AI Prompt Engineering 강의에는 총 4개의 강의가 포함되어 있습니다.
“이미지 생성 프롬프트의 구조”에서 뭘 배우나요?
주제, 스타일, 매체, 조명, 색상 팔레트, 구도 요소를 알아봅니다. 브라우저에서 직접 실행하는 실습 코드로 AI Prompt Engineering을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
AI Prompt Engineering을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 AI Prompt Engineering은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“이미지 생성 프롬프트의 구조” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 AI Prompt Engineering 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 AI Prompt Engineering 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 이미지 생성 프롬프트의 구조
- 스타일 및 예술 매체 지정
- 네거티브 프롬프트와 제외 항목
- 반복적인 이미지 프롬프트 개선