Scenario Rodin 3D
SkillMediaGenerates 3D models from images or text prompts using Rodin Hyper3D on Scenario, with quality and pose options.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Scenario Rodin 3D skill
About this skill
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
What this skill tells your AI
The instructions your AI receives, as published by scenario-labs/skills in skills/scenario-rodin/SKILL.md and read by ahel’s review.
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".
Signals
- GitHub stars
- 681
- Forks
- 82
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
scenario-rodin- Source
- github.com/scenario-labs/skills