{"slug":"scenario-rodin","title":"scenario-rodin","summary":"Use when generating 3D assets with Rodin Hyper3D models on Scenario via MCP: image-to-3D from up to five multiview stills, text-to-3D from a prompt, fast prototyping versus full quality tiers, quad or triangle topology, PBR materials, HighPack 4K textures, T-pose or A-pose charac","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-10-17T09:10:57.651016Z","repo":{"url":"https://github.com/scenario-labs/skills","stars":1035,"forks":129,"license":"MIT","updatedAt":"2026-10-17T05:01:44Z"},"bodyHtml":"<hr>\n<h2>name: scenario-rodin\ndescription: \"Use when generating 3D assets with Rodin Hyper3D models on Scenario via MCP: image-to-3D from up to five multiview stills, text-to-3D from a prompt, fast prototyping versus full quality tiers, quad or triangle topology, PBR materials, HighPack 4K textures, T-pose or A-pose characters for rigging, or splitting a finished mesh into parts and retexturing it with Bang!. Keywords: Rodin Gen-2.5, Hyper3D, Deemos, image to 3D, text to 3D, part segmentation, texture delight.\"\nlicense: MIT</h2>\n<h1>Scenario Rodin 3D</h1>\n<h2>Overview</h2>\n<p>Rodin Hyper3D, Deemos Technology's 3D family on Scenario, picks its mode by member: image-to-3D and text-to-3D each ship as a full model and a Fast variant, and Bang! splits finished meshes into parts. Discover them with <code>search</code> and treat <code>model_schema_get</code> as the contract: the lanes agree on ideas and disagree on parameter names.</p>\n<p>Connection and the core loop: see the <code>scenario</code> skill in this repo; model-agnostic 3D work: the <code>scenario-3d</code> skill. If a sibling skill named here is missing from your available skills, ask the user to install it (<code>npx skills add scenario-labs/skills --skill &lt;name&gt;</code>); unattended, proceed from tool schemas and flag the gap.</p>\n<h2>Quick reference</h2>\n<p>Pick the member by task:</p>\n<table>\n<thead>\n<tr>\n<th>Task</th>\n<th>Member</th>\n<th>Required inputs</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Image to 3D (<code>img23d</code>)</td>\n<td>Gen-2.5, or Fast</td>\n<td><code>images</code></td>\n</tr>\n<tr>\n<td>Text to 3D (<code>txt23d</code>)</td>\n<td>Gen-2.5 Text to 3D, or Fast</td>\n<td><code>prompt</code></td>\n</tr>\n<tr>\n<td>Split and retexture (<code>3d23d</code>)</td>\n<td>Bang!</td>\n<td><code>model</code> + <code>image</code></td>\n</tr>\n</tbody>\n</table>\n<p><code>images</code> is an array even for one still (up to 5 at authoring time), every entry a view of one subject, never an alternative concept. Prompt is optional on the image members: left empty, Rodin writes one from the images. Shared generator knobs: <code>qualityMeshOption</code> (topology and poly budget in one enum string, \"18K Quad\"), <code>material</code> (PBR, Shaded, All, None), <code>textureDelight</code> (strips baked lighting), <code>TAPose</code> (true poses the character in T or A pose for rigging; the schema does not pick between them), <code>seed</code> (0 to 65535).</p>\n<h2>The lane decides the dialect</h2>\n<p>Full and Fast express the same ideas through different parameters, so a payload never moves between lanes unchanged. At authoring time the full lane's <code>tier</code> ran Gen-2.5-Extreme-Low through Gen-2.5-Extreme-High (Extreme High bills double the base rate), HighPack rode in <code>addons</code> as a string (on a Quad mesh it multiplies faces about 16 times), <code>geometryInstructMode: \"creative\"</code> loosened interpretation, <code>isSymmetric</code> steered symmetry, and <code>isMicro</code> took effect only on Extreme High. The Fast lane's <code>tier</code> stopped at Gen-2.5-Minimum, Gen-2.5-Extreme-Low, and Gen-2.5-Low for one fixed price, <code>highPack</code> was a boolean, <code>enableCreativeMode</code> added generative robustness without losing consistency, and meshes capped at 20K behind an Auto default. In both lanes HighPack means 4K textures plus high-poly geometry at extra cost: <code>dry_run</code> the exact payload before any batch. Text members drop the image-only switches (<code>useOriginalAlpha</code>, <code>previewRender</code>).</p>\n<h2>Bang! wants a finished mesh</h2>\n<p>Bang! is 3D-to-3D: it takes an existing 3D asset as <code>model</code> plus a reference <code>image</code> (both required at authoring time, <code>prompt</code> is optional guidance), splits the mesh into semantically meaningful parts, and regenerates each part's materials in the same pass. <code>strength</code> (2 to 12, default 5) sets how fine the split gets, higher splitting into more parts; <code>material</code> defaults to PBR here, not All; <code>resolution</code> \"Basic\" is 2K, \"High\" is 4K. At authoring time it ran several minutes and cost more per asset than a default generator run: <code>dry_run</code> it like any other member.</p>\n<h2>Worked example: a rig-ready character from turnaround stills</h2>\n<ol>\n<li><code>search</code> with <code>target=\"models\"</code>, <code>query=\"rodin\"</code>, <code>public=true</code>. Match capability to task (<code>img23d</code> here, <code>txt23d</code> for prompt-only, Fast for cheap drafts), e.g. <code>model_rodin-hyper3d-v2-5</code> (a live hit at authoring time: re-discover each session).</li>\n<li><code>model_schema_get</code> with that id: enums, defaults, and caps before anything else.</li>\n<li><code>upload_asset</code> the turnaround stills (see the <code>scenario</code> skill) to get asset ids.</li>\n<li><code>model_run</code> with that <code>model_id</code>, <code>dry_run=true</code>, and <code>parameters={\"images\": [\"asset_front\", \"asset_side\", \"asset_back\"], \"prompt\": \"stylized adventurer, clean silhouette\", \"tier\": \"Gen-2.5-Medium\", \"qualityMeshOption\": \"18K Quad\", \"material\": \"PBR\", \"textureDelight\": true, \"TAPose\": true}</code>; re-estimate after any tier or HighPack change.</li>\n<li>Re-run with <code>wait=false</code>, then <code>jobs_wait</code> with the returned job id, re-called with <code>pending_job_ids</code> on timeout. Full-lane jobs take minutes; a timeout is not a failure and never justifies a second <code>model_run</code>.</li>\n<li><code>asset_display</code> the mesh, then <code>asset_download</code> for engine import (details in the <code>scenario-3d</code> skill).</li>\n</ol>\n<h2>Common mistakes</h2>\n<ul>\n<li>A bare string in <code>images</code>: one still goes as <code>[\"asset_x\"]</code>.</li>\n<li>Carrying a payload across lanes: <code>addons: \"HighPack\"</code> versus boolean <code>highPack</code>, <code>geometryInstructMode</code> versus <code>enableCreativeMode</code>, disjoint <code>tier</code> enums.</li>\n<li>Asking the Fast lane for Medium or High tiers or a 500K mesh: its enums stop at Low and 20K.</li>\n<li>Setting <code>isMicro</code> below Extreme High on the full lane: it changes nothing.</li>\n<li>Handing Bang! an image as <code>model</code>: <code>model</code> is a 3D asset; the <code>image</code> guides the regenerated textures.</li>\n<li>Freeform enum strings: values are exact, \"Gen-2.5-Medium\", \"18K Quad\", not \"medium\" or \"18k quad\".</li>\n</ul>\n","files":[{"path":"SKILL.md","sizeBytes":5578,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-10-17T09:12:44.493411Z","sha256":"7C734965A42FCFDDBD80FE857125E7B42F0DCF01744B253167E5F5BE84CF42F1","sizeBytes":2703},"review":null,"source":{"repositoryUrl":"https://github.com/scenario-labs/skills","path":"skills/scenario-rodin","license":"MIT","commit":"dc592af7139ffacfe8fdae7dc7efa80f4dd09be3","subtreeSha":"E3E049747882EE4ED8A946D44438134CAA3D66C839C835565174B31D5BB314EE","lastSyncedAt":"2026-10-17T09:10:46.286688Z"},"reviewedAt":"2026-10-17T09:15:43.496571Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/scenario-labs/skills/tree/main/skills/scenario-rodin"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install scenario-labs-skills@llmmart"},{"target":"git","command":"git clone https://github.com/scenario-labs/skills.git"}]}