AI Fashion Lookbook
Generate complete fashion lookbook imagery and layouts using each::sense — the intelligent AI agent that automatically selects the best model for your request.
Quick Start
Requires an each::labs API key. Get one at eachlabs.ai.
Using curl
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"messages": [
{
"role": "user",
"content": "A fashion lookbook photo: a model wearing a flowing maxi dress in terracotta, walking through a sunlit olive grove in Tuscany. Wind catching the fabric, golden hour, editorial photography, full body shot, warm color grading, Vogue style"
}
],
"stream": false
}'
Using Python (OpenAI SDK)
from openai import OpenAI
client = OpenAI(
api_key="YOUR_EACHLABS_API_KEY",
base_url="https://eachsense-agent.core.eachlabs.run/v1"
)
response = client.chat.completions.create(
model="eachsense/beta",
messages=[{
"role": "user",
"content": "A fashion lookbook photo: a model wearing a flowing maxi dress in terracotta, walking through a sunlit olive grove in Tuscany. Wind catching the fabric, golden hour, editorial photography, full body shot, warm color grading, Vogue style"
}]
)
print(response.choices[0].message.content)
With Reference Image
Provide a mood board or sample look for the collection aesthetic:
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"messages": [
{
"role": "user",
"content": [
{"type": "text", "text": "Create a lookbook photo matching this mood and color palette. A model in a structured wool coat and turtleneck, same visual tone and lighting style as the reference. Urban winter setting, overcast sky, editorial fashion photography."},
{"type": "image_url", "image_url": {"url": "https://example.com/mood-board.jpg"}}
]
}
],
"stream": false
}'
Images are sent inside messages using the OpenAI multimodal content format. Maximum 4 images per request.
Streaming
Set "stream": true for real-time SSE responses, or "stream": false for complete result in a single response. Streaming is useful for showing progress in UIs; non-streaming is simpler for scripts and automation.
Lookbook Themes
| Theme |
Setting |
Color Palette |
Season |
| Mediterranean Summer |
olive groves, white walls, coast |
terracotta, white, sky blue |
SS |
| Nordic Winter |
snow, concrete, birch forests |
ivory, charcoal, pale blue |
AW |
| Urban Night |
city lights, neon, rain-wet streets |
black, silver, electric blue |
AW |
| Desert Modernist |
desert, mid-century architecture |
sand, rust, sage |
Resort |
| Parisian Spring |
cafes, gardens, architecture |
blush, cream, dusty blue |
SS |
| Industrial Raw |
warehouses, steel, exposed brick |
grey, khaki, raw denim |
Pre-Fall |
Prompt Engineering Tips
Prompt Structure
"A fashion lookbook photo:" + [model description] + [outfit details] + [setting/location] + [mood/atmosphere] + [photography style] + [camera details]
Consistency Across Looks
For a cohesive lookbook, keep these elements constant across all prompts:
- Location type (same setting or setting category)
- Lighting (golden hour, overcast, studio)
- Color grading (warm, cool, desaturated)
- Photography style (editorial, commercial, street)
- Model description (same height, hair, build)
Examples
Look 1 — Hero Shot
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"messages": [
{
"role": "user",
"content": "A fashion lookbook hero shot: a tall female model with slicked-back dark hair wearing a sculptural white blazer with exaggerated shoulders over a matching wide-leg trouser. Standing on a rooftop overlooking a city at dusk. Dramatic side lighting, strong shadow, high fashion editorial, shot from low angle, desaturated teal and warm amber color grade"
}
],
"stream": false
}'
Look 2 — Detail Close-Up
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"messages": [
{
"role": "user",
"content": "A fashion lookbook detail shot: close-up on hands adjusting the cuff of a cream silk blouse, delicate pearl button visible, soft natural light from a window, shallow depth of field, minimal warm-toned editorial photography, macro lens feel"
}
],
"stream": false
}'
Look 3 — Lifestyle Context
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"messages": [
{
"role": "user",
"content": "A fashion lookbook lifestyle shot: a model in a camel cashmere overcoat and cream scarf, walking through a misty Parisian street with bare autumn trees. Candid mid-stride movement, film photography aesthetic with slight grain, warm desaturated tones, full body shot"
}
],
"stream": false
}'
Collection Workflow: Seasonal Lookbook
COLLECTION_THEME="Autumn/Winter collection, Nordic minimalism, muted earth tones, overcast natural light, editorial fashion photography"
LOOKS=(
"Look 1: oversized charcoal wool coat over cream cable-knit sweater and dark brown leather trousers, standing in a birch forest"
"Look 2: camel turtleneck dress belted at the waist with cognac leather boots, seated on a concrete bench in an urban park"
"Look 3: layered outfit — grey knit vest over white poplin shirt with wide olive trousers, walking along a misty lakefront"
"Look 4: black tailored suit with an open-neck silk shirt in ivory, leaning against a steel railing at a modernist building"
"Look 5: chunky cream fisherman sweater with a long pleated skirt in heather grey, standing on weathered wooden pier"
)
for LOOK in "${LOOKS[@]}"; do
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d "{
\"messages\": [{\"role\": \"user\", \"content\": \"A fashion lookbook photo: female model with short auburn hair, $LOOK. $COLLECTION_THEME, full body shot, Vogue Scandinavia style\"}],
\"stream\": false
}"
echo "=== $LOOK ==="
done
Shot List for a Complete Lookbook
- Hero / Cover — full body, dramatic composition, establishes the collection mood
- Full Length Front — clean front-facing shot showing complete outfit
- Three-Quarter Turn — shows garment from an angled perspective
- Detail Close-Up — fabric texture, buttons, stitching, jewelry
- Back View — reveals back design elements
- Lifestyle / Movement — model walking, turning, interacting with environment
- Group / Pairing — two looks styled together for contrast
Common Pitfalls
- Inconsistent model across shots — repeat the exact same model description in every prompt.
- Mixed photography styles — keep the same camera, lighting, and grading keywords throughout.
- Overly complex backgrounds that distract from the garments. The setting should complement, not compete.
- Ignoring negative space — lookbooks need breathing room for text overlays in final layout.
Related Skills
Related Models
Documentation
1---2name: ai-fashion-lookbook3description: Generate complete fashion lookbook layouts using each::sense AI. Create cohesive multi-look editorial spreads with consistent styling, themed collections, and professional compositions for seasonal campaigns, brand launches, and fashion portfolios. Use for: fashion collections, seasonal lookbooks, brand campaigns, editorial spreads, portfolio presentation, fashion marketing. Triggers: fashion lookbook, lookbook generator, fashion collection, editorial spread, seasonal collection, lookbook layout, fashion campaign, brand lookbook, collection showcase, style book4---56# AI Fashion Lookbook78Generate complete fashion lookbook imagery and layouts using [each::sense](https://docs.eachlabs.ai/sense/overview) — the intelligent AI agent that automatically selects the best model for your request.910## Quick Start1112> Requires an each::labs API key. Get one at [eachlabs.ai](https://eachlabs.ai).1314### Using curl1516```bash17curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \18 -H "Content-Type: application/json" \19 -H "X-API-Key: $EACHLABS_API_KEY" \20 -d '{21 "messages": [22 {23 "role": "user",24 "content": "A fashion lookbook photo: a model wearing a flowing maxi dress in terracotta, walking through a sunlit olive grove in Tuscany. Wind catching the fabric, golden hour, editorial photography, full body shot, warm color grading, Vogue style"25 }26 ],27 "stream": false28 }'29```3031### Using Python (OpenAI SDK)3233```python34from openai import OpenAI3536client = OpenAI(37 api_key="YOUR_EACHLABS_API_KEY",38 base_url="https://eachsense-agent.core.eachlabs.run/v1"39)4041response = client.chat.completions.create(42 model="eachsense/beta",43 messages=[{44 "role": "user",45 "content": "A fashion lookbook photo: a model wearing a flowing maxi dress in terracotta, walking through a sunlit olive grove in Tuscany. Wind catching the fabric, golden hour, editorial photography, full body shot, warm color grading, Vogue style"46 }]47)4849print(response.choices[0].message.content)50```5152### With Reference Image5354Provide a mood board or sample look for the collection aesthetic:5556```bash57curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \58 -H "Content-Type: application/json" \59 -H "X-API-Key: $EACHLABS_API_KEY" \60 -d '{61 "messages": [62 {63 "role": "user",64 "content": [65 {"type": "text", "text": "Create a lookbook photo matching this mood and color palette. A model in a structured wool coat and turtleneck, same visual tone and lighting style as the reference. Urban winter setting, overcast sky, editorial fashion photography."},66 {"type": "image_url", "image_url": {"url": "https://example.com/mood-board.jpg"}}67 ]68 }69 ],70 "stream": false71 }'72```7374> Images are sent inside messages using the OpenAI multimodal content format. Maximum 4 images per request.7576### Streaming7778Set `"stream": true` for real-time SSE responses, or `"stream": false` for complete result in a single response. Streaming is useful for showing progress in UIs; non-streaming is simpler for scripts and automation.7980## Lookbook Themes8182| Theme | Setting | Color Palette | Season |83|-------|---------|---------------|--------|84| **Mediterranean Summer** | olive groves, white walls, coast | terracotta, white, sky blue | SS |85| **Nordic Winter** | snow, concrete, birch forests | ivory, charcoal, pale blue | AW |86| **Urban Night** | city lights, neon, rain-wet streets | black, silver, electric blue | AW |87| **Desert Modernist** | desert, mid-century architecture | sand, rust, sage | Resort |88| **Parisian Spring** | cafes, gardens, architecture | blush, cream, dusty blue | SS |89| **Industrial Raw** | warehouses, steel, exposed brick | grey, khaki, raw denim | Pre-Fall |9091## Prompt Engineering Tips9293### Prompt Structure9495```96"A fashion lookbook photo:" + [model description] + [outfit details] + [setting/location] + [mood/atmosphere] + [photography style] + [camera details]97```9899### Consistency Across Looks100101For a cohesive lookbook, keep these elements constant across all prompts:102- **Location type** (same setting or setting category)103- **Lighting** (golden hour, overcast, studio)104- **Color grading** (warm, cool, desaturated)105- **Photography style** (editorial, commercial, street)106- **Model description** (same height, hair, build)107108## Examples109110### Look 1 — Hero Shot111112```bash113curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \114 -H "Content-Type: application/json" \115 -H "X-API-Key: $EACHLABS_API_KEY" \116 -d '{117 "messages": [118 {119 "role": "user",120 "content": "A fashion lookbook hero shot: a tall female model with slicked-back dark hair wearing a sculptural white blazer with exaggerated shoulders over a matching wide-leg trouser. Standing on a rooftop overlooking a city at dusk. Dramatic side lighting, strong shadow, high fashion editorial, shot from low angle, desaturated teal and warm amber color grade"121 }122 ],123 "stream": false124 }'125```126127### Look 2 — Detail Close-Up128129```bash130curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \131 -H "Content-Type: application/json" \132 -H "X-API-Key: $EACHLABS_API_KEY" \133 -d '{134 "messages": [135 {136 "role": "user",137 "content": "A fashion lookbook detail shot: close-up on hands adjusting the cuff of a cream silk blouse, delicate pearl button visible, soft natural light from a window, shallow depth of field, minimal warm-toned editorial photography, macro lens feel"138 }139 ],140 "stream": false141 }'142```143144### Look 3 — Lifestyle Context145146```bash147curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \148 -H "Content-Type: application/json" \149 -H "X-API-Key: $EACHLABS_API_KEY" \150 -d '{151 "messages": [152 {153 "role": "user",154 "content": "A fashion lookbook lifestyle shot: a model in a camel cashmere overcoat and cream scarf, walking through a misty Parisian street with bare autumn trees. Candid mid-stride movement, film photography aesthetic with slight grain, warm desaturated tones, full body shot"155 }156 ],157 "stream": false158 }'159```160161## Collection Workflow: Seasonal Lookbook162163```bash164COLLECTION_THEME="Autumn/Winter collection, Nordic minimalism, muted earth tones, overcast natural light, editorial fashion photography"165166LOOKS=(167 "Look 1: oversized charcoal wool coat over cream cable-knit sweater and dark brown leather trousers, standing in a birch forest"168 "Look 2: camel turtleneck dress belted at the waist with cognac leather boots, seated on a concrete bench in an urban park"169 "Look 3: layered outfit — grey knit vest over white poplin shirt with wide olive trousers, walking along a misty lakefront"170 "Look 4: black tailored suit with an open-neck silk shirt in ivory, leaning against a steel railing at a modernist building"171 "Look 5: chunky cream fisherman sweater with a long pleated skirt in heather grey, standing on weathered wooden pier"172)173174for LOOK in "${LOOKS[@]}"; do175 curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \176 -H "Content-Type: application/json" \177 -H "X-API-Key: $EACHLABS_API_KEY" \178 -d "{179 \"messages\": [{\"role\": \"user\", \"content\": \"A fashion lookbook photo: female model with short auburn hair, $LOOK. $COLLECTION_THEME, full body shot, Vogue Scandinavia style\"}],180 \"stream\": false181 }"182 echo "=== $LOOK ==="183done184```185186## Shot List for a Complete Lookbook1871881. **Hero / Cover** — full body, dramatic composition, establishes the collection mood1892. **Full Length Front** — clean front-facing shot showing complete outfit1903. **Three-Quarter Turn** — shows garment from an angled perspective1914. **Detail Close-Up** — fabric texture, buttons, stitching, jewelry1925. **Back View** — reveals back design elements1936. **Lifestyle / Movement** — model walking, turning, interacting with environment1947. **Group / Pairing** — two looks styled together for contrast195196## Common Pitfalls197198- **Inconsistent model** across shots — repeat the exact same model description in every prompt.199- **Mixed photography styles** — keep the same camera, lighting, and grading keywords throughout.200- **Overly complex backgrounds** that distract from the garments. The setting should complement, not compete.201- **Ignoring negative space** — lookbooks need breathing room for text overlays in final layout.202203## Related Skills204205- [AI Fashion Model](../ai-fashion-model/SKILL.md) — Individual model shots206- [AI Outfit Generator](../ai-outfit-generator/SKILL.md) — Outfit creation and styling207- [AI Fabric Pattern](../ai-fabric-pattern/SKILL.md) — Custom textile designs208- [AI Clothing Try-On](../ai-clothing-try-on/SKILL.md) — Virtual try-on for real people209210## Related Models211212- [flux-2-max](../../../models/flux-2-max/SKILL.md) — Highest quality image generation213- [seedream-v4-5](../../../models/seedream-v4-5/SKILL.md) — Creative and artistic styles214- [nano-banana-pro](../../../models/nano-banana-pro/SKILL.md) — Fast iterations215216## Documentation217218- [each::sense Overview](https://docs.eachlabs.ai/sense/overview)219- [each::labs API](https://docs.eachlabs.ai)