About scenario-rodin
scenario-rodin is a skill for using Scenario’s Rodin Hyper3D models to create 3D assets from images or text, or to split and retexture an existing mesh. It guides creators through choosing model variants, checking schemas, and running jobs.
Key features
- 01Image-to-3D and text-to-3D generation
- 02Full and Fast model variants
- 03Mesh splitting and material regeneration with Bang!
- 04Guidance on parameters and model schemas
- 05Job polling and asset export workflows
Use cases
- 01Create a 3D character from multiple reference views
- 02Generate a draft asset from a text prompt
- 03Split an existing mesh and regenerate its materials
MCP support
The skill uses Scenario tools such as `search`, `model_schema_get`, `model_run`, and asset management tools through the `scenario` skill.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ scenario-labs/ skills --skill scenario-rodinAfter installing, type/scenario-rodinin Claude Code to confirm it loaded.
Details
From the project READMEScenario Rodin 3D
Overview
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 search and treat model_schema_get as the contract: the lanes agree on
ideas and disagree on parameter names.
Connection and the core loop: see the scenario skill in this repo; model-agnostic 3D work: the
scenario-3d skill. If a sibling skill named here is missing from your available skills, ask the
user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from
tool schemas and flag the gap.
Quick reference
Pick the member by task:
| Task | Member | Required inputs |
|---|---|---|
Image to 3D (img23d) | Gen-2.5, or Fast | images |
Text to 3D (txt23d) | Gen-2.5 Text to 3D, or Fast | prompt |
Split and retexture (3d23d) | Bang! | model + image |
images 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: qualityMeshOption (topology and poly budget in
one enum string, "18K Quad"), material (PBR, Shaded, All, None), textureDelight (strips baked
lighting), TAPose (true poses the character in T or A pose for rigging; the schema does not pick
between them), seed (0 to 65535).
The lane decides the dialect
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 tier ran Gen-2.5-Extreme-Low through
Gen-2.5-Extreme-High (Extreme High bills double the base rate), HighPack rode in addons as a
string (on a Quad mesh it multiplies faces about 16 times), geometryInstructMode: "creative"
loosened interpretation, isSymmetric steered symmetry, and isMicro took effect only on Extreme
High. The Fast lane's tier stopped at Gen-2.5-Minimum, Gen-2.5-Extreme-Low, and Gen-2.5-Low for
one fixed price, highPack was a boolean, enableCreativeMode 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: dry_run the exact payload before any batch. Text
members drop the image-only switches (useOriginalAlpha, previewRender).
Bang! wants a finished mesh
Bang! is 3D-to-3D: it takes an existing 3D asset as model plus a reference image (both required
at authoring time, prompt is optional guidance), splits the mesh into semantically meaningful
parts, and regenerates each part's materials in the same pass. strength (2 to 12, default 5) sets
how fine the split gets, higher splitting into more parts; material defaults to PBR here, not All;
resolution "Basic" is 2K, "High" is 4K. At authoring time it ran several minutes and cost more per
asset than a default generator run: dry_run it like any other member.
Worked example: a rig-ready character from turnaround stills
searchwithtarget="models",query="rodin",public=true. Match capability to task (img23dhere,txt23dfor prompt-only, Fast for cheap drafts), e.g.model_rodin-hyper3d-v2-5(a live hit at authoring time: re-discover each session).model_schema_getwith that id: enums, defaults, and caps before anything else.upload_assetthe turnaround stills (see thescenarioskill) to get asset ids.model_runwith thatmodel_id,dry_run=true, andparameters={"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}; re-estimate after any tier or HighPack change.- Re-run with
wait=false, thenjobs_waitwith the returned job id, re-called withpending_job_idson timeout. Full-lane jobs take minutes; a timeout is not a failure and never justifies a secondmodel_run. asset_displaythe mesh, thenasset_downloadfor engine import (details in thescenario-3dskill).
Common mistakes
- A bare string in
images: one still goes as["asset_x"]. - Carrying a payload across lanes:
addons: "HighPack"versus booleanhighPack,geometryInstructModeversusenableCreativeMode, disjointtierenums. - Asking the Fast lane for Medium or High tiers or a 500K mesh: its enums stop at Low and 20K.
- Setting
isMicrobelow Extreme High on the full lane: it changes nothing. - Handing Bang! an image as
model:modelis a 3D asset; theimageguides the regenerated textures. - Freeform enum strings: values are exact, "Gen-2.5-Medium", "18K Quad", not "medium" or "18k quad".