Install
openclaw skills install @runware/image-to-3d-assetTurn a photo or a text prompt into a real 3D model: a textured mesh you can drop into a game engine, AR scene, or product viewer. Use when the user says "make this into a 3D model", "turn this photo into 3D", "I need a GLB", "a game-ready asset", "3D-print this", "text to 3D", or wants a mesh with real topology and PBR materials, not a render or a turntable video.
openclaw skills install @runware/image-to-3d-assetProduce a real 3D model from a single photo, a few photos, or a text description: a mesh with usable topology and PBR materials, returned as a GLB file that loads straight into a game engine, an AR scene, or a web viewer. The lever is a clean input (image-to-3D for fidelity, text-to-3D for invention) plus the topology and budget settings that match where the asset will be used.
hyper3d:rodin@gen-2). Production-ready meshes, the richest control surface (mesh mode, polygon budget, HighPack 4K, T/A pose, PBR vs baked). Best general pick.meshy:meshy@6). Clean geometry, low-poly and symmetry control, image-enhancement toggle. Good for volume and game assets.tencent:hunyuan-3d@3.1-pro) and Tripo 3D v3.1 (tripo:v3.1@0). Both do image-to-3D and text-to-3D, with Tripo the lowest-cost tier.runware-models + runware-run before calling. Control fields differ per model, so never copy one model's settings onto another without checking.runware-run) and confirm the input field, the settings it allows, and that the model is live.inputs.images (URL, base64, data URI, or a UUID from a prior task or the Image Upload API). Text-to-3D goes under positivePrompt. A request runs in one mode at a time.taskType: "3dInference" asynchronously. 3D generation takes time, so the call returns a taskUUID. Poll getResponse until it reports terminal. Do not block a single sync call on it.outputs.files[].url, which is the GLB. Download it or hand the URL to a viewer.settings and rerun, don't post-process blindly."a chair" is invented from scratch.runware-prompting for writing the text-to-3D prompt itself.Fill in this brief before building the request, then map each line to settings. quality and polyCount are mutually exclusive, so pick one.
Object: <what it is>
Source: <image (inputs.images) | text (positivePrompt)>
Mesh mode: <Quad (rig/animate) | Raw (static/retopo)>
Budget: <quality preset (high/medium/low/extra-low) | polyCount (one or the other, never both)>
Materials: <PBR (relights in engine) | baked (Shaded) | both (All)>
Load references/examples.md for three worked recipes (photo-to-product, text-to-shape, low-poly game asset) with full requests and the GLB result shape.
inputs.images is the image-to-3D input. Rodin accepts up to 5, Meshy up to 4. First image seeds materials.positivePrompt is the text-to-3D input. Meshy caps it at 600 characters. Mutually exclusive with inputs.images.settings.meshMode: Quad (default, rig/animate, subdivides cleanly) vs Raw (static/retopo, denser triangulated detail). Raw mode clears add-ons.settings.quality XOR settings.polyCount are mutually exclusive, and sending both is a validation error. Presets high/medium/low/extra-low map to fixed face counts that depend on mesh mode. Use polyCount for a hard engine budget (Quad 1,000 to 200,000, Raw 500 to 1,000,000).settings.addons: ["HighPack"] gives ~16× face count and 4K textures (vs default 2K), Quad only, roughly triples cost. Reserve for hero assets and close-ups.settings.taPose: true forces a neutral T/A pose for humanoids you'll rig. No effect on props or creatures.settings.material: PBR (default, relights correctly in engines) vs Shaded (lighting baked into the texture, for viewers that won't relight) vs All (both). settings.hdTexture raises texture quality independently.settings.useOriginalAlpha: true uses a cutout's alpha as the silhouette instead of edge detection. Image input only.settings.boundingBox: [Y, Z, X] caps max dimensions so a set of props shares scale.settings.imageEnhancement: false skips the photo cleanup pass for already-polished renders or stylized assets, so the model works from your image untouched. No effect in text-to-3D.seed fixes a result to reproduce or deliberately vary it (Rodin: 0 to 65535). Confirm exact field names and ranges against the live schema (runware-run), never guess.outputs.files[].url, with the mesh and PBR materials packed together, that loads in your target engine/viewer.quality and polyCount were not sent together. For rigged characters, a T/A pose was used.runware-run, runware-models, runware-prompting; product-photography (clean single-object reference shots that reconstruct well, or the same product across stills).