算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
ai-virtual-staging【设计与创意】Stage empty rooms with virtual furniture using each::sense AI. Transform vacant property photos into beautifully furnished spaces with realistic furniture, decor, and lighting. Supports living rooms, bedrooms, kitchens, offices, and commercial spaces in any style. Use for: real estate listings, property marketing, home staging, interior visualization…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Stage empty rooms with photorealistic virtual furniture and decor using each::sense — the intelligent AI agent that automatically selects the best model for your request.
Requires an each::labs API key. Get one at eachlabs.ai.
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": "Stage this empty living room with modern Scandinavian furniture: a light grey sectional sofa, a round walnut coffee table, a cream wool rug, floor-standing brass lamp, and two small potted plants. Keep the original room architecture, flooring, and windows exactly as they are. Photorealistic staging."},
{"type": "image_url", "image_url": {"url": "https://example.com/empty-living-room.jpg"}}
]
}
],
"stream": false
}'
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": "Stage this empty living room with modern Scandinavian furniture: a light grey sectional sofa, a round walnut coffee table, a cream wool rug, floor-standing brass lamp, and two small potted plants. Keep the original room architecture, flooring, and windows exactly as they are. Photorealistic staging."
}],
# Images are included in the message content array above
)
print(response.choices[0].message.content)
Always provide a photo of the empty room. Optionally add a style reference:
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": "Stage the empty room in the first image using the furniture style shown in the second image. Match the aesthetic, color palette, and level of furnishing. Keep the original room layout and architecture intact. Photorealistic result."},
{"type": "image_url", "image_url": {"url": "https://example.com/empty-room.jpg"}},
{"type": "image_url", "image_url": {"url": "https://example.com/style-reference.jpg"}}
]
}
],
"stream": false
}'
Images are sent inside messages using the OpenAI multimodal content format. Maximum 4 images per request.
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.
| Style | Characteristics | Best For |
|---|---|---|
| Modern Scandinavian | light wood, clean lines, neutral palette, minimal | apartments, condos |
| Mid-Century Modern | walnut, tapered legs, organic shapes, muted tones | vintage-character homes |
| Contemporary Luxury | marble, brass, velvet, statement lighting | high-end listings |
| Farmhouse | shiplap, distressed wood, linen, warm whites | suburban homes |
| Industrial Loft | metal, exposed materials, leather, Edison bulbs | lofts, converted spaces |
| Coastal | white, blue, natural textures, rattan, driftwood | beach properties |
| Urban Minimalist | monochrome, few pieces, high-impact, geometric | city apartments |
"Stage this empty [room type] with [style] furniture:" + [specific furniture items] + "Keep the original [preserved elements]. Photorealistic staging."
Always explicitly state what should remain unchanged:
Keep the original room architecture, walls, flooring, windows,
ceiling, and natural lighting exactly as they are.
Be concrete about furniture instead of vague:
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": "Stage this empty bedroom with a queen-size upholstered bed in soft grey with white linen bedding, two oak nightstands with ceramic table lamps, a woven jute rug, and sheer white curtains. Modern Scandinavian style. Keep the original hardwood floor, walls, and window. Photorealistic result, real estate photography quality."},
{"type": "image_url", "image_url": {"url": "https://example.com/empty-bedroom.jpg"}}
]
}
],
"stream": false
}'
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": "Stage this empty kitchen dining area with a rectangular oak dining table and six black Windsor chairs, a pendant light fixture over the table, a small vase with eucalyptus branches, and placemats. Farmhouse style. Preserve the existing kitchen cabinets, countertops, and appliances. Photorealistic, natural daylight."},
{"type": "image_url", "image_url": {"url": "https://example.com/empty-kitchen-dining.jpg"}}
]
}
],
"stream": false
}'
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": "Stage this empty room as a home office: walnut standing desk with a monitor, ergonomic mesh chair, wall-mounted floating shelves with books and small plants, a floor lamp with warm light, and a geometric area rug. Contemporary minimalist style. Keep original walls, floor, and window. Photorealistic, professional real estate photo."},
{"type": "image_url", "image_url": {"url": "https://example.com/empty-room.jpg"}}
]
}
],
"stream": false
}'
ROOM_PHOTO="https://example.com/empty-living-room.jpg"
STYLES=(
"modern Scandinavian: light grey sofa, birch coffee table, white wool rug, minimalist decor"
"mid-century modern: teal velvet sofa, walnut credenza, sunburst mirror, warm brass accents"
"contemporary luxury: cream leather sectional, marble coffee table, gold floor lamp, abstract art"
)
for STYLE in "${STYLES[@]}"; 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\": \"Stage this empty living room with $STYLE. Keep all original architecture, flooring, and windows. Photorealistic real estate photography.\"}],
\"image_urls\": [\"$ROOM_PHOTO\"],
\"stream\": false
}"
echo "---"
done