Skip to main content
Glama

Image to 3D model (3DGen AI)

luw_image_to_3d

Generate a textured 3D model (GLB) from a photo of an object. Add up to three extra angles for accuracy; use an image first for text-to-3D.

Instructions

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).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
seedNoFix for reproducible results.
imageYesPhoto of the object (https:// URL, local file path, or data: URI).
engineNoLuw.ai model: aria (default) or symphony (Symphony-3).
textureNoTexture size setting (0 = default).
simplifyNoMesh simplification level (0 = off, default).
reflectionsNoEnable reflective materials (symphony engine only).
extra_anglesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare openWorldHint=true, destructiveHint=false and idempotentHint=false, and the description adds genuinely new behavioral context: exact credit cost per engine (3 aria / 8 symphony), which is not derivable from any structured field. It does not discuss async job behavior or result retrieval.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the core action and output format, followed by the enhancement tip and the cost/routing note. No filler or restatement of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter generation tool with no output schema and no annotations covering async behavior, the definition gives enough to invoke it confidently, but it never says how the resulting GLB is retrieved (a luw_get_result-style step) or whether the call is synchronous.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 86%, setting a baseline of 3, but the description adds meaning the schema lacks: it explains why extra_angles matter (better accuracy, capped at 3) and links the engine enum value to its cost (aria vs symphony), which directly informs the parameter choice.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Generate a textured 3D model (GLB) from a photo of an object') and names the accepted subject domains (furniture, decor, products). It also differentiates from the related text-to-3D workflow by pointing to luw_generate_image, so an agent can separate it from siblings like luw_sketch_to_render or luw_render.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear usage context: one photo suffices, add up to 3 extra angles for accuracy, and route text-to-3D through luw_generate_image first. It lacks an explicit 'when not to use' (e.g., scenes/rooms vs single objects), which keeps it short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.