skills/rodin3d-skill/SKILL.md
Enterprise-grade 3D model generation using Hyper3D Rodin Gen-2.5 API. Enables production-quality Image-to-3D and Text-to-3D conversion with advanced geometry and texture controls.
npx skillsauth add deemostech/rodin3d-skills rodin3d-skillInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill provides a comprehensive integration with the Hyper3D Rodin Gen-2.5 API, enabling developers to generate production-ready 3D models from images or text prompts. The skill handles API authentication, task submission, status polling, and result retrieval with enterprise-grade reliability.
Key Capabilities:
vibecoding (automatically used when no key is provided)pip install -r requirements.txt# Quick start with free test key (no API key required)
python scripts/generate_3d_model.py \
--image input.jpg \
--tier Gen-2.5-Medium \
--output ./output
# Generate from image with your API key
python scripts/generate_3d_model.py \
--image input.jpg \
--tier Gen-2.5-High \
--geometry-file-format glb \
--quality medium \
--output ./output \
--api-key $HYPER3D_API_KEY
# Generate from text
python scripts/generate_3d_model.py \
--prompt "A detailed 3D model of a vintage camera" \
--tier Gen-2.5-Medium \
--output ./output
| Endpoint | Method | Purpose |
|----------|--------|---------|
| /api/v2/rodin | POST | Submit generation task |
| /api/v2/status | POST | Check task status |
| /api/v2/download | POST | Retrieve download links |
/api/v2/rodin → Returns subscription_key and task_uuid/api/v2/status with subscription_key → Check job status/api/v2/download with task_uuid → Get result URLs (expire in 10 minutes)| Tier | Description | Credit Cost | Recommended Use Case |
|------|-------------|-------------|---------------------|
| Gen-2.5-Extreme-Low | Rapid generation for simple assets | 0.5 | Prototyping, quick iterations |
| Gen-2.5-Low | Clean assets, small hardsurface props | 0.5 | Basic models, low-poly assets |
| Gen-2.5-Medium | Balanced structure and detail | 0.5 | Default - general purpose |
| Gen-2.5-High | Rich structural representation, smooth surfaces | 0.5 | Production-ready assets |
| Gen-2.5-Extreme-High | High-frequency detail reproduction | 1.0 | Premium quality, final renders |
| Gen-2 | Legacy tier | 0.5 | Backward compatibility |
| Detail/Regular/Smooth/Sketch | Legacy tiers | 0.5 | Deprecated, use Gen-2.5 |
| Quality | Raw Mode | Quad Mode | Use Case |
|---------|----------|-----------|----------|
| high | 1M faces | 50k faces | Production, close-ups |
| medium | 500k faces | 18k faces | Default - balanced |
| low | 60k faces | 8k faces | Real-time applications |
| extra-low | 20k faces | 4k faces | Mobile, VR/AR |
| Material | Description |
|----------|-------------|
| PBR | Physically Based Rendering (base color, metallic, normal, roughness maps) |
| Shaded | Base color texture with baked lighting |
| All | Both PBR and Shaded materials |
| None | Geometry only, no materials |
| Parameter | Type | Description | Default |
|-----------|------|-------------|---------|
| hd_texture | bool | Enable 4K texture generation | false |
| texture_delight | bool | Enhance texture quality and detail | false |
| texture_mode | string | Advanced texture generation mode | None |
| is_micro | bool | Optimize for micro-scale objects | false |
| geometry_instruct_mode | string | Geometry generation guidance | faithful |
| Mode | Description | Recommended For |
|------|-------------|----------------|
| Raw | Triangle mesh, maximum detail preservation | Gen-2.5 tiers |
| Quad | Quadrilateral mesh, cleaner topology | Legacy tiers |
| Addon | Cost | Description |
|-------|------|-------------|
| HighPack | +1 credit | 4K texture resolution upgrade |
# Image input (required for Image-to-3D)
--image path/to/image1.jpg [path/to/image2.jpg ...]
# OR Text input (required for Text-to-3D)
--prompt "Your text description"
# Core settings
--tier Gen-2.5-Medium # Generation tier
--geometry-file-format glb # Output format: glb, usdz, fbx, obj, stl
--quality medium # Face count: high, medium, low, extra-low
--material PBR # Material type: PBR, Shaded, All
# Advanced geometry
--mesh-mode Raw # Raw or Quad
--quality-override 500000 # Custom polygon count
--bbox-condition 100 100 100 # Bounding box [Width, Height, Length]
--tapose # Generate T/A pose for humanoids
# Texture enhancements (Gen-2.5)
--hd-texture # Enable HD textures
--texture-delight # Enhance texture quality
--texture-mode <mode> # Advanced texture mode
# Object properties (Gen-2.5)
--is-micro # Micro-scale optimization
# Generation control
--seed 12345 # Random seed (0-65535)
--geometry-instruct-mode faithful # Geometry guidance mode
# Output options
--preview-render # Generate preview image
--addons HighPack # Additional features
--output ./output # Download directory
--api-key $HYPER3D_API_KEY # Authentication
# Polling configuration
--poll-interval 10 # Status check interval (seconds)
--max-retries 60 # Maximum polling attempts
python scripts/generate_3d_model.py \
--image product.jpg \
--tier Gen-2.5-High \
--geometry-file-format glb \
--quality high \
--material PBR \
--mesh-mode Raw \
--hd-texture \
--texture-delight \
--addons HighPack \
--output ./production
python scripts/generate_3d_model.py \
--prompt "A futuristic smartphone" \
--tier Gen-2.5-Extreme-Low \
--geometry-file-format glb \
--quality low \
--output ./prototypes
Fast generation mode is triggered by a specific combination of parameters optimized for speed:
python scripts/generate_3d_model.py \
--image product.jpg \
--tier Gen-2.5-Low \
--material Shaded \
--mesh-mode Raw \
--quality-override 20000 \
--texture-mode low \
--output ./quick-preview
Fast Mode Parameters:
| Parameter | Value | Description |
|-----------|-------|-------------|
| tier | Gen-2.5-Low | Use low tier for faster generation |
| material | Shaded | Simplified material output |
| mesh_mode | Raw | Triangle mesh for faster processing |
| quality_override | 20000 | Reduced polygon count |
| texture_mode | low | Low resolution textures |
Trigger Condition: Fast mode is automatically activated when all of the above parameters are set together. This combination provides the quickest generation time for rapid prototyping and preview purposes.
# Process multiple images sequentially
for img in ./input/*.jpg; do
python scripts/generate_3d_model.py \
--image "$img" \
--tier Gen-2.5-Medium \
--output ./output/$(basename "$img" .jpg)
done
from api_client import Hyper3DAPIClient
# Initialize client
client = Hyper3DAPIClient(api_key="your_api_key")
# Generate from image
task_uuid, result = client.generate_3d_model(
images=["input.jpg"],
tier="Gen-2.5-High",
geometry_file_format="glb",
quality="high",
material="PBR",
mesh_mode="Raw",
hd_texture=True,
texture_delight=True,
poll_interval=15,
max_retries=40
)
# Process results
print(f"Task completed: {task_uuid}")
for file_info in result.get("list", []):
print(f"File: {file_info['name']} - URL: {file_info['url']}")
from api_client import Hyper3DAPIClient
client = Hyper3DAPIClient(api_key="your_api_key")
# Custom generation with all parameters
task_uuid, result = client.generate_3d_model(
images=["front.jpg", "side.jpg", "top.jpg"],
prompt="A vintage pocket watch with intricate details",
tier="Gen-2.5-Extreme-High",
geometry_file_format="fbx",
quality="high",
material="All",
mesh_mode="Raw",
use_original_alpha=True,
seed=42,
TAPose=False,
bbox_condition=[100, 100, 50],
addons=["HighPack"],
preview_render=True,
hd_texture=True,
texture_delight=True,
is_micro=False,
geometry_instruct_mode="faithful"
)
# Submit task
submit_result = client.submit_generation_task(
images=["input.jpg"],
tier="Gen-2.5-Medium"
)
subscription_key = submit_result["jobs"]["subscription_key"]
task_uuid = submit_result["uuid"]
# Manual polling
import time
for _ in range(60):
status = client.check_task_status(subscription_key)
jobs = status.get("jobs", [])
if all(job["status"] == "Done" for job in jobs):
break
elif any(job["status"] == "Failed" for job in jobs):
raise Exception("Task failed")
time.sleep(10)
# Get download links
download_result = client.download_results(task_uuid)
| Error | Cause | Resolution |
|-------|-------|------------|
| Not authenticated | Invalid or missing API key | Verify HYPER3D_API_KEY is set correctly |
| INSUFFICIENT_FUND | Insufficient credits | Add funds via Hyper3D dashboard |
| Invalid tier | Unknown tier value | Use valid Gen-2.5 tier (see Tier Selection) |
| Invalid image | Image format/size error | Use JPEG/PNG/WebP, max 16MB, 512x512-4096x4096 |
| Timeout | Generation took too long | Increase --max-retries, check API status |
ImageUtils.validate_image() before submission# Enable verbose output
python scripts/generate_3d_model.py \
--image input.jpg \
--tier Gen-2.5-Medium \
--output ./output \
--api-key $HYPER3D_API_KEY 2>&1 | tee generation.log
| Scenario | Recommended Settings |
|----------|---------------------|
| Fast iteration | Gen-2.5-Extreme-Low, quality=extra-low |
| Preview renders | Gen-2.5-Low, quality=low |
| Production assets | Gen-2.5-High, quality=high, hd_texture |
| Archival quality | Gen-2.5-Extreme-High, quality=high, HighPack |
The skill uses API keys in the following priority order:
--api-key argument (highest priority)HYPER3D_API_KEYvibecoding (automatically used when no key is provided)A free test API key (vibecoding) is built-in for evaluation purposes:
export HYPER3D_API_KEY="your_production_key_here"
echo 'HYPER3D_API_KEY=your_production_key_here' >> ~/.bashrc
source ~/.bashrc
HYPER3D_API_KEY environment variable for production| Skill Version | API Version | Notes | |---------------|-------------|-------| | 2.0.0 | Gen-2.5 | Full Gen-2.5 feature support | | 1.0.0 | Gen-2 | Legacy support maintained |
--hd-texture)--texture-delight)--is-micro)--geometry-instruct-mode)Gen-2.5-MediumRawdevelopment
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.
development
End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.