Step1X-3D
101
license:apache-2.0
by
stepfun-ai
Other
OTHER
New
0 downloads
Early-stage
Edge AI:
Mobile
Laptop
Server
Unknown
Mobile
Laptop
Server
Quick Summary
Step1X-3D: Towards High-Fidelity and Controllable Generation of Textured 3D Assets Step1X-3D demonstrates the capability to generate 3D assets with high-fideli...
Code Examples
Usagepython
# Stage 1: 3D geometry generation
from step1x3d_geometry.models.pipelines.pipeline import Step1X3DGeometryPipeline
# define the pipeline
geometry_pipeline = Step1X3DGeometryPipeline.from_pretrained("stepfun-ai/Step1X-3D", subfolder='Step1X-3D-Geometry-1300m'
).to("cuda")
# input image
input_image_path = "examples/test.png"
# run pipeline and obtain the untextured mesh
generator = torch.Generator(device=geometry_pipeline.device).manual_seed(2025)
out = geometry_pipeline(input_image_pathοΌguidance_scale=7.5, num_inference_steps=50)
# export untextured mesh as .glb format
out.mesh[0].export("untexture_mesh.glb")
# Stage 2: 3D texure synthsis
from step1x3d_texture.pipelines.step1x_3d_texture_synthesis_pipeline import (
Step1X3DTexturePipeline,
)
from step1x3d_geometry.models.pipelines.pipeline_utils import reduce_face, remove_degenerate_face
import trimesh
# load untextured mesh
untexture_mesh = trimesh.load("untexture_mesh.glb")
# define texture_pipeline
texture_pipeline = Step1X3DTexturePipeline.from_pretrained("stepfun-ai/Step1X-3D", subfolder="Step1X-3D-Texture")
# reduce face
untexture_mesh = remove_degenerate_face(untexture_mesh)
untexture_mesh = reduce_face(untexture_mesh)
# texture mapping
textured_mesh = texture_pipeline(input_image_path, untexture_mesh)
# export textured mesh as .glb format
textured_mesh.export("textured_mesh.glb")Usagepython
# Stage 1: 3D geometry generation
from step1x3d_geometry.models.pipelines.pipeline import Step1X3DGeometryPipeline
# define the pipeline
geometry_pipeline = Step1X3DGeometryPipeline.from_pretrained("stepfun-ai/Step1X-3D", subfolder='Step1X-3D-Geometry-1300m'
).to("cuda")
# input image
input_image_path = "examples/test.png"
# run pipeline and obtain the untextured mesh
generator = torch.Generator(device=geometry_pipeline.device).manual_seed(2025)
out = geometry_pipeline(input_image_pathοΌguidance_scale=7.5, num_inference_steps=50)
# export untextured mesh as .glb format
out.mesh[0].export("untexture_mesh.glb")
# Stage 2: 3D texure synthsis
from step1x3d_texture.pipelines.step1x_3d_texture_synthesis_pipeline import (
Step1X3DTexturePipeline,
)
from step1x3d_geometry.models.pipelines.pipeline_utils import reduce_face, remove_degenerate_face
import trimesh
# load untextured mesh
untexture_mesh = trimesh.load("untexture_mesh.glb")
# define texture_pipeline
texture_pipeline = Step1X3DTexturePipeline.from_pretrained("stepfun-ai/Step1X-3D", subfolder="Step1X-3D-Texture")
# reduce face
untexture_mesh = remove_degenerate_face(untexture_mesh)
untexture_mesh = reduce_face(untexture_mesh)
# texture mapping
textured_mesh = texture_pipeline(input_image_path, untexture_mesh)
# export textured mesh as .glb format
textured_mesh.export("textured_mesh.glb")Usagepython
# Stage 1: 3D geometry generation
from step1x3d_geometry.models.pipelines.pipeline import Step1X3DGeometryPipeline
# define the pipeline
geometry_pipeline = Step1X3DGeometryPipeline.from_pretrained("stepfun-ai/Step1X-3D", subfolder='Step1X-3D-Geometry-1300m'
).to("cuda")
# input image
input_image_path = "examples/test.png"
# run pipeline and obtain the untextured mesh
generator = torch.Generator(device=geometry_pipeline.device).manual_seed(2025)
out = geometry_pipeline(input_image_pathοΌguidance_scale=7.5, num_inference_steps=50)
# export untextured mesh as .glb format
out.mesh[0].export("untexture_mesh.glb")
# Stage 2: 3D texure synthsis
from step1x3d_texture.pipelines.step1x_3d_texture_synthesis_pipeline import (
Step1X3DTexturePipeline,
)
from step1x3d_geometry.models.pipelines.pipeline_utils import reduce_face, remove_degenerate_face
import trimesh
# load untextured mesh
untexture_mesh = trimesh.load("untexture_mesh.glb")
# define texture_pipeline
texture_pipeline = Step1X3DTexturePipeline.from_pretrained("stepfun-ai/Step1X-3D", subfolder="Step1X-3D-Texture")
# reduce face
untexture_mesh = remove_degenerate_face(untexture_mesh)
untexture_mesh = reduce_face(untexture_mesh)
# texture mapping
textured_mesh = texture_pipeline(input_image_path, untexture_mesh)
# export textured mesh as .glb format
textured_mesh.export("textured_mesh.glb")Usagepython
# Stage 1: 3D geometry generation
from step1x3d_geometry.models.pipelines.pipeline import Step1X3DGeometryPipeline
# define the pipeline
geometry_pipeline = Step1X3DGeometryPipeline.from_pretrained("stepfun-ai/Step1X-3D", subfolder='Step1X-3D-Geometry-1300m'
).to("cuda")
# input image
input_image_path = "examples/test.png"
# run pipeline and obtain the untextured mesh
generator = torch.Generator(device=geometry_pipeline.device).manual_seed(2025)
out = geometry_pipeline(input_image_pathοΌguidance_scale=7.5, num_inference_steps=50)
# export untextured mesh as .glb format
out.mesh[0].export("untexture_mesh.glb")
# Stage 2: 3D texure synthsis
from step1x3d_texture.pipelines.step1x_3d_texture_synthesis_pipeline import (
Step1X3DTexturePipeline,
)
from step1x3d_geometry.models.pipelines.pipeline_utils import reduce_face, remove_degenerate_face
import trimesh
# load untextured mesh
untexture_mesh = trimesh.load("untexture_mesh.glb")
# define texture_pipeline
texture_pipeline = Step1X3DTexturePipeline.from_pretrained("stepfun-ai/Step1X-3D", subfolder="Step1X-3D-Texture")
# reduce face
untexture_mesh = remove_degenerate_face(untexture_mesh)
untexture_mesh = reduce_face(untexture_mesh)
# texture mapping
textured_mesh = texture_pipeline(input_image_path, untexture_mesh)
# export textured mesh as .glb format
textured_mesh.export("textured_mesh.glb")export textured mesh as .glb formattext
@article{li2025step1x3dhighfidelitycontrollablegeneration,
title={Step1X-3D: Towards High-Fidelity and Controllable Generation of Textured 3D Assets},
author={Weiyu Li and Xuanyang Zhang and Zheng Sun and Di Qi and Hao Li and Wei Cheng and Weiwei Cai and Shihao Wu and Jiarui Liu and Zihao Wang and Xiao Chen and Feipeng Tian and Jianxiong Pan and Zeming Li and Gang Yu and Xiangyu Zhang and Daxin Jiang and Ping Tan},
journal={arXiv preprint arxiv:2505.07747}
year={2025}
}export textured mesh as .glb formattext
@article{li2025step1x3dhighfidelitycontrollablegeneration,
title={Step1X-3D: Towards High-Fidelity and Controllable Generation of Textured 3D Assets},
author={Weiyu Li and Xuanyang Zhang and Zheng Sun and Di Qi and Hao Li and Wei Cheng and Weiwei Cai and Shihao Wu and Jiarui Liu and Zihao Wang and Xiao Chen and Feipeng Tian and Jianxiong Pan and Zeming Li and Gang Yu and Xiangyu Zhang and Daxin Jiang and Ping Tan},
journal={arXiv preprint arxiv:2505.07747}
year={2025}
}export textured mesh as .glb formattext
@article{li2025step1x3dhighfidelitycontrollablegeneration,
title={Step1X-3D: Towards High-Fidelity and Controllable Generation of Textured 3D Assets},
author={Weiyu Li and Xuanyang Zhang and Zheng Sun and Di Qi and Hao Li and Wei Cheng and Weiwei Cai and Shihao Wu and Jiarui Liu and Zihao Wang and Xiao Chen and Feipeng Tian and Jianxiong Pan and Zeming Li and Gang Yu and Xiangyu Zhang and Daxin Jiang and Ping Tan},
journal={arXiv preprint arxiv:2505.07747}
year={2025}
}export textured mesh as .glb formattext
@article{li2025step1x3dhighfidelitycontrollablegeneration,
title={Step1X-3D: Towards High-Fidelity and Controllable Generation of Textured 3D Assets},
author={Weiyu Li and Xuanyang Zhang and Zheng Sun and Di Qi and Hao Li and Wei Cheng and Weiwei Cai and Shihao Wu and Jiarui Liu and Zihao Wang and Xiao Chen and Feipeng Tian and Jianxiong Pan and Zeming Li and Gang Yu and Xiangyu Zhang and Daxin Jiang and Ping Tan},
journal={arXiv preprint arxiv:2505.07747}
year={2025}
}Deploy This Model
Production-ready deployment in minutes
Together.ai
Instant API access to this model
Production-ready inference API. Start free, scale to millions.
Try Free APIReplicate
One-click model deployment
Run models in the cloud with simple API. No DevOps required.
Deploy NowDisclosure: We may earn a commission from these partners. This helps keep LLMYourWay free.