character-design-sheet

tarafından halt-catch-fire

Referans sayfaları ve LoRA teknikleriyle yapay zeka tarafından oluşturulan görsellerde karakter tutarlılığı. Dönüş görünümleri, ifade sayfaları, renk paletleri ve stil tutarlılığı püf noktalarını kapsar. Kullanım alanları: karakter tasarımı, oyun sanatı, illüstrasyon, animasyon, çizgi roman, görsel roman. Tetikleyiciler: karakter tasarımı, karakter sayfası, karakter tutarlılığı, karakter referansı, dönüş sayfası, ifade sayfası, karakter sanatı, tutarlı karakter, karakter konsepti, referans sayfası, karakter oluşturma, oc tasarımı,...

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 tarafından daha fazla skill

ai-image-generation
halt-catch-fire
GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve ve inference.sh CLI üzerinden 50'den fazla model ile AI görselleri oluşturun. Modeller: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Yetenekler: metinden görsele, görselden görsele, iç boyama, LoRA, görsel düzenleme, yükseltme, metin oluşturma. Kullanım alanları: AI sanatı, ürün maketleri, konsept sanatı, sosyal medya grafikleri, pazarlama görselleri, illüstrasyonlar. Tetikleyiciler: flux, görsel oluşturma, ai görsel, metinden...
creativemediaimage
ai-video-generation
halt-catch-fire
Google Veo, Seedance 2.0, HappyHorse, Wan, Grok ve 40'tan fazla model ile inference.sh CLI üzerinden yapay zeka videoları oluşturun. Modeller: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Yetenekler: metinden videoya, görüntüden videoya, referanstan videoya, video düzenleme, dudak senkronizasyonu, avatar animasyonu, video yükseltme, foley ses. Kullanım alanları: sosyal medya videoları, pazarlama içerikleri, açıklayıcı videolar, ürün tanıtımları, yapay zeka avatarları. Tetikleyiciler: video oluşturma
creativevideomedia
twitter-automation
halt-catch-fire
Twitter/X otomasyonu: inference.sh CLI ile gönderi, etkileşim ve kullanıcı yönetimi. Uygulamalar: x/post-tweet, x/post-create (medya ile), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Yetenekler: tweet gönderme, içerik planlama, gönderi beğenme, retweet yapma, DM gönderme, kullanıcı takip etme, profil alma. Kullanım alanları: sosyal medya otomasyonu, içerik planlama, etkileşim botları, kitle büyütme, X API. Tetikleyiciler: twitter api, x api, tweet otomasyonu, twitter'a gönderi, twitter botu, sosyal medya otomasyonu, x...
marketingapicommunication
ai-avatar-video
halt-catch-fire
We need to translate the given text from English to Turkish. The target language is Türkçe. The directory item type is agent skill, and the name to preserve is "ai-avatar-video". The instruction says: "Translate only the text inside <text>. Do not include the name unless it appears in the source text." The name "ai-avatar-video" does not appear in the source text, so we should not include it. Also, do not include labels like "description", "server name", or "skill name". Just translate the content. The text: "Create AI avatar and talking head videos via inference.sh CLI. Recommended: P-Video-Avatar (fastest, cheapest, built-in TTS). Also: OmniHuman, Fabric, PixVerse. Audio: Inworld TTS-2 (100+ languages, emotion steering for characters), ElevenLabs, Kokoro. Capabilities: audio-driven avatars, text-to-avatar, lipsync videos, talking head generation, virtual presenters, UGC content. Use for: AI
videocreativemedia
agent-browser
halt-catch-fire
AI ajanları için inference.sh üzerinden tarayıcı otomasyonu. Web sayfalarında gezinme, @e referanslarıyla öğelerle etkileşim, ekran görüntüsü alma, video kaydetme. Yetenekler: web kazıma, form doldurma, tıklama, yazma, sürükle-bırak, dosya yükleme, JavaScript çalıştırma. Kullanım alanları: web otomasyonu, veri çıkarma, test, ajan taraması, araştırma. Tetikleyiciler: tarayıcı, web otomasyonu, kazıma, gezinme, tıklama, form doldurma, ekran görüntüsü, web'de gezinme, playwright, başsız tarayıcı, web ajanı, internette gezinme, video kaydetme
browser-automationweb-scrapingtesting
web-search
halt-catch-fire
We need to translate the given text from English to Turkish, preserving specific terms like "web-search", "Tavily", "Exa", "inference.sh CLI", "RAG", etc. The instruction says to preserve product names, protocol names, URLs, numbers, and technical terms. So "Tavily", "Exa", "inference.sh CLI", "RAG", "AI", "API" should remain as is. Also "web-search" is the name to preserve but it's not in the text? Actually the name is "web-search" but the text doesn't contain that exact string. The text has "web search" (two words). The instruction says "Do not include the name unless it appears in the source text." So we translate "web search" as "web araması" or similar? But careful: "web search" appears multiple times. We should translate it as "web araması" but keep technical terms like "Tavily Search" as is? The instruction says preserve product names. "Tavily Search
researchweb-scrapingapi
infsh-cli
halt-catch-fire
inference.sh CLI üzerinden 250'den fazla AI uygulamasını çalıştırın - görüntü oluşturma, video oluşturma, LLM'ler, arama, 3D, Twitter otomasyonu. Modeller: FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, OpenRouter ve daha fazlası. AI uygulamalarını çalıştırırken, görüntü/video oluştururken, LLM'leri çağırırken, web araması yaparken veya Twitter'ı otomatikleştirirken kullanın. Tetikleyiciler: 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
Açılış sayfası dönüşüm optimizasyonu; düzen kuralları, kahraman bölümü tasarımı ve CTA psikolojisi ile. Ekran üstü formülü, sosyal kanıt yerleşimi, mobil tasarım ve F-deseni okumayı kapsar. Kullanım alanları: startup açılış sayfaları, ürün sayfaları, SaaS pazarlama, dönüşüm optimizasyonu. Tetikleyiciler: açılış sayfası, kahraman bölümü, ekran üstü, dönüşüm optimizasyonu, açılış sayfası tasarımı, cta butonu, kahraman görseli, açılış sayfası düzeni, saas açılış sayfası, ürün sayfası tasarımı, dönüşüm oranı