_ registry / mcp http-sse · checked 1h ago

luw

https://mcp.luw.ai

Registry code: 2478061cfbe825fa

api record

Luw.ai: AI tools for interior, exterior and landscape design, architectural rendering, image editing, video and 3D.

Image inputs must be public https:// URLs or data: URIs (this hosted server can't read the user's local files).

endpoint
https://mcp.luw.ai/mcp
protocol
http-sse ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is luw live?
Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
Is luw free to use?
Yes — the hub reached it with no key and no payment.
What tools does luw have?
21 tools: luw_magic_wand, luw_run_model, luw_interior_design, luw_exterior_design, luw_sketch_to_render, luw_render, luw_edit_image, luw_landscape_design, ….
Is luw safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
451ms

last good check

priced tools
0

of 21 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

inferred, not observed

Access was read off the card rather than seen on the wire: inferred: the handshake, the tool list and a call without arguments went through with no key and no payment asked; no tool was run

_ what it can do 21 tools
21 never probed 0 of 21 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • luw_magic_wand unknown never probed

    Change only a masked area of an image. Give a prompt to add/replace what's there, remove=true to erase it, or material_image to re-surface it (e.g. new flooring or wall tiles). The mask is a black-and-white image the same size as the input; white marks the area to change. Get masks from luw_segment. Costs 1 credit.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "image",
        "mask_image"
      ],
      "properties": {
        "seed": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Fix for reproducible results."
        },
        "image": {
          "type": "string",
          "minLength": 1,
          "description": "Image to edit (https:// URL, local file path, or data: URI)."
        },
        "engine": {
          "enum": [
            "aria",
            "symphony"
          ],
          "type": "string",
          "description": "Luw.ai model: aria (default) or symphony (Symphony-3)."
        },
        "format": {
          "enum": [
            "jpg",
            "png",
            "webp"
          ],
          "type": "string",
          "description": "Output image format."
        },
        "prompt": {
          "type": "string",
          "maxLength": 4000,
          "description": "What to put in the masked area."
        },
        "remove": {
          "type": "boolean",
          "description": "Remove whatever is in the masked area."
        },
        "mask_image": {
          "type": "string",
          "minLength": 1,
          "description": "Black/white mask, white = area to change (https:// URL, local file path, or data: URI)."
        },
        "enhance_prompt": {
          "type": "boolean",
          "description": "Let Luw.ai's prompt enhancer expand a short prompt."
        },
        "keep_structure": {
          "type": "boolean",
          "description": "Preserve the masked area's geometry/lines while changing its look (structure-guided fill)."
        },
        "material_image": {
          "type": "string",
          "description": "Material/texture to apply to the masked area (https:// URL, local file path, or data: URI); luw_list_options kind=\"materials\" has a ready-made catalog."
        }
      }
    }
    arguments 64 lines
  • luw_run_model unknown never probed

    Call POST /generate with raw API parameters, for models or options the dedicated tools don't cover (e.g. persona-slot inputs, webhooks). Models: interior, exterior, sketch, render, magicprompt, magicwand, moodboard, landscape, enhance, expand, vector, removefurniture, segment, segmentprompt, fluw, fluwvector, pattern, changebg, removebg, video, 3dgen. Parameter reference: https://luw-ai.gitbook.io/api. Image fields (image, mask_image, material_image, style_transfer, extra_image_1…6) also accept local paths and data: URIs. Spends credits like the model's own tool.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "model"
      ],
      "properties": {
        "model": {
          "type": "string",
          "minLength": 1,
          "description": "Model id, e.g. interior or magicprompt."
        },
        "params": {
          "type": "object",
          "description": "Other /generate parameters, e.g. {\"image\": \"…\", \"prompt\": \"…\", \"precise\": 75}.",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        }
      }
    }
    arguments 22 lines
  • luw_interior_design unknown never probed

    Redesign an interior photo — home, office, shop, hotel — in any style while keeping the room's architecture. Restyles furniture, materials, colors and lighting. Set empty_room=true to furnish an empty room or turn it into another room type (virtual staging). Costs 1 credit per variation.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "image"
      ],
      "properties": {
        "seed": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Fix for reproducible results."
        },
        "image": {
          "type": "string",
          "minLength": 1,
          "description": "Photo of the room (https:// URL, local file path, or data: URI)."
        },
        "engine": {
          "enum": [
            "aria",
            "symphony"
          ],
          "type": "string",
          "description": "Luw.ai model: aria (default) or symphony (Symphony-3)."
        },
        "format": {
          "enum": [
            "jpg",
            "png",
            "webp"
          ],
          "type": "string",
          "description": "Output image format."
        },
        "prompt": {
          "type": "string",
          "maxLength": 4000,
          "description": "What you want, in plain language."
        },
        "styles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 5,
          "description": "Design style names, e.g. [\"Japandi\"]. Case-sensitive; see luw_list_options."
        },
        "precision": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "How strictly to keep the input's structure: 90 = precise, 75 = balanced, 40 = creative."
        },
        "room_type": {
          "type": "string",
          "description": "Room type, e.g. \"Living Room\", \"Kitchen\", \"Bedroom\", \"Home Office\" (see luw_list_options kind=\"interior_types\")."
        },
        "empty_room": {
          "type": "boolean",
          "description": "Furnish from scratch / convert the room to room_type (Fill Empty Room mode)."
        },
        "persona_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Persona whose saved images/knowledge to use (see luw_personas).",
          "exclusiveMinimum": 0
        },
        "variations": {
          "type": "integer",
          "maximum": 4,
          "minimum": 1,
          "description": "Number of alternative designs (1-4, default 1); each is billed as a generation."
        },
        "enhance_prompt": {
          "type": "boolean",
          "description": "Let Luw.ai's prompt enhancer expand a short prompt."
        },
        "style_reference": {
          "type": "string",
          "description": "Style-transfer source: an image whose look to copy (https:// URL, local file path, or data: URI), or \"persona\" to use slot 1 of persona_id."
        },
        "reference_images": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "description": "Reference image (https:// URL, local file path, or data: URI)."
          },
          "maxItems": 6,
          "description": "Up to 6 reference images (furniture, materials, products, mood boards) to draw from."
        }
      }
    }
    arguments 94 lines
  • luw_exterior_design unknown never probed

    Redesign a building exterior or facade photo — houses, villas, apartments, commercial buildings — in a new architectural style, with new materials, colors and landscaping, keeping the structure. Costs 1 credit per variation.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "image"
      ],
      "properties": {
        "seed": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Fix for reproducible results."
        },
        "image": {
          "type": "string",
          "minLength": 1,
          "description": "Photo of the building (https:// URL, local file path, or data: URI)."
        },
        "engine": {
          "enum": [
            "aria",
            "symphony"
          ],
          "type": "string",
          "description": "Luw.ai model: aria (default) or symphony (Symphony-3)."
        },
        "format": {
          "enum": [
            "jpg",
            "png",
            "webp"
          ],
          "type": "string",
          "description": "Output image format."
        },
        "prompt": {
          "type": "string",
          "maxLength": 4000,
          "description": "What you want, in plain language."
        },
        "styles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 5,
          "description": "Design style names, e.g. [\"Japandi\"]. Case-sensitive; see luw_list_options."
        },
        "precision": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "How strictly to keep the input's structure: 90 = precise, 75 = balanced, 40 = creative."
        },
        "persona_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Persona whose saved images/knowledge to use (see luw_personas).",
          "exclusiveMinimum": 0
        },
        "variations": {
          "type": "integer",
          "maximum": 4,
          "minimum": 1,
          "description": "Number of alternative designs (1-4, default 1); each is billed as a generation."
        },
        "building_type": {
          "type": "string",
          "description": "Building/space type, e.g. \"Modern House Exterior\", \"Luxury Villa Exterior\", \"Outdoor Patio\" (see luw_list_options kind=\"exterior_types\")."
        },
        "enhance_prompt": {
          "type": "boolean",
          "description": "Let Luw.ai's prompt enhancer expand a short prompt."
        },
        "style_reference": {
          "type": "string",
          "description": "Style-transfer source: an image whose look to copy (https:// URL, local file path, or data: URI), or \"persona\" to use slot 1 of persona_id."
        },
        "reference_images": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "description": "Reference image (https:// URL, local file path, or data: URI)."
          },
          "maxItems": 6,
          "description": "Up to 6 reference images (furniture, materials, products, mood boards) to draw from."
        }
      }
    }
    arguments 90 lines
  • luw_sketch_to_render unknown never probed

    Turn a hand sketch, line drawing, floor-plan perspective or rough draft into a photorealistic render. Costs 1 credit per variation.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "image"
      ],
      "properties": {
        "seed": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Fix for reproducible results."
        },
        "image": {
          "type": "string",
          "minLength": 1,
          "description": "The sketch or drawing (https:// URL, local file path, or data: URI)."
        },
        "engine": {
          "enum": [
            "aria",
            "symphony"
          ],
          "type": "string",
          "description": "Luw.ai model: aria (default) or symphony (Symphony-3)."
        },
        "format": {
          "enum": [
            "jpg",
            "png",
            "webp"
          ],
          "type": "string",
          "description": "Output image format."
        },
        "prompt": {
          "type": "string",
          "maxLength": 4000,
          "description": "What you want, in plain language."
        },
        "styles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 5,
          "description": "Design style names, e.g. [\"Japandi\"]. Case-sensitive; see luw_list_options."
        },
        "precision": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "How strictly to keep the input's structure: 90 = precise, 75 = balanced, 40 = creative."
        },
        "persona_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Persona whose saved images/knowledge to use (see luw_personas).",
          "exclusiveMinimum": 0
        },
        "space_type": {
          "type": "string",
          "description": "What the sketch shows, e.g. \"Living Room\" or \"Modern House Exterior\"."
        },
        "variations": {
          "type": "integer",
          "maximum": 4,
          "minimum": 1,
          "description": "Number of alternative designs (1-4, default 1); each is billed as a generation."
        },
        "enhance_prompt": {
          "type": "boolean",
          "description": "Let Luw.ai's prompt enhancer expand a short prompt."
        },
        "style_reference": {
          "type": "string",
          "description": "Style-transfer source: an image whose look to copy (https:// URL, local file path, or data: URI), or \"persona\" to use slot 1 of persona_id."
        }
      }
    }
    arguments 80 lines
  • luw_render unknown never probed

    Turn a 3D model view, CAD/BIM screenshot, clay render or basic visualization into a photorealistic architectural render. Costs 1 credit per variation.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "image"
      ],
      "properties": {
        "image": {
          "type": "string",
          "minLength": 1,
          "description": "The 3D view or base render (https:// URL, local file path, or data: URI)."
        },
        "engine": {
          "enum": [
            "aria",
            "symphony"
          ],
          "type": "string",
          "description": "Luw.ai model: aria (default) or symphony (Symphony-3)."
        },
        "format": {
          "enum": [
            "jpg",
            "png",
            "webp"
          ],
          "type": "string",
          "description": "Output image format."
        },
        "prompt": {
          "type": "string",
          "maxLength": 4000,
          "description": "What you want, in plain language."
        },
        "precision": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "How strictly to keep the input's structure: 90 = precise, 75 = balanced, 40 = creative."
        },
        "variations": {
          "type": "integer",
          "maximum": 4,
          "minimum": 1,
          "description": "Number of alternative designs (1-4, default 1); each is billed as a generation."
        },
        "reference_images": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "description": "Reference image (https:// URL, local file path, or data: URI)."
          },
          "maxItems": 6,
          "description": "Up to 6 reference images (furniture, materials, products, mood boards) to draw from."
        }
      }
    }
    arguments 58 lines
  • luw_edit_image unknown never probed

    Edit any image with a plain-language instruction: "make the sofa green velvet", "add a pendant lamp over the table", "turn it into a night scene". Pass products, materials or a mood board as reference_images to place or apply them. For edits restricted to an exact area, use luw_magic_wand. Costs 1 credit per variation.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "image",
        "prompt"
      ],
      "properties": {
        "seed": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Fix for reproducible results."
        },
        "image": {
          "type": "string",
          "minLength": 1,
          "description": "Image to edit (https:// URL, local file path, or data: URI)."
        },
        "engine": {
          "enum": [
            "aria",
            "symphony",
            "nano-banana-2"
          ],
          "type": "string",
          "description": "Model: aria (default), symphony (Symphony-3) or nano-banana-2."
        },
        "format": {
          "enum": [
            "jpg",
            "png",
            "webp"
          ],
          "type": "string",
          "description": "Output image format."
        },
        "prompt": {
          "type": "string",
          "maxLength": 4000,
          "minLength": 1,
          "description": "The edit to make."
        },
        "resolution": {
          "enum": [
            "2k",
            "4k"
          ],
          "type": "string",
          "description": "Output resolution (default 2k)."
        },
        "variations": {
          "type": "integer",
          "maximum": 4,
          "minimum": 1,
          "description": "Number of alternative designs (1-4, default 1); each is billed as a generation."
        },
        "enhance_prompt": {
          "type": "boolean",
          "description": "Let Luw.ai's prompt enhancer expand a short prompt."
        },
        "reference_images": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "description": "Reference image (https:// URL, local file path, or data: URI)."
          },
          "maxItems": 6,
          "description": "Up to 6 reference images (furniture, materials, products, mood boards) to draw from."
        }
      }
    }
    arguments 73 lines
  • luw_landscape_design unknown never probed

    Design a garden, yard or outdoor area inside a masked region of a photo, with plants chosen for the location's climate and sun exposure. Costs 1 credit.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "image",
        "mask_image"
      ],
      "properties": {
        "city": {
          "type": "string",
          "description": "Location, for climate-appropriate planting, e.g. \"Antalya\"."
        },
        "seed": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Fix for reproducible results."
        },
        "image": {
          "type": "string",
          "minLength": 1,
          "description": "Photo of the outdoor area (https:// URL, local file path, or data: URI)."
        },
        "format": {
          "enum": [
            "jpg",
            "png",
            "webp"
          ],
          "type": "string",
          "description": "Output image format."
        },
        "prompt": {
          "type": "string",
          "maxLength": 4000,
          "description": "What you want, in plain language."
        },
        "mask_image": {
          "type": "string",
          "minLength": 1,
          "description": "Black/white mask, white = area to landscape (https:// URL, local file path, or data: URI)."
        },
        "sun_exposure": {
          "type": "string",
          "description": "e.g. \"Full sun (6+ hours)\", \"Partial sun (4 - 6 hours)\", \"Shade (less than 4 hours)\"."
        },
        "enhance_prompt": {
          "type": "boolean",
          "description": "Let Luw.ai's prompt enhancer expand a short prompt."
        }
      }
    }
    arguments 52 lines
  • luw_image_tools unknown never probed

    One-step image utilities, 1 credit each: - upscale: enhance quality and enlarge 2x/4x/8x (Photo Enhance AI) - expand: outpaint a tightly cropped architectural photo to a wider view (Expand AI) - remove_furniture: empty a furnished room, keeping walls, floor and windows (Remove Furniture AI) - vectorize: convert a photo or drawing into a clean SVG vector (Vector AI)

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "operation",
        "image"
      ],
      "properties": {
        "image": {
          "type": "string",
          "minLength": 1,
          "description": "Input image (https:// URL, local file path, or data: URI)."
        },
        "scale": {
          "anyOf": [
            {
              "type": "number",
              "const": 2
            },
            {
              "type": "number",
              "const": 4
            },
            {
              "type": "number",
              "const": 8
            }
          ],
          "description": "upscale only: 2, 4 or 8 (default 2)."
        },
        "format": {
          "enum": [
            "jpg",
            "png",
            "webp"
          ],
          "type": "string",
          "description": "Output image format."
        },
        "operation": {
          "enum": [
            "upscale",
            "expand",
            "remove_furniture",
            "vectorize"
          ],
          "type": "string"
        },
        "precision": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "How strictly to keep the input's structure: 90 = precise, 75 = balanced, 40 = creative."
        }
      }
    }
    arguments 56 lines
  • luw_background unknown never probed

    Cut out a product/object from its background (transparent PNG) — or, with a prompt, place it in a new generated scene for marketing shots ("on a marble kitchen counter, morning light"). Omit prompt to just remove the background. Costs 1 credit.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "image"
      ],
      "properties": {
        "image": {
          "type": "string",
          "minLength": 1,
          "description": "Product or object photo (https:// URL, local file path, or data: URI)."
        },
        "engine": {
          "enum": [
            "aria",
            "symphony"
          ],
          "type": "string",
          "description": "Luw.ai model: aria (default) or symphony (Symphony-3)."
        },
        "format": {
          "enum": [
            "jpg",
            "png",
            "webp"
          ],
          "type": "string",
          "description": "Output image format."
        },
        "prompt": {
          "type": "string",
          "maxLength": 4000,
          "description": "New background to generate. Leave empty to remove the background."
        },
        "enhance_prompt": {
          "type": "boolean",
          "description": "Let Luw.ai's prompt enhancer expand a short prompt."
        }
      }
    }
    arguments 40 lines
  • luw_segment unknown never probed

    Detect objects in a photo and return black-and-white masks as image URLs — every object (wall, floor, sofa, …) or only what you describe in prompt. Feed a mask URL into luw_magic_wand or luw_landscape_design to edit exactly that area. Costs 1 credit.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "image"
      ],
      "properties": {
        "image": {
          "type": "string",
          "minLength": 1,
          "description": "Photo to segment (https:// URL, local file path, or data: URI)."
        },
        "labels": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 20,
          "description": "Keep only masks whose label contains one of these words (e.g. [\"floor\", \"wall\"])."
        },
        "prompt": {
          "type": "string",
          "maxLength": 500,
          "description": "What to segment, e.g. \"walls\", \"the sofa\", \"lawn\". Omit to segment everything."
        }
      }
    }
    arguments 27 lines
  • luw_generate_image unknown never probed

    Generate a photorealistic image or illustration from a text prompt (optionally guided by an input image) — concept art, interiors, products, marketing visuals. Set format="svg" for a vector illustration (Fluw Vector AI). Costs 2 credits per image.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "prompt"
      ],
      "properties": {
        "seed": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Fix for reproducible results."
        },
        "image": {
          "type": "string",
          "minLength": 1,
          "description": "Optional guide image (https:// URL, local file path, or data: URI)."
        },
        "engine": {
          "enum": [
            "aria",
            "symphony"
          ],
          "type": "string",
          "description": "Luw.ai model: aria (default) or symphony (Symphony-3)."
        },
        "format": {
          "enum": [
            "jpg",
            "png",
            "webp",
            "svg"
          ],
          "type": "string",
          "description": "Output format; svg switches to Fluw Vector AI."
        },
        "prompt": {
          "type": "string",
          "maxLength": 4000,
          "minLength": 1,
          "description": "What to generate."
        },
        "styles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 5,
          "description": "Design style names, e.g. [\"Japandi\"]. Case-sensitive; see luw_list_options."
        },
        "variations": {
          "type": "integer",
          "maximum": 4,
          "minimum": 1,
          "description": "Number of alternative designs (1-4, default 1); each is billed as a generation."
        },
        "aspect_ratio": {
          "enum": [
            "16:9",
            "3:2",
            "4:3",
            "1:1",
            "3:4",
            "2:3",
            "9:16"
          ],
          "type": "string"
        },
        "enhance_prompt": {
          "type": "boolean",
          "description": "Let Luw.ai's prompt enhancer expand a short prompt."
        }
      }
    }
    arguments 74 lines
  • luw_generate_pattern unknown never probed

    Generate a seamless, tileable pattern or texture — tiles, wallpaper, fabric, terrazzo, wood, stone — ready to repeat across a surface. Costs 1 credit.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "prompt"
      ],
      "properties": {
        "size": {
          "anyOf": [
            {
              "type": "number",
              "const": 512
            },
            {
              "type": "number",
              "const": 768
            },
            {
              "type": "number",
              "const": 1024
            }
          ],
          "description": "Output size in px. aria: 512 or 768 (default); symphony: 512 or 1024 (default)."
        },
        "image": {
          "type": "string",
          "minLength": 1,
          "description": "Optional reference image (https:// URL, local file path, or data: URI)."
        },
        "engine": {
          "enum": [
            "aria",
            "symphony"
          ],
          "type": "string",
          "description": "Luw.ai model: aria (default) or symphony (Symphony-3)."
        },
        "format": {
          "enum": [
            "jpg",
            "png",
            "webp"
          ],
          "type": "string",
          "description": "Output image format."
        },
        "prompt": {
          "type": "string",
          "maxLength": 4000,
          "minLength": 1,
          "description": "The pattern, e.g. \"blue and white Moroccan zellige tiles\"."
        },
        "enhance_prompt": {
          "type": "boolean",
          "description": "Let Luw.ai's prompt enhancer expand a short prompt."
        }
      }
    }
    arguments 58 lines
  • luw_generate_video unknown never probed

    Animate a design image into a short cinematic video — fly-throughs, dolly moves, drone shots, reveals. Camera motions: A Forward Dolly, Flythrough Cinematic, Return to Empty Room, Lighting and Color Details, Drone flying to center, Dramatic Zoom Out, Reverse Zoom In, Slow Pull Back, Reveal Zoom, Ground to Sky Tilt, Side Tracking Zoom, Aerial Descent. Takes a few minutes — expect a processing_url to collect with luw_get_result. Costs 10 credits (aria) or 20 (symphony).

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "image"
      ],
      "properties": {
        "seed": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Fix for reproducible results."
        },
        "image": {
          "type": "string",
          "minLength": 1,
          "description": "Start frame (a render or photo) (https:// URL, local file path, or data: URI)."
        },
        "engine": {
          "enum": [
            "aria",
            "symphony"
          ],
          "type": "string",
          "description": "Luw.ai model: aria (default) or symphony (Symphony-3)."
        },
        "prompt": {
          "type": "string",
          "maxLength": 4000,
          "description": "What should happen in the video."
        },
        "camera_motion": {
          "type": "string",
          "description": "One of the camera motions listed above, e.g. \"Flythrough Cinematic\"."
        },
        "enhance_prompt": {
          "type": "boolean",
          "description": "Let Luw.ai's prompt enhancer expand a short prompt."
        }
      }
    }
    arguments 41 lines
  • luw_image_to_3d unknown never probed

    Generate a textured 3D model (GLB) from a photo of an object — furniture, decor, products. Add up to 3 photos from other angles for better accuracy. For text-to-3D, first make an image with luw_generate_image. Costs 3 credits (aria) or 8 (symphony).

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "image"
      ],
      "properties": {
        "seed": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Fix for reproducible results."
        },
        "image": {
          "type": "string",
          "minLength": 1,
          "description": "Photo of the object (https:// URL, local file path, or data: URI)."
        },
        "engine": {
          "enum": [
            "aria",
            "symphony"
          ],
          "type": "string",
          "description": "Luw.ai model: aria (default) or symphony (Symphony-3)."
        },
        "texture": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Texture size setting (0 = default)."
        },
        "simplify": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Mesh simplification level (0 = off, default)."
        },
        "reflections": {
          "type": "boolean",
          "description": "Enable reflective materials (symphony engine only)."
        },
        "extra_angles": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "description": "Another angle of the same object (https:// URL, local file path, or data: URI)."
          },
          "maxItems": 3
        }
      }
    }
    arguments 53 lines
  • luw_upload_file unknown never probed

    Upload an image, video or 3D file to Luw.ai storage and get a URL usable by every Luw.ai tool. Rarely needed: all tools already accept local paths and data: URIs and upload them automatically. Useful to get a shareable URL, to re-host an image from a site Luw.ai can't reach, or to store a file permanently.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "source"
      ],
      "properties": {
        "source": {
          "type": "string",
          "minLength": 1,
          "description": "Local file path, file:// URL, data: URI, or an https:// URL to copy into Luw.ai storage."
        },
        "persistent": {
          "type": "boolean",
          "description": "Keep the file in your Luw.ai storage permanently. Default: temporary, auto-deleted after 12 hours."
        },
        "persona_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Persona to store a persistent file under (default: your first persona).",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 24 lines
  • luw_archigpt unknown never probed

    Ask Luw.ai's ArchiGPT, an AI architect: design advice, feng shui, space planning, material and color suggestions, technical questions, and estimating square meters from a photo or plan. Attach an image to discuss it. Pass earlier turns in history to continue a conversation. Costs 1 credit per ~3000 words.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "message"
      ],
      "properties": {
        "image": {
          "type": "string",
          "description": "Image to discuss (https:// URL, local file path, or data: URI)."
        },
        "history": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "role",
              "content"
            ],
            "properties": {
              "role": {
                "enum": [
                  "user",
                  "assistant"
                ],
                "type": "string"
              },
              "content": {
                "type": "string"
              }
            }
          },
          "maxItems": 50,
          "description": "Previous messages of this conversation, oldest first."
        },
        "message": {
          "type": "string",
          "maxLength": 8000,
          "minLength": 1,
          "description": "Your question or message."
        },
        "language": {
          "type": "string",
          "description": "Reply language, e.g. \"en\" or \"tr\". Auto-detected when omitted."
        },
        "persona_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Persona that remembers this conversation.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 53 lines
  • luw_personas unknown never probed

    Personas hold a reusable design identity: style knowledge plus saved images (trainings). Slots 1-6 train the persona's visual style (slot 1 is the style-transfer reference used by style_reference="persona"), slot 7 is the default input image, 8+ are free-form data; add_training without a slot "likes" a design. Pass persona_id to generation tools to use one. Actions: list, get, create, update, delete, list_trainings, add_training, update_training, delete_training, clear_slot.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "action"
      ],
      "properties": {
        "info": {
          "type": "string",
          "description": "Description of the training image."
        },
        "name": {
          "type": "string"
        },
        "page": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1,
          "description": "list / list_trainings: page number (default 1)."
        },
        "slot": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 1
        },
        "image": {
          "type": "string",
          "description": "Training image (https:// URL, local file path, or data: URI); stored permanently."
        },
        "knows": {
          "type": "string",
          "description": "Comma-separated style knowledge, e.g. \"Modern,Minimalism\" or room/building types."
        },
        "limit": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "list / list_trainings: items per page (default 20)."
        },
        "title": {
          "type": "string",
          "description": "Short description of the persona."
        },
        "action": {
          "enum": [
            "list",
            "get",
            "create",
            "update",
            "delete",
            "list_trainings",
            "add_training",
            "update_training",
            "delete_training",
            "clear_slot"
          ],
          "type": "string"
        },
        "extras": {
          "type": "string",
          "description": "Extra metadata, e.g. the prompt behind a liked design."
        },
        "search": {
          "type": "string",
          "description": "list: filter by name/title/knows."
        },
        "persona_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "exclusiveMinimum": 0
        },
        "profession": {
          "type": "string",
          "description": "Tool the persona belongs to, e.g. Interior, Exterior, MagicPrompt, MagicWand, Enhance, Video, Render, 3DGen, Fluw, Sketch, Landscape, MoodBoard, ArchiGPT. For list: only that tool's personas (fast)."
        },
        "training_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 82 lines
  • luw_projects unknown never probed

    Organize work in Luw.ai projects (called boards in the API), with nested folders and media. Use add_media to save generated results into a project. Actions: list, get, create, rename, delete, list_folders, create_folder, update_folder, delete_folder, add_media, delete_media, move_media.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "action"
      ],
      "properties": {
        "url": {
          "type": "string",
          "description": "add_media: the media (https:// URL, local file path, or data: URI)."
        },
        "name": {
          "type": "string",
          "description": "Project or folder name."
        },
        "action": {
          "enum": [
            "list",
            "get",
            "create",
            "rename",
            "delete",
            "list_folders",
            "create_folder",
            "update_folder",
            "delete_folder",
            "add_media",
            "delete_media",
            "move_media"
          ],
          "type": "string"
        },
        "extras": {
          "type": "string",
          "description": "add_media: metadata as a JSON string, e.g. {\"prompt\": \"…\"}."
        },
        "media_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "exclusiveMinimum": 0
        },
        "folder_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Folder to act on, or target folder for add_media/move_media (omit = project root).",
          "exclusiveMinimum": 0
        },
        "parent_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Parent folder for nested folders.",
          "exclusiveMinimum": 0
        },
        "project_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "exclusiveMinimum": 0
        },
        "control_image": {
          "type": "string",
          "description": "add_media: optional source/reference image, e.g. the original photo of a redesign."
        }
      }
    }
    arguments 64 lines
  • luw_get_result unknown 1h ago

    Collect the result of a Luw.ai generation that was still processing (tools return a processing_url when a job outlasts their wait). Waits for the job to finish (up to the server's wait limit) — call again if it's still running. Free; never re-run a generation instead.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "processing_url"
      ],
      "properties": {
        "wait": {
          "type": "boolean",
          "description": "Wait for completion (default true). false = check once and return immediately."
        },
        "processing_url": {
          "type": "string",
          "minLength": 1,
          "description": "The processing_url returned by a generation tool."
        }
      }
    }
    arguments 18 lines
  • luw_list_options unknown 1h ago

    Look up valid values for other Luw.ai tools: design_styles (styles param), interior_types (room_type), exterior_types (building_type), video_styles (camera_motion), materials (Magic Wand material_image catalog), professions (persona profession). Free.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "kind"
      ],
      "properties": {
        "kind": {
          "enum": [
            "design_styles",
            "interior_types",
            "exterior_types",
            "video_styles",
            "materials",
            "professions"
          ],
          "type": "string"
        },
        "search": {
          "type": "string",
          "description": "Case-insensitive filter on names/descriptions."
        },
        "details": {
          "type": "boolean",
          "description": "Include descriptions and preview image URLs (longer output)."
        }
      }
    }
    arguments 28 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 2478061cfbe825fa.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/2478061cfbe825fa/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/2478061cfbe825fa/badge.svg)](https://brick.blue/agent/2478061cfbe825fa?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.