Agent skill
character-design-sheet
Character consistency across AI-generated images with reference sheets and LoRA techniques. Covers turnaround views, expression sheets, color palettes, and style consistency tricks. Use for: character design, game art, illustration, animation, comics, visual novels. Triggers: character design, character sheet, character consistency, character reference, turnaround sheet, expression sheet, character art, consistent character, character concept, reference sheet, character creation, oc design, character bible
Install this agent skill to your Project
npx add-skill https://github.com/inference-sh/skills/tree/main/guides/design/character-design-sheet
SKILL.md
Character Design Sheet
Create consistent characters across multiple AI-generated images via inference.sh CLI.
Quick Start
Requires inference.sh CLI (
infsh). Install instructions
infsh login
# Generate a character concept
infsh 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)
| Technique | Consistency | Effort | Best For |
|---|---|---|---|
| FLUX LoRA (trained on character) | Very high | High (requires training data) | Ongoing projects, many images |
| Detailed description anchor | Medium-high | Low | Quick projects, few images |
| Same seed + similar prompt | Medium | Low | Variations of single pose |
| Image-to-image refinement | Medium | Medium | Refining existing images |
| Reference image in prompt | Varies | Low | When 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
infsh 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)
infsh 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
infsh 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
infsh 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
infsh 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
infsh 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
infsh 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
infsh 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:
| Outfit | Description |
|---|---|
| Casual | Bomber jacket, t-shirt, jeans |
| Work | Blazer, button-down, slacks |
| Athletic | Sports bra, leggings, running shoes |
| Formal | Evening 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
| Style | Head-to-Body Ratio | Best For |
|---|---|---|
| Realistic | 7.5 : 1 | Film, photorealistic |
| Heroic | 8 : 1 | Superheroes, action |
| Anime/Manga | 5-6 : 1 | Japanese animation style |
| Stylized | 4-5 : 1 | Western animation |
| Chibi/Super-deformed | 2-3 : 1 | Cute, 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
infsh 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
| Issue | Why It Happens | Mitigation |
|---|---|---|
| Hair color drift | Model interprets "red hair" differently each time | Use specific shade: "auburn red #C0392B" |
| Eye color change | Low priority in generation | Mention eye color early in prompt |
| Outfit inconsistency | Model fills in details creatively | Describe every clothing item explicitly |
| Age shift | Vague age description | Use "mid-twenties" not "young" |
| Face structure change | Different generations = different faces | Use LoRA or same seed base |
| Proportion shift | Style interpretation varies | Specify "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
| Mistake | Problem | Fix |
|---|---|---|
| Vague descriptions | Different character every time | 50+ word detailed anchor |
| Inconsistent prompt structure | Varying emphasis = varying results | Same structure, only change action/scene |
| Generating one view only | Can't use character in different contexts | Create full turnaround reference |
| No color documentation | Colors drift across generations | Record exact hex codes |
| Skipping expression sheet | Character feels one-dimensional | Generate 6+ expressions |
| Not using LoRA for big projects | Inconsistency compounds | Train 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: infsh app list
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ui
Batteries-included agent component for React/Next.js from ui.inference.sh. One component with runtime, tools, streaming, approvals, and widgets built in. Capabilities: drop-in agent, human-in-the-loop, client-side tools, form filling. Use for: building AI chat interfaces, agentic UIs, SaaS copilots, assistants. Triggers: agent component, agent ui, chat agent, shadcn agent, react agent, agentic ui, ai assistant ui, copilot ui, inference ui, human in the loop
chat-ui
Chat UI building blocks for React/Next.js from ui.inference.sh. Components: container, messages, input, typing indicators, avatars. Capabilities: chat interfaces, message lists, input handling, streaming. Use for: building custom chat UIs, messaging interfaces, AI assistants. Triggers: chat ui, chat component, message list, chat input, shadcn chat, react chat, chat interface, messaging ui, conversation ui, chat building blocks
tools-ui
Tool lifecycle UI components for React/Next.js from ui.inference.sh. Display tool calls: pending, progress, approval required, results. Capabilities: tool status, progress indicators, approval flows, results display. Use for: showing agent tool calls, human-in-the-loop approvals, tool output. Triggers: tool ui, tool calls, tool status, tool approval, tool results, agent tools, mcp tools ui, function calling ui, tool lifecycle, tool pending
widgets-ui
Declarative UI widgets from JSON for React/Next.js from ui.inference.sh. Render rich interactive UIs from structured agent responses. Capabilities: forms, buttons, cards, layouts, inputs, selects, checkboxes. Use for: agent-generated UIs, dynamic forms, data display, interactive cards. Triggers: widgets, declarative ui, json ui, widget renderer, agent widgets, dynamic ui, form widgets, card widgets, shadcn widgets, structured output ui
web-search
Web search and content extraction with Tavily and Exa via inference.sh CLI. Apps: Tavily Search, Tavily Extract, Exa Search, Exa Answer, Exa Extract. Capabilities: AI-powered search, content extraction, direct answers, research. Use for: research, RAG pipelines, fact-checking, content aggregation, agents. Triggers: web search, tavily, exa, search api, content extraction, research, internet search, ai search, search assistant, web scraping, rag, perplexity alternative
ai-rag-pipeline
Build RAG (Retrieval Augmented Generation) pipelines with web search and LLMs. Tools: Tavily Search, Exa Search, Exa Answer, Claude, GPT-4, Gemini via OpenRouter. Capabilities: research, fact-checking, grounded responses, knowledge retrieval. Use for: AI agents, research assistants, fact-checkers, knowledge bases. Triggers: rag, retrieval augmented generation, grounded ai, search and answer, research agent, fact checking, knowledge retrieval, ai research, search + llm, web grounded, perplexity alternative, ai with sources, citation, research pipeline
Didn't find tool you were looking for?