Archived
This project has been archived by its maintainers, and is no longer receiving any updates.
mesh-toolkit
Python SDK for Meshy AI 3D asset generation API.
Installation
pip install mesh-toolkit
Usage
from mesh_toolkit import text3d, rigging, animate, retexture
# Generate a 3D model
model = text3d.generate("a medieval sword with ornate handle")
# Rig it for animation
rigged = rigging.rig(model.id)
# Apply an animation (678 available)
animated = animate.apply(rigged.id, animation_id=0) # Idle
# Or retexture it
gold = retexture.apply(model.id, "golden with embedded gems")
Modules
text3d
from mesh_toolkit import text3d
# Generate model
result = text3d.generate("a wooden chest", art_style="realistic")
print(result.model_urls.glb)
# Or manually control the workflow
task_id = text3d.create(request) # Returns immediately
result = text3d.get(task_id) # Check status
result = text3d.poll(task_id) # Wait for completion
rigging
from mesh_toolkit import rigging
result = rigging.rig(model_id)
# Or from URL
result = rigging.rig_from_url("https://example.com/model.glb")
animate
from mesh_toolkit import animate
from mesh_toolkit.animations import ANIMATIONS
# Apply animation
result = animate.apply(rigged_id, animation_id=0)
# Browse 678 animations
for anim in ANIMATIONS.values():
print(f"{anim.id}: {anim.name} ({anim.category})")
retexture
from mesh_toolkit import retexture
result = retexture.apply(model_id, "rusty metal with scratches")
# Or from reference image
result = retexture.apply_from_image(model_id, "https://example.com/style.png")
Architecture
mesh_toolkit/
├── base.py # HTTP infrastructure (auth, retries, rate limiting)
├── text3d.py # Text-to-3D API
├── rigging.py # Rigging API
├── animate.py # Animation API
├── retexture.py # Retexture API
├── animations.py # 678 animation catalog
├── models.py # Pydantic models
└── jobs.py # Batch workflow orchestration
Each API module imports base and implements its endpoints directly. No monolithic client class.
Environment Variables
| Variable | Description |
|---|---|
MESHY_API_KEY |
Your Meshy API key (required) |
License
MIT
Metadata
Release files for mesh-toolkit 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mesh_toolkit-0.1.0.tar.gz | 61.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mesh_toolkit-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 117.6 kB
Release files / mesh_toolkit-0.1.0.tar.gz
| Download URL | mesh_toolkit-0.1.0.tar.gz |
|---|---|
| Size | 61.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ed18feee92fe5a09253c60da55c629ebfc8cef7fca15e44aebad80bafb2cb8a3
|
|
BLAKE2b-256 checksum How to use checksums |
48bfe83eb8ea3edc6f911018944fb8592205e00fb044598c31d1e682ab36cfa6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / mesh_toolkit-0.1.0-py3-none-any.whl
| Download URL | mesh_toolkit-0.1.0-py3-none-any.whl |
|---|---|
| Size | 56.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
db4036581ec7d641724b9517501acf2d2d6e46c66a9ee812ce005e9e7917a1da
|
|
BLAKE2b-256 checksum How to use checksums |
91de183db173626e96695e08ae24da7337f69c594635782ccb29de584694a357
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|