Product Media Suite
Generate a complete product media package — photography, lifestyle shots, video, and social assets — 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.
Step 1: Hero Product 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 hero product photograph of a premium wireless speaker: cylindrical brushed aluminum body with a fabric mesh grille, placed on a white marble surface, soft studio lighting with a gentle shadow, clean white background, three-quarter angle showing the top controls and front grille, commercial product photography"
}
],
"stream": false
}'
Step 2: Lifestyle Context 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 lifestyle product photograph of a premium wireless speaker on a wooden side table in a modern living room, soft afternoon light from large windows, a person relaxing on a couch in the background reading a book, warm inviting atmosphere, the speaker as the subtle hero of the scene, editorial lifestyle photography"
}
],
"stream": false
}'
Step 3: Product Video
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": "A short product reveal video: a premium wireless speaker slowly rotating on a turntable, dramatic lighting highlighting the brushed aluminum finish and fabric mesh texture, soft reflections, dark background, smooth 360-degree rotation, commercial product video style"}
]
}
],
"stream": false
}'
Full Pipeline in Python
from openai import OpenAI
client = OpenAI(
api_key="YOUR_EACHLABS_API_KEY",
base_url="https://eachsense-agent.core.eachlabs.run/v1"
)
PRODUCT = "premium wireless speaker, cylindrical brushed aluminum body with fabric mesh grille"
STYLE = "clean modern, warm tones, commercial quality"
media_suite = {
"hero_shot": f"Hero product photo: {PRODUCT} on white marble, soft studio lighting, white background, three-quarter angle, {STYLE}",
"detail_closeup": f"Detail close-up: extreme macro of the {PRODUCT} fabric mesh texture and aluminum edge, shallow depth of field, studio lighting, {STYLE}",
"lifestyle_living": f"Lifestyle shot: {PRODUCT} on a side table in a modern living room, person reading on couch, afternoon window light, {STYLE}",
"lifestyle_outdoor": f"Lifestyle shot: {PRODUCT} on a patio table during a summer gathering, friends in background, golden hour, {STYLE}",
"flat_lay": f"Flat lay: {PRODUCT} with charging cable, user manual, and packaging arranged on a clean surface, overhead view, unboxing aesthetic, {STYLE}",
"social_square": f"Instagram post: {PRODUCT} in a minimal setting with a coffee cup and plant, warm light, square composition, {STYLE}",
"social_story": f"Instagram Story: hand reaching to tap the top of the {PRODUCT}, close-up vertical format, warm light, {STYLE}"
}
for asset_name, prompt in media_suite.items():
print(f"Generating {asset_name}...")
response = client.chat.completions.create(
model="eachsense/beta",
messages=[{"role": "user", "content": prompt}]
)
print(f" {asset_name}: {response.choices[0].message.content}")
print("---")
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.
Tips for Product Media Suites
- Define the product precisely once — Create a reusable product description string.
- Maintain visual consistency — Same product appearance, lighting temperature, and color grading.
- Cover all e-commerce needs — Hero shot, detail, lifestyle, group, and size comparison.
- Plan for each platform — Amazon (white background), Shopify (lifestyle), social media (engaging).
- Generate video last — Use the best still image as a reference for animation.
Examples
E-Commerce Complete Package
PRODUCT="matte black ceramic coffee mug with a wooden handle"
# White background (Amazon/Shopify)
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 $PRODUCT centered on pure white background, soft even studio lighting, no shadows, product isolated, e-commerce product photo, front view\"}],
\"stream\": false
}"
# Lifestyle (brand website)
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 $PRODUCT filled with steaming coffee on a rustic wooden desk next to an open book, morning sunlight streaming in, cozy home office atmosphere, lifestyle product photography\"}],
\"stream\": false
}"
# 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\": \"Extreme close-up detail shot of a $PRODUCT showing the matte ceramic texture and the grain of the wooden handle, shallow depth of field, studio macro photography\"}],
\"stream\": false
}"
Workflow: Product Media Suite Pipeline
- Define the product — Create a precise product description string.
- Generate hero shots — White background and styled product photography.
- Create detail close-ups — Texture, material, and feature close-ups.
- Produce lifestyle scenes — Product in real-world usage contexts.
- Generate social media variants — Platform-specific crops and compositions.
- Create product video — Use hero shot as reference for animated reveal.
- Prepare for platforms — Export in required formats for each sales channel.
Related Skills
Related Models
Documentation
1---2name: product-media-suite3description: Generate a full product media package using each::sense AI. Create product photography, lifestyle shots, video content, and social media assets for a single product in one workflow. Produce hero shots, context scenes, detail close-ups, unboxing sequences, and promotional videos. Use for: product photography, product media, e-commerce assets, product launch media, complete product visuals. Triggers: product media, product suite, product photography, product video, product assets, e-commerce media, product launch, product visuals, full product media, product package4---56# Product Media Suite78Generate a complete product media package — photography, lifestyle shots, video, and social assets — 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### Step 1: Hero Product Shot1516```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 hero product photograph of a premium wireless speaker: cylindrical brushed aluminum body with a fabric mesh grille, placed on a white marble surface, soft studio lighting with a gentle shadow, clean white background, three-quarter angle showing the top controls and front grille, commercial product photography"25 }26 ],27 "stream": false28 }'29```3031### Step 2: Lifestyle Context Shot3233```bash34curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \35 -H "Content-Type: application/json" \36 -H "X-API-Key: $EACHLABS_API_KEY" \37 -d '{38 "messages": [39 {40 "role": "user",41 "content": "A lifestyle product photograph of a premium wireless speaker on a wooden side table in a modern living room, soft afternoon light from large windows, a person relaxing on a couch in the background reading a book, warm inviting atmosphere, the speaker as the subtle hero of the scene, editorial lifestyle photography"42 }43 ],44 "stream": false45 }'46```4748### Step 3: Product Video4950```bash51curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \52 -H "Content-Type: application/json" \53 -H "X-API-Key: $EACHLABS_API_KEY" \54 -d '{55 "messages": [56 {57 "role": "user",58 "content": [59 {"type": "text", "text": "A short product reveal video: a premium wireless speaker slowly rotating on a turntable, dramatic lighting highlighting the brushed aluminum finish and fabric mesh texture, soft reflections, dark background, smooth 360-degree rotation, commercial product video style"}60 ]61 }62 ],63 "stream": false64 }'65```6667### Full Pipeline in Python6869```python70from openai import OpenAI7172client = OpenAI(73 api_key="YOUR_EACHLABS_API_KEY",74 base_url="https://eachsense-agent.core.eachlabs.run/v1"75)7677PRODUCT = "premium wireless speaker, cylindrical brushed aluminum body with fabric mesh grille"78STYLE = "clean modern, warm tones, commercial quality"7980media_suite = {81 "hero_shot": f"Hero product photo: {PRODUCT} on white marble, soft studio lighting, white background, three-quarter angle, {STYLE}",82 "detail_closeup": f"Detail close-up: extreme macro of the {PRODUCT} fabric mesh texture and aluminum edge, shallow depth of field, studio lighting, {STYLE}",83 "lifestyle_living": f"Lifestyle shot: {PRODUCT} on a side table in a modern living room, person reading on couch, afternoon window light, {STYLE}",84 "lifestyle_outdoor": f"Lifestyle shot: {PRODUCT} on a patio table during a summer gathering, friends in background, golden hour, {STYLE}",85 "flat_lay": f"Flat lay: {PRODUCT} with charging cable, user manual, and packaging arranged on a clean surface, overhead view, unboxing aesthetic, {STYLE}",86 "social_square": f"Instagram post: {PRODUCT} in a minimal setting with a coffee cup and plant, warm light, square composition, {STYLE}",87 "social_story": f"Instagram Story: hand reaching to tap the top of the {PRODUCT}, close-up vertical format, warm light, {STYLE}"88}8990for asset_name, prompt in media_suite.items():91 print(f"Generating {asset_name}...")92 response = client.chat.completions.create(93 model="eachsense/beta",94 messages=[{"role": "user", "content": prompt}]95 )96 print(f" {asset_name}: {response.choices[0].message.content}")97 print("---")98```99100### Streaming101102Set `"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.103104## Tips for Product Media Suites105106- **Define the product precisely once** — Create a reusable product description string.107- **Maintain visual consistency** — Same product appearance, lighting temperature, and color grading.108- **Cover all e-commerce needs** — Hero shot, detail, lifestyle, group, and size comparison.109- **Plan for each platform** — Amazon (white background), Shopify (lifestyle), social media (engaging).110- **Generate video last** — Use the best still image as a reference for animation.111112## Examples113114### E-Commerce Complete Package115116```bash117PRODUCT="matte black ceramic coffee mug with a wooden handle"118119# White background (Amazon/Shopify)120curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \121 -H "Content-Type: application/json" \122 -H "X-API-Key: $EACHLABS_API_KEY" \123 -d "{124 \"messages\": [{\"role\": \"user\", \"content\": \"A $PRODUCT centered on pure white background, soft even studio lighting, no shadows, product isolated, e-commerce product photo, front view\"}],125 \"stream\": false126 }"127128# Lifestyle (brand website)129curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \130 -H "Content-Type: application/json" \131 -H "X-API-Key: $EACHLABS_API_KEY" \132 -d "{133 \"messages\": [{\"role\": \"user\", \"content\": \"A $PRODUCT filled with steaming coffee on a rustic wooden desk next to an open book, morning sunlight streaming in, cozy home office atmosphere, lifestyle product photography\"}],134 \"stream\": false135 }"136137# Detail close-up138curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \139 -H "Content-Type: application/json" \140 -H "X-API-Key: $EACHLABS_API_KEY" \141 -d "{142 \"messages\": [{\"role\": \"user\", \"content\": \"Extreme close-up detail shot of a $PRODUCT showing the matte ceramic texture and the grain of the wooden handle, shallow depth of field, studio macro photography\"}],143 \"stream\": false144 }"145```146147## Workflow: Product Media Suite Pipeline1481491. **Define the product** — Create a precise product description string.1502. **Generate hero shots** — White background and styled product photography.1513. **Create detail close-ups** — Texture, material, and feature close-ups.1524. **Produce lifestyle scenes** — Product in real-world usage contexts.1535. **Generate social media variants** — Platform-specific crops and compositions.1546. **Create product video** — Use hero shot as reference for animated reveal.1557. **Prepare for platforms** — Export in required formats for each sales channel.156157## Related Skills158159- [Social Media Batch](../social-media-batch/SKILL.md) — Multi-platform social content160- [Image to Video Pipeline](../image-to-video-pipeline/SKILL.md) — Animate product shots161- [Text to Multimedia](../text-to-multimedia/SKILL.md) — Full multimedia from text162- [AI Ad Creative](../../marketing/ai-ad-creative/SKILL.md) — Ad creatives for product promotion163164## Related Models165166- [flux-2-max](../../../models/flux-2-max/SKILL.md) — Photorealistic product renders167- [seedream-v4-5](../../../models/seedream-v4-5/SKILL.md) — Lifestyle and creative shots168- [nano-banana-pro](../../../models/nano-banana-pro/SKILL.md) — Fast product iterations169170## Documentation171172- [each::sense Overview](https://docs.eachlabs.ai/sense/overview)173- [each::labs API](https://docs.eachlabs.ai)