refactor: rename project to hy3d, full CLI overhaul

- package hunyuan3dweb/ -> hy3d/ (imports: from hy3d import ...)
- CLI: MiniMax-style verb/noun commands (quota/list/status/formats/
  download/text/image/multi-view/sketch/animate/texture/topo/cancel/
  share/auth/config), global --json/--cookies, env HY3D_COOKIES/HY3D_JSON
- exit codes: 0 ok / 1 env / 2 auth-expired / 3 cookie-missing
- generation commands support --wait polling with stderr progress
- local images auto-upload to COS in image/multi-view/sketch/animate/texture/topo
- old commands removed (no backwards compat)
- config dir kept at ~/.config/hunyuan3dweb to preserve existing cookies
- deps: requests>=2.32.3, browser extras cloakbrowser>=0.3.31/playwright>=1.40
- skill updated: bin/hy3d shim replaces driver.sh; all commands live-verified
This commit is contained in:
2026-08-15 22:31:50 +08:00
parent 956b015ee0
commit acfe5e7ac2
23 changed files with 842 additions and 862 deletions
+18 -18
View File
@@ -60,7 +60,7 @@ Upload directly via `cos_upload.py` without a browser:
4. Obtain `resourceUrl` for subsequent image-to-3D API calls
```python
from hunyuan3dweb.cos_upload import upload_image
from hy3d.cos_upload import upload_image
resource_url = upload_image("/path/to/image.png")
```
@@ -71,15 +71,15 @@ resource_url = upload_image("/path/to/image.png")
| File | Description |
|------|-------------|
| `hunyuan3dweb/sign.py` | Signing algorithm in pure Python |
| `hunyuan3dweb/api.py` | Basic API client (image2model, text2model) |
| `hunyuan3dweb/api_complete.py` | Full API client (all generation modes) |
| `hunyuan3dweb/cos_upload.py` | Pure Python COS upload helper (no browser needed) |
| `hunyuan3dweb/config.py` | User config path management (cookies, profile) |
| `hunyuan3dweb/cli.py` | CLI entry point |
| `hunyuan3dweb/browser/login.py` | Browser automation login tool |
| `hunyuan3dweb/browser/generator.py` | Browser automation image-to-3D |
| `hunyuan3dweb/browser/sniffer.py` | API request sniffer |
| `hy3d/sign.py` | Signing algorithm in pure Python |
| `hy3d/api.py` | Basic API client (image2model, text2model) |
| `hy3d/api_complete.py` | Full API client (all generation modes) |
| `hy3d/cos_upload.py` | Pure Python COS upload helper (no browser needed) |
| `hy3d/config.py` | User config path management (cookies, profile) |
| `hy3d/cli.py` | CLI entry point |
| `hy3d/browser/login.py` | Browser automation login tool |
| `hy3d/browser/generator.py` | Browser automation image-to-3D |
| `hy3d/browser/sniffer.py` | API request sniffer |
---
@@ -88,7 +88,7 @@ resource_url = upload_image("/path/to/image.png")
### 1. Login to Obtain Cookie
```bash
hunyuan3dweb-login
hy3d-login
# Follow prompts to enter email and verification code
# Login state is automatically saved to ~/.config/hunyuan3dweb/profile
# Cookies are also exported to ~/.config/hunyuan3dweb/cookies.txt
@@ -102,7 +102,7 @@ hunyuan3dweb-login
### 2. Pure Python 3D Generation
```python
from hunyuan3dweb import Hunyuan3DAPI
from hy3d import Hunyuan3DAPI
# Automatically load cookie from ~/.config/hunyuan3dweb/cookies.txt
api = Hunyuan3DAPI()
@@ -120,8 +120,8 @@ status = api.get_generation_status(result["creationsId"])
### 3. Local Image Upload + Image-to-3D (Pure Python)
```python
from hunyuan3dweb.cos_upload import upload_image
from hunyuan3dweb import Hunyuan3DAPIComplete
from hy3d.cos_upload import upload_image
from hy3d import Hunyuan3DAPIComplete
# Upload local image to COS
resource_url = upload_image("/path/to/image.png")
@@ -135,16 +135,16 @@ result = api.generate_from_image(resource_url, title="My Model")
```bash
# List available formats for a creation
hunyuan3dweb formats <creation_id>
hy3d formats <creation_id>
# Include converted formats (fbx, stl, usdz, mp4, gif)
hunyuan3dweb formats <creation_id> --converted
hy3d formats <creation_id> --converted
# Download a specific format (default: glb)
hunyuan3dweb download <creation_id> --format glb -o model.glb
hy3d download <creation_id> --format glb -o model.glb
# Download a converted format
hunyuan3dweb download <creation_id> --format usdz --converted -o model.usdz
hy3d download <creation_id> --format usdz --converted -o model.usdz
```
---