mcpField
M
modelslab-interior-design

modelslab-interior-design

github.com/modelslab创意与媒体13183 次安装36 周前更新
代码仓库

关于 modelslab-interior-design

modelslab-interior-design 是用于室内外图像 AI 转换的技能。它通过 ModelsLab 端点提供室内改造、房间装饰、平面图生成、物体移除等功能。

主要功能

  1. 01重新设计室内空间
  2. 02按指定物品装饰房间
  3. 03根据图像生成平面图
  4. 04修复建筑外观
  5. 05更换场景并移除物体
  6. 06将物品合成到房间图像中

适用场景

  1. 01为房产挂牌布置空房间
  2. 02比较不同室内设计风格
  3. 03预览房间翻新方案
  4. 04制作房间从白天到夜晚的变化图

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/modelslab/skills --skill modelslab-interior-design

安装后在 Claude Code 中输入/modelslab-interior-design确认已加载。

详细介绍

ModelsLab 室内设计

AI 驱动的室内设计、房间装饰、平面图规划和建筑外观修复。

何时使用此技能

  • 重新设计室内空间
  • 借助 AI 装饰房间
  • 根据图像生成平面图
  • 转换房间风格和美学
  • 修复或增强建筑外观
  • 创建设计效果图和不同方案
  • 可视化翻新构想

可用端点

室内设计

POST https://modelslab.com/api/v6/interior/interior

房间装饰

POST https://modelslab.com/api/v6/interior/room_decorator

平面图规划

POST https://modelslab.com/api/v6/interior/floor_planning

建筑外观修复

POST https://modelslab.com/api/v6/interior/exterior_restorer

场景更换

POST https://modelslab.com/api/v6/interior/scenario_changer

移除对象

POST https://modelslab.com/api/v6/interior/object_removal

室内混合

POST https://modelslab.com/api/v6/interior/interior_mixer

室内改造

import requests

def redesign_interior(room_image, design_prompt, api_key):
    """Redesign an interior space based on a prompt.

    Args:
        room_image: URL of the room photo
        design_prompt: Description of desired design
        api_key: Your ModelsLab API key

    Returns:
        URL of the redesigned interior
    """
    response = requests.post(
        "https://modelslab.com/api/v6/interior/interior",
        json={
            "key": api_key,
            "init_image": room_image,
            "prompt": design_prompt,
            "negative_prompt": "low quality, distorted, unrealistic",
            "num_inference_steps": 31,  # 21, 31, or 41
            "guidance_scale": 7.5,
            "strength": 0.7
        }
    )

    data = response.json()

    if data["status"] == "success":
        return data["output"][0]
    else:
        raise Exception(f"Error: {data.get('message', 'Unknown error')}")

# Usage
redesigned = redesign_interior(
    "https://example.com/living-room.jpg",
    "Modern minimalist living room with Scandinavian furniture, white walls, natural light",
    "your_api_key"
)
print(f"Redesigned room: {redesigned}")

房间装饰

def decorate_room(room_image, decor_prompt, api_key, specific_object=None):
    """Decorate a room with AI-generated furniture and decor.

    Args:
        room_image: URL of the empty or basic room
        decor_prompt: Description of desired decoration
        specific_object: Specific furniture/decor item that must appear
    """
    payload = {
        "key": api_key,
        "init_image": room_image,
        "prompt": decor_prompt,
        "negative_prompt": "cluttered, low quality, distorted",
        "num_inference_steps": 31,
        "guidance_scale": 7.5,
        "strength": 0.8
    }

    if specific_object:
        payload["specific_object"] = specific_object

    response = requests.post(
        "https://modelslab.com/api/v6/interior/room_decorator",
        json=payload
    )

    data = response.json()

    if data["status"] == "success":
        return data["output"][0]
    else:
        raise Exception(data.get("message"))

# Decorate empty room
decorated = decorate_room(
    "https://example.com/empty-room.jpg",
    "Cozy bedroom with warm lighting, plants, wooden furniture",
    "your_api_key",
    specific_object="king size bed"
)
print(f"Decorated room: {decorated}")

平面图规划

def generate_floor_plan(room_image, api_key):
    """Generate a floor plan from a room image.

    Args:
        room_image: URL of room photo
        api_key: Your API key

    Returns:
        URL of the generated floor plan
    """
    response = requests.post(
        "https://modelslab.com/api/v6/interior/floor_planning",
        json={
            "key": api_key,
            "init_image": room_image
        }
    )

    data = response.json()

    if data["status"] == "success":
        return data["output"][0]
    else:
        raise Exception(data.get("message"))

# Generate floor plan
floor_plan = generate_floor_plan(
    "https://example.com/room-photo.jpg",
    "your_api_key"
)
print(f"Floor plan: {floor_plan}")

建筑外观修复

def restore_exterior(building_image, restoration_prompt, api_key):
    """Restore or enhance building exterior.

    Args:
        building_image: URL of building exterior photo
        restoration_prompt: Description of desired restoration
    """
    response = requests.post(
        "https://modelslab.com/api/v6/interior/exterior_restorer",
        json={
            "key": api_key,
            "init_image": building_image,
            "prompt": restoration_prompt,
            "negative_prompt": "damaged, old, worn",
            "num_inference_steps": 31,
            "guidance_scale": 7.5
        }
    )

    data = response.json()

    if data["status"] == "success":
        return data["output"][0]
    else:
        raise Exception(data.get("message"))

# Restore old building
restored = restore_exterior(
    "https://example.com/old-building.jpg",
    "Restored Victorian house with fresh paint, new windows, landscaped garden",
    "your_api_key"
)

场景更换

def change_room_scenario(room_image, new_scenario, api_key):
    """Change the environment scenario of a room.

    Args:
        room_image: URL of room photo
        new_scenario: Description of new scenario/ambiance
    """
    response = requests.post(
        "https://modelslab.com/api/v6/interior/scenario_changer",
        json={
            "key": api_key,
            "init_image": room_image,
            "prompt": new_scenario,
            "num_inference_steps": 31,
            "guidance_scale": 7.5
        }
    )

    data = response.json()

    if data["status"] == "success":
        return data["output"][0]
    else:
        raise Exception(data.get("message"))

# Change from day to evening
evening_room = change_room_scenario(
    "https://example.com/daytime-room.jpg",
    "Evening ambiance with warm lamp lighting, cozy atmosphere",
    "your_api_key"
)

移除对象

def remove_interior_object(room_image, object_to_remove, api_key):
    """Remove an object from an interior image.

    Args:
        room_image: URL of room photo
        object_to_remove: Description of object to remove
    """
    response = requests.post(
        "https://modelslab.com/api/v6/interior/object_removal",
        json={
            "key": api_key,
            "init_image": room_image,
            "object_name": object_to_remove
        }
    )

    data = response.json()

    if data["status"] == "success":
        return data["output"][0]
    else:
        raise Exception(data.get("message"))

# Remove furniture
cleaned = remove_interior_object(
    "https://example.com/cluttered-room.jpg",
    "old sofa",
    "your_api_key"
)

室内混合

def mix_interior_objects(room_image, object_image, placement_prompt, api_key):
    """Add objects from one image into another room.

    Args:
        room_image: URL of the target room
        object_image: URL of image containing object to add
        placement_prompt: Description of how to place the object
    """
    response = requests.post(
        "https://modelslab.com/api/v6/interior/interior_mixer",
        json={
            "key": api_key,
            "init_image": room_image,
            "object_image": object_image,
            "prompt": placement_prompt,
            "width": 512,
            "height": 512,
            "num_inference_steps": 8,
            "guidance_scale": 7.5
        }
    )

    data = response.json()

    if data["status"] == "success":
        return data["output"][0]
    else:
        raise Exception(data.get("message"))

# Add furniture from another image
mixed = mix_interior_objects(
    "https://example.com/empty-room.jpg",
    "https://example.com/furniture.jpg",
    "Place the chair in the corner near the window",
    "your_api_key"
)

关键参数

参数描述值
init_image房间/建筑图像图像 URL
prompt设计描述详细文本
negative_prompt要避免的内容"杂乱、质量低"
strength转换强度0.0-1.0(通常为 0.7)
num_inference_steps质量等级21、31 或 41
guidance_scale提示词遵循度1-20(通常为 7.5)
specific_object必需物品物品名称
object_name要移除的对象描述

最佳实践

1. 编写详细的设计提示词
✗ Bad: "modern room"
✓ Good: "Modern minimalist living room with Scandinavian furniture, white walls, oak floor, large windows, indoor plants"

Include: Style, furniture, colors, lighting, materials, atmosphere
2. 使用合适的强度值
# Subtle changes
strength = 0.5

# Moderate redesign
strength = 0.7

# Complete transformation
strength = 0.9
3. 在质量与速度之间权衡
# Fast (21 steps)
num_inference_steps = 21

# Balanced (31 steps) - Recommended
num_inference_steps = 31

# Best quality (41 steps)
num_inference_steps = 41
4. 使用高质量输入图像
  • 光线充足的房间照片
  • 清晰展示空间
  • 尽量减少失真
  • 优先使用高分辨率图像

常见用例

虚拟布置
def stage_empty_room(room_image, style, api_key):
    """Stage an empty room for real estate listing."""
    return decorate_room(
        room_image,
        f"{style} furnished room with modern furniture, well-lit, professional",
        api_key
    )

# Stage for listing
staged = stage_empty_room(
    "https://example.com/empty-apartment.jpg",
    "Modern luxury",
    api_key
)
设计方案变体
def create_design_variations(room_image, styles, api_key):
    """Generate multiple design style variations."""
    variations = []

    for style in styles:
        variant = redesign_interior(
            room_image,
            f"{style} interior design style",
            api_key
        )
        variations.append(variant)
        print(f"{style}: {variant}")

    return variations

# Generate variations
designs = create_design_variations(
    "https://example.com/room.jpg",
    ["Modern Scandinavian", "Industrial Loft", "Classic Traditional", "Bohemian"],
    api_key
)
翻新规划
def plan_renovation(current_room, desired_style, api_key):
    """Plan room renovation with before/after."""
    before = current_room

    after = redesign_interior(
        before,
        f"Renovated {desired_style} room with updated fixtures and furniture",
        api_key
    )

    return {"before": before, "after": after}

# Plan kitchen renovation
plan = plan_renovation(
    "https://example.com/old-kitchen.jpg",
    "modern farmhouse kitchen",
    api_key
)
房间全面改造
def complete_room_makeover(room_image, api_key):
    """Full room transformation workflow."""

    # Step 1: Remove unwanted items
    cleaned = remove_interior_object(
        room_image,
        "old furniture and clutter",
        api_key
    )

    # Step 2: Redesign space
    redesigned = redesign_interior(
        cleaned,
        "Modern minimalist interior with natural materials",
        api_key
    )

    # Step 3: Add specific decor
    final = decorate_room(
        redesigned,
        "Add cozy lighting and indoor plants",
        api_key,
        specific_object="pendant lamp"
    )

    return final
改造前后场景
# Day to night transformation
day_room = "https://example.com/daytime.jpg"

night = change_room_scenario(
    day_room,
    "Evening ambiance with warm lighting, twilight outside windows",
    api_key
)

# Summer to winter
winter = change_room_scenario(
    day_room,
    "Winter scene with snow outside, cozy fireplace, warm interior",
    api_key
)

错误处理

try:
    design = redesign_interior(room_image, prompt, api_key)
    print(f"Design created: {design}")
except Exception as e:
    print(f"Design generation failed: {e}")
    # Log error, try different prompt, notify user

性能提示

  1. 使用合适的推理步数:31 步可兼顾质量和速度
  2. 优化提示词:清晰、详细的提示词效果最佳
  3. 批量处理相似请求:一次生成多个变体
  4. 缓存结果:保存生成的设计
  5. 监控质量:根据需要调整 strength 和 guidance_scale

企业 API

如需专属资源:

# Enterprise endpoints
url = "https://modelslab.com/api/v1/enterprise/interior/interior"
url = "https://modelslab.com/api/v1/enterprise/interior/room_decorator"

资源

相关技能

  • modelslab-image-generation - 生成房间参考图像
  • modelslab-image-editing - 更多编辑工具
  • modelslab-sdk-usage - 使用官方 SDK

评论

支持 Markdown