character-design-sheet

작성자: halt-catch-fire

AI 생성 이미지에서 참조 시트와 LoRA 기법을 활용한 캐릭터 일관성 유지. 턴어라운드 뷰, 표정 시트, 컬러 팔레트, 스타일 일관성 팁을 다룹니다. 사용처: 캐릭터 디자인, 게임 아트, 일러스트레이션, 애니메이션, 만화, 비주얼 노벨. 트리거: 캐릭터 디자인, 캐릭터 시트, 캐릭터 일관성, 캐릭터 참조, 턴어라운드 시트, 표정 시트, 캐릭터 아트, 일관된 캐릭터, 캐릭터 컨셉, 참조 시트, 캐릭터 생성, OC 디자인,...

npx skills add https://github.com/halt-catch-fire/skills --skill character-design-sheet

Install the belt CLI skill: npx skills add belt-sh/cli

Character Design Sheet

Create consistent characters across multiple AI-generated images via inference.sh CLI.

Quick Start

Requires inference.sh CLI (belt). Install instructions

belt login

# Generate a character concept
belt app run falai/flux-dev-lora --input '{
  "prompt": "character design reference sheet, front view of a young woman with short red hair, green eyes, wearing a blue jacket and white t-shirt, full body, white background, clean lines, concept art style, character turnaround",
  "width": 1024,
  "height": 1024
}'

The Consistency Problem

AI image generation produces different-looking characters every time, even with the same prompt. This is the #1 challenge in AI art for any project requiring the same character across multiple images.

Solutions (Ranked by Effectiveness)

TechniqueConsistencyEffortBest For
FLUX LoRA (trained on character)Very highHigh (requires training data)Ongoing projects, many images
Detailed description anchorMedium-highLowQuick projects, few images
Same seed + similar promptMediumLowVariations of single pose
Image-to-image refinementMediumMediumRefining existing images
Reference image in promptVariesLowWhen model supports it

Reference Sheet Types

1. Turnaround Sheet

Shows the character from multiple angles:

┌────────┬────────┬────────┬────────┐
│        │        │        │        │
│ FRONT  │  3/4   │  SIDE  │  BACK  │
│  VIEW  │  VIEW  │  VIEW  │  VIEW  │
│        │        │        │        │
└────────┴────────┴────────┴────────┘
# Generate front view
belt app run falai/flux-dev-lora --input '{
  "prompt": "character design, front view, young woman with short asymmetric red hair, bright green eyes, wearing navy blue bomber jacket over white graphic tee, dark jeans, red sneakers, standing in neutral pose, full body, clean white background, concept art, sharp details",
  "width": 768,
  "height": 1024
}' --no-wait

# Generate 3/4 view (same description)
belt app run falai/flux-dev-lora --input '{
  "prompt": "character design, three-quarter view, young woman with short asymmetric red hair, bright green eyes, wearing navy blue bomber jacket over white graphic tee, dark jeans, red sneakers, standing, full body, clean white background, concept art, sharp details",
  "width": 768,
  "height": 1024
}' --no-wait

# Generate side view
belt app run falai/flux-dev-lora --input '{
  "prompt": "character design, side profile view, young woman with short asymmetric red hair, bright green eyes, wearing navy blue bomber jacket over white graphic tee, dark jeans, red sneakers, standing, full body, clean white background, concept art, sharp details",
  "width": 768,
  "height": 1024
}' --no-wait

# Generate back view
belt app run falai/flux-dev-lora --input '{
  "prompt": "character design, back view, young woman with short asymmetric red hair, wearing navy blue bomber jacket over white graphic tee, dark jeans, red sneakers, standing, full body, clean white background, concept art, sharp details",
  "width": 768,
  "height": 1024
}' --no-wait

# Stitch into reference sheet
belt app run infsh/stitch-images --input '{
  "images": ["front.png", "three-quarter.png", "side.png", "back.png"],
  "direction": "horizontal"
}'

2. Expression Sheet

Shows the character's face with different emotions:

┌────────┬────────┬────────┐
│NEUTRAL │ HAPPY  │ ANGRY  │
│        │        │        │
├────────┼────────┼────────┤
│  SAD   │SURPRISE│THINKING│
│        │        │        │
└────────┴────────┴────────┘

Minimum 6 expressions: neutral, happy, angry, sad, surprised, thinking.

# Neutral
belt app run falai/flux-dev-lora --input '{
  "prompt": "character portrait, close-up face, young woman with short red hair and green eyes, neutral calm expression, clean white background, concept art, consistent character design",
  "width": 512,
  "height": 512
}' --no-wait

# Happy
belt app run falai/flux-dev-lora --input '{
  "prompt": "character portrait, close-up face, young woman with short red hair and green eyes, warm genuine smile, happy expression, clean white background, concept art, consistent character design",
  "width": 512,
  "height": 512
}' --no-wait

# Angry
belt app run falai/flux-dev-lora --input '{
  "prompt": "character portrait, close-up face, young woman with short red hair and green eyes, furrowed brows, angry determined expression, clean white background, concept art, consistent character design",
  "width": 512,
  "height": 512
}' --no-wait

# (Continue for sad, surprised, thinking...)

3. Outfit/Costume Sheet

Multiple outfits for the same character:

OutfitDescription
CasualBomber jacket, t-shirt, jeans
WorkBlazer, button-down, slacks
AthleticSports bra, leggings, running shoes
FormalEvening dress, heels

4. Color Palette Sheet

Document exact colors for consistency:

CHARACTER: Maya Chen

Skin:    ████ #F5D0A9 (warm beige)
Hair:    ████ #C0392B (auburn red)
Eyes:    ████ #27AE60 (emerald green)
Jacket:  ████ #2C3E50 (navy blue)
T-shirt: ████ #ECF0F1 (off-white)
Jeans:   ████ #34495E (dark slate)
Shoes:   ████ #E74C3C (bright red)

The Description Anchor Technique

The most practical consistency technique: write a 50+ word detailed description and reuse it exactly in every prompt.

Template

[age] [gender] with [hair: color, length, style], [eye color] eyes,
[skin tone], [facial features: any distinctive marks],
wearing [top: specific color and style], [bottom: specific color and style],
[shoes: specific color and style], [accessories: specific items]

Example

young woman in her mid-twenties with short asymmetric auburn red hair
swept to the right side, bright emerald green eyes, light warm skin
with a small beauty mark below her left eye, wearing a fitted navy
blue bomber jacket with silver zipper over a white crew-neck t-shirt,
dark slate slim jeans, and bright red canvas sneakers, small silver
stud earrings

Use this exact block in EVERY prompt for this character, only changing the action/pose/scene.

Proportion Guide

StyleHead-to-Body RatioBest For
Realistic7.5 : 1Film, photorealistic
Heroic8 : 1Superheroes, action
Anime/Manga5-6 : 1Japanese animation style
Stylized4-5 : 1Western animation
Chibi/Super-deformed2-3 : 1Cute, comedic, mascots

Include proportion style in your prompts: "realistic proportions" vs "anime style proportions" vs "chibi proportions"

Using LoRA for Consistency

For projects requiring many images of the same character, train a LoRA:

# Use FLUX with a character LoRA
belt app run falai/flux-dev-lora --input '{
  "prompt": "maya_chen character, sitting at a cafe reading a book, warm afternoon light, candid photography style",
  "loras": [{"path": "path/to/maya-chen-lora.safetensors", "scale": 0.8}]
}'

LoRA Training Tips:

  • Need 10-20 reference images of the character (consistent style)
  • Train on specific trigger word (e.g., "maya_chen")
  • Scale 0.7-0.9 balances consistency with prompt flexibility
  • Lower scale = more creative freedom, higher = more strict matching

Common Consistency Failures

IssueWhy It HappensMitigation
Hair color driftModel interprets "red hair" differently each timeUse specific shade: "auburn red #C0392B"
Eye color changeLow priority in generationMention eye color early in prompt
Outfit inconsistencyModel fills in details creativelyDescribe every clothing item explicitly
Age shiftVague age descriptionUse "mid-twenties" not "young"
Face structure changeDifferent generations = different facesUse LoRA or same seed base
Proportion shiftStyle interpretation variesSpecify "7.5 head proportions"

Character Bible Template

For ongoing projects, maintain a character bible document:

# Character: Maya Chen

## Visual Description (use in all prompts)
young woman in her mid-twenties with short asymmetric auburn red hair...
[full 50+ word anchor description]

## Color Palette
- Skin: #F5D0A9
- Hair: #C0392B
- Eyes: #27AE60
- Primary outfit: Navy #2C3E50
- Accent: Red #E74C3C

## Personality Notes (for expression/pose choices)
- Confident but approachable
- Default expression: slight curious smile
- Gestures: talks with hands, leans forward when interested

## Style Keywords
concept art, clean lines, sharp details, [art style reference]

## LoRA (if trained)
Path: ./loras/maya-chen-v2.safetensors
Trigger: maya_chen
Recommended scale: 0.8

Common Mistakes

MistakeProblemFix
Vague descriptionsDifferent character every time50+ word detailed anchor
Inconsistent prompt structureVarying emphasis = varying resultsSame structure, only change action/scene
Generating one view onlyCan't use character in different contextsCreate full turnaround reference
No color documentationColors drift across generationsRecord exact hex codes
Skipping expression sheetCharacter feels one-dimensionalGenerate 6+ expressions
Not using LoRA for big projectsInconsistency compoundsTrain LoRA for 10+ image projects

Related Skills

npx skills add inference-sh/skills@ai-image-generation
npx skills add inference-sh/skills@flux-image
npx skills add inference-sh/skills@prompt-engineering

Browse all apps: belt app list

halt-catch-fire의 다른 스킬

ai-image-generation
halt-catch-fire
We need to translate the given text from English to Korean. The instruction says to preserve product names, protocol names, URLs, numbers, and technical terms. So names like GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve, inference.sh CLI, etc. should remain as is. Also numbers like 50+, 4.5. The text inside <text> is a description of an agent skill for AI image generation. We need to translate the rest naturally into Korean. Let's break it down: "Generate AI images with GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI." -> "inference.sh CLI를 통해 GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve 및 50개 이상의 모델로 AI 이미지를 생성합니다." "Models: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4
creativemediaimage
ai-video-generation
halt-catch-fire
inference.sh CLI를 통해 Google Veo, Seedance 2.0, HappyHorse, Wan, Grok 및 40개 이상의 모델로 AI 비디오를 생성합니다. 모델: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. 기능: 텍스트-비디오, 이미지-비디오, 참조-비디오, 비디오 편집, 립싱크, 아바타 애니메이션, 비디오 업스케일링, 폴리 사운드. 사용처: 소셜 미디어 비디오, 마케팅 콘텐츠, 설명 비디오, 제품 데모, AI 아바타. 트리거: 비디오 생성, AI 비디오,...
creativevideomedia
twitter-automation
halt-catch-fire
We need to translate the given text from English to Korean. The instruction says to preserve product names, protocol names, URLs, numbers, and technical terms. The name "twitter-automation" is not in the text, so we don't include it. We only translate the text inside <text>. No extra labels or commentary. The text describes an agent skill for automating Twitter/X. It mentions CLI, apps like x/post-tweet, etc., capabilities, use cases, and triggers. We need to translate naturally while keeping technical terms like "inference.sh CLI", "x/post-tweet", etc. as is. Also "Twitter/X" should be preserved as is or translated? The instruction says preserve product names, so "Twitter" and "X" are product names. But "Twitter/X" might be a combined reference. I'll keep "Twitter/X" as is. Similarly "X API" should be preserved. "inference.sh CLI" is a technical term, keep as is. The list of apps: x/post-tweet, x/post-create (with media),
marketingapicommunication
ai-avatar-video
halt-catch-fire
inference.sh CLI를 통해 AI 아바타 및 토킹 헤드 영상을 생성합니다. 권장: P-Video-Avatar (가장 빠르고 저렴하며 TTS 내장). 추가: OmniHuman, Fabric, PixVerse. 오디오: Inworld TTS-2 (100개 이상 언어, 캐릭터 감정 조절), ElevenLabs, Kokoro. 기능: 오디오 기반 아바타, 텍스트-투-아바타, 립싱크 영상, 토킹 헤드 생성, 가상 프레젠터, UGC 콘텐츠. 용도: AI 프레젠터, 설명 영상, 가상 인플루언서, 더빙, 마케팅 영상, UGC 광고, 게이밍 아바타,...
videocreativemedia
agent-browser
halt-catch-fire
inference.sh를 통한 AI 에이전트용 브라우저 자동화. @e 참조를 사용하여 웹 페이지 탐색, 요소와 상호작용, 스크린샷 촬영, 비디오 녹화. 기능: 웹 스크래핑, 양식 작성, 클릭, 타이핑, 드래그 앤 드롭, 파일 업로드, JavaScript 실행. 용도: 웹 자동화, 데이터 추출, 테스트, 에이전트 브라우징, 연구. 트리거: 브라우저, 웹 자동화, 스크래핑, 탐색, 클릭, 양식 작성, 스크린샷, 웹 브라우징, Playwright, 헤드리스 브라우저, 웹 에이전트, 인터넷 서핑, 비디오 녹화
browser-automationweb-scrapingtesting
web-search
halt-catch-fire
Tavily와 Exa를 통해 inference.sh CLI로 웹 검색 및 콘텐츠 추출. 앱: Tavily Search, Tavily Extract, Exa Search, Exa Answer, Exa Extract. 기능: AI 기반 검색, 콘텐츠 추출, 직접 답변, 리서치. 용도: 리서치, RAG 파이프라인, 사실 확인, 콘텐츠 수집, 에이전트. 트리거: 웹 검색, tavily, exa, search api, 콘텐츠 추출, 리서치, 인터넷 검색, ai 검색, 검색 어시스턴트, 웹 스크래핑, rag, perplexity 대안
researchweb-scrapingapi
infsh-cli
halt-catch-fire
inference.sh CLI를 통해 250개 이상의 AI 앱 실행 - 이미지 생성, 비디오 제작, LLM, 검색, 3D, Twitter 자동화. 모델: FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, OpenRouter 등 다수. AI 앱 실행, 이미지/비디오 생성, LLM 호출, 웹 검색 또는 Twitter 자동화 시 사용. 트리거: inference.sh, infsh, ai model, run ai, serverless ai, ai api, flux, veo, claude api, image generation, video generation, openrouter, tavily, exa search, twitter api, grok
developmentapicreative
landing-page-design
halt-catch-fire
랜딩 페이지 전환 최적화: 레이아웃 규칙, 히어로 섹션 디자인, CTA 심리학 포함. 어바우드 더 폴드 공식, 소셜 프루프 배치, 모바일 디자인, F-패턴 리딩을 다룹니다. 사용처: 스타트업 랜딩 페이지, 제품 페이지, SaaS 마케팅, 전환 최적화. 트리거: 랜딩 페이지, 히어로 섹션, 어바우드 더 폴드, 전환 최적화, 랜딩 페이지 디자인, CTA 버튼, 히어로 이미지, 랜딩 페이지 레이아웃, SaaS 랜딩 페이지, 제품 페이지 디자인, 전환율, 랜딩 페이지...