@hyper3d/cli 0.1.0-beta.2.1 → 0.1.0-beta.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +77 -37
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
# Hyper3D CLI
|
|
2
2
|
|
|
3
|
-
Generate 3D models from text or images,
|
|
4
|
-
|
|
3
|
+
Generate Rodin Gen-2.5 3D models from text or reference images, split completed
|
|
4
|
+
models into parts with BANG, and retrieve download links from your terminal.
|
|
5
|
+
Use readable output interactively or JSON output in scripts.
|
|
5
6
|
|
|
6
7
|
## Install
|
|
7
8
|
|
|
8
|
-
Requires **Node.js 22 or newer
|
|
9
|
-
release; the registry commands below become available after that release.
|
|
9
|
+
Requires **Node.js 22 or newer** and a Hyper3D account. Install the stable release:
|
|
10
10
|
|
|
11
11
|
```sh
|
|
12
|
-
npm install --global @hyper3d/cli
|
|
12
|
+
npm install --global @hyper3d/cli@latest
|
|
13
|
+
hyper3d --version
|
|
13
14
|
hyper3d --help
|
|
14
15
|
```
|
|
15
16
|
|
|
@@ -26,8 +27,8 @@ yarn dlx @hyper3d/cli@latest --help
|
|
|
26
27
|
```
|
|
27
28
|
|
|
28
29
|
For a project-local installation, run `npm install --save-dev @hyper3d/cli`, then
|
|
29
|
-
`npx hyper3d --help`.
|
|
30
|
-
|
|
30
|
+
`npx hyper3d --help`. For preview builds or switching from beta to stable, see
|
|
31
|
+
[Updates](#updates).
|
|
31
32
|
|
|
32
33
|
## Sign in
|
|
33
34
|
|
|
@@ -50,7 +51,8 @@ Signing out locally does not revoke your server-side authorization.
|
|
|
50
51
|
|
|
51
52
|
## Generate a model
|
|
52
53
|
|
|
53
|
-
Generation uses credits from
|
|
54
|
+
Generation uses credits from the personal or team workspace you authorized at
|
|
55
|
+
sign-in. Run `hyper3d auth status` to check that workspace and its credit balances.
|
|
54
56
|
|
|
55
57
|
```sh
|
|
56
58
|
# From text
|
|
@@ -63,8 +65,17 @@ hyper3d generate --image ./reference.png
|
|
|
63
65
|
hyper3d generate --image ./front.png --image ./side.jpg --prompt "a ceramic teapot"
|
|
64
66
|
```
|
|
65
67
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
+
Provide a prompt, one to five images, or both. Generation options:
|
|
69
|
+
|
|
70
|
+
| Option | Accepted values | Default when omitted |
|
|
71
|
+
| ------------- | -------------------------------------------------------------- | ---------------------------- |
|
|
72
|
+
| `--tier` | `Gen-2.5-Medium`, `Gen-2.5-High`, `Gen-2.5-Extreme-Low` | `Gen-2.5-Medium` |
|
|
73
|
+
| `--mesh-mode` | `Raw`, `Quad` | `Raw` |
|
|
74
|
+
| `--format` | `glb`, `usdz`, `fbx`, `obj`, `stl` | `glb` |
|
|
75
|
+
| `--quality` | Target polygon count: Raw `500–1,000,000`; Quad `1,000–50,000` | Raw `500,000`; Quad `18,000` |
|
|
76
|
+
|
|
77
|
+
Defaults are applied by the server. The response includes a generation ID; use
|
|
78
|
+
it in place of `<generation-id>` to check progress and retrieve the result:
|
|
68
79
|
|
|
69
80
|
```sh
|
|
70
81
|
hyper3d status <generation-id>
|
|
@@ -72,15 +83,29 @@ hyper3d poll <generation-id> --timeout 300
|
|
|
72
83
|
hyper3d result <generation-id>
|
|
73
84
|
```
|
|
74
85
|
|
|
75
|
-
`
|
|
76
|
-
|
|
86
|
+
`status` checks progress once. `poll` waits until generation finishes or the
|
|
87
|
+
timeout expires (30 seconds by default). A polling timeout does not cancel the
|
|
88
|
+
generation; run `status` or `poll` again to keep following it. Once generation
|
|
89
|
+
completes, `result` returns download URLs; it does not save files to your machine.
|
|
77
90
|
|
|
78
|
-
|
|
91
|
+
## Split a model with BANG
|
|
92
|
+
|
|
93
|
+
Pass a completed model's generation ID to BANG. Omit `--instruction` for automatic
|
|
94
|
+
split planning, or describe the parts you want to separate:
|
|
79
95
|
|
|
80
96
|
```sh
|
|
81
97
|
hyper3d bang <generation-id> --instruction "separate the handle and lid"
|
|
82
98
|
```
|
|
83
99
|
|
|
100
|
+
| Option | Meaning / accepted values | Default when omitted |
|
|
101
|
+
| --------------- | --------------------------------------------------------------------------------- | ------------------------ |
|
|
102
|
+
| `--instruction` | Description of the parts to separate | Automatic split planning |
|
|
103
|
+
| `--strength` | Integer `1–12`; soft target for the number of parts, so the actual count may vary | `5` |
|
|
104
|
+
| `--format` | `glb`, `usdz`, `fbx`, `obj`, `stl` | `glb` |
|
|
105
|
+
|
|
106
|
+
BANG uses credits and returns a new generation ID. Use that new ID with `status`,
|
|
107
|
+
`poll`, and `result` to follow the split and retrieve its output.
|
|
108
|
+
|
|
84
109
|
Run `hyper3d <command> --help` for more options. If a generation request times out,
|
|
85
110
|
check your existing tasks before submitting it again; the CLI never retries
|
|
86
111
|
billable generation automatically.
|
|
@@ -100,15 +125,19 @@ exit with code `1`.
|
|
|
100
125
|
|
|
101
126
|
## Updates
|
|
102
127
|
|
|
128
|
+
For a global npm installation:
|
|
129
|
+
|
|
103
130
|
```sh
|
|
104
131
|
hyper3d update --check
|
|
105
132
|
hyper3d update
|
|
106
133
|
```
|
|
107
134
|
|
|
135
|
+
`update --check` reports the installed version, the channel's target version, and
|
|
136
|
+
whether an update is available. `update` installs it when the target is newer.
|
|
137
|
+
Stable versions follow `latest`; beta versions follow `beta`.
|
|
138
|
+
|
|
108
139
|
An interactive **npm global installation** checks for updates once a day before
|
|
109
|
-
model commands and only displays an update notice by default.
|
|
110
|
-
follow `latest`; prerelease-branch builds follow `beta`. Run `hyper3d update` to install
|
|
111
|
-
an available update.
|
|
140
|
+
model commands and only displays an update notice by default.
|
|
112
141
|
|
|
113
142
|
Set `HYPER3D_AUTO_UPDATE=1` to opt into automatic installation (which asks you to
|
|
114
143
|
rerun your command before submitting the model operation), or
|
|
@@ -128,9 +157,37 @@ npm install --save-dev @hyper3d/cli@latest
|
|
|
128
157
|
npx @hyper3d/cli@latest --help
|
|
129
158
|
```
|
|
130
159
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
160
|
+
Beta installations continue following beta after a stable release. To switch
|
|
161
|
+
channels explicitly, install the desired tag with your package manager:
|
|
162
|
+
|
|
163
|
+
```sh
|
|
164
|
+
# Switch to the stable release, including from beta
|
|
165
|
+
npm install --global @hyper3d/cli@latest
|
|
166
|
+
|
|
167
|
+
# Opt into beta builds
|
|
168
|
+
npm install --global @hyper3d/cli@beta
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
`hyper3d update` only installs newer versions. Reinstalling a tag explicitly also
|
|
172
|
+
lets you switch to a channel whose current version is older than yours.
|
|
173
|
+
|
|
174
|
+
## Configuration
|
|
175
|
+
|
|
176
|
+
The defaults work with the public Hyper3D service. To use another environment:
|
|
177
|
+
|
|
178
|
+
```sh
|
|
179
|
+
hyper3d --base-url https://api.hyper3d.com/api auth status
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
| Setting | Purpose | Default |
|
|
183
|
+
| ---------------------- | ----------------------------------------------------------------- | ----------------------------- |
|
|
184
|
+
| `BASE_URL` | API base URL; `--base-url` takes precedence | `https://api.hyper3d.com/api` |
|
|
185
|
+
| `HYPER3D_CONFIG_DIR` | Directory for credentials and update state | `~/.hyper3d` |
|
|
186
|
+
| `HYPER3D_AUTO_UPDATE` | Set to `1` to install updates automatically before model commands | Disabled |
|
|
187
|
+
| `HYPER3D_UPDATE_CHECK` | Set to `0` to disable automatic update checks and installation | Enabled |
|
|
188
|
+
|
|
189
|
+
API URLs require HTTPS except for localhost. Use a nonempty absolute path when
|
|
190
|
+
setting `HYPER3D_CONFIG_DIR`.
|
|
134
191
|
|
|
135
192
|
## Troubleshooting
|
|
136
193
|
|
|
@@ -146,24 +203,7 @@ newer version and never downgrades a pinned installation.
|
|
|
146
203
|
directory (`~/.hyper3d` by default, or the directory set by `HYPER3D_CONFIG_DIR`),
|
|
147
204
|
then run `hyper3d update`.
|
|
148
205
|
|
|
149
|
-
|
|
150
|
-
use another environment; a trailing slash is optional:
|
|
151
|
-
|
|
152
|
-
```sh
|
|
153
|
-
BASE_URL=https://api.hyper3d.com/api/ hyper3d auth status
|
|
154
|
-
hyper3d --base-url https://api.hyper3d.com/api auth status
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
`--base-url` overrides `BASE_URL`. MCP (`mcp`), account (`user/get_info`) and
|
|
158
|
-
team (`group/group_info`) endpoints are derived from this base. HTTPS is required
|
|
159
|
-
except for localhost. OAuth endpoints remain server-discovered, and upload/result
|
|
160
|
-
URLs remain server-provided.
|
|
161
|
-
|
|
162
|
-
`HYPER3D_CONFIG_DIR` changes the directory for credentials, the update cache
|
|
163
|
-
(`update-check.json`), and the update lock (`update.lock`). If unset, it defaults to
|
|
164
|
-
`~/.hyper3d`. Relative paths resolve from the current working directory; an empty
|
|
165
|
-
value uses the current working directory rather than the default. Use a nonempty
|
|
166
|
-
absolute path for a consistent location across commands.
|
|
206
|
+
## Contributing and support
|
|
167
207
|
|
|
168
208
|
For development and releases, see [CONTRIBUTING.md](https://github.com/DeemosTech/hyper3d-cli/blob/main/CONTRIBUTING.md) and the
|
|
169
209
|
[release guide](https://github.com/DeemosTech/hyper3d-cli/blob/main/docs/releasing.md). Report problems in
|
package/dist/index.js
CHANGED
|
@@ -58,12 +58,12 @@ authentication
|
|
|
58
58
|
cli
|
|
59
59
|
.command('generate')
|
|
60
60
|
.description('Generate a model from text and/or local reference images')
|
|
61
|
-
.option('--prompt <text>', 'Model description')
|
|
62
|
-
.option('--image <path>', 'Reference image; repeat for up to five images', (path, paths) => [...paths, path], [])
|
|
63
|
-
.option('--tier <tier>', 'Generation tier')
|
|
64
|
-
.option('--mesh-mode <mode>', 'Mesh mode,
|
|
65
|
-
.option('--format <format>', 'Geometry format,
|
|
66
|
-
.option('--quality <count>', 'Target polygon count', Number)
|
|
61
|
+
.option('--prompt <text>', 'Model description; required without --image')
|
|
62
|
+
.option('--image <path>', 'Reference image; repeat for up to five images; required without --prompt', (path, paths) => [...paths, path], [])
|
|
63
|
+
.option('--tier <tier>', 'Generation tier: Gen-2.5-Medium, Gen-2.5-High, Gen-2.5-Extreme-Low (server default: Gen-2.5-Medium)')
|
|
64
|
+
.option('--mesh-mode <mode>', 'Mesh mode: Raw, Quad (server default: Raw)')
|
|
65
|
+
.option('--format <format>', 'Geometry format: glb, usdz, fbx, obj, stl (server default: glb)')
|
|
66
|
+
.option('--quality <count>', 'Target polygon count: Raw 500-1,000,000, Quad 1,000-50,000 (server default: Raw 500,000, Quad 18,000)', Number)
|
|
67
67
|
.action(async (options) => print(await generate(options)));
|
|
68
68
|
// poll
|
|
69
69
|
for (const [command, action] of [
|
|
@@ -83,9 +83,9 @@ cli
|
|
|
83
83
|
cli
|
|
84
84
|
.command('bang <generation-id>')
|
|
85
85
|
.description('Run BANG to separate a completed model into parts')
|
|
86
|
-
.option('--instruction <text>', 'Parts to separate')
|
|
87
|
-
.option('--strength <count>', '
|
|
88
|
-
.option('--format <format>', 'Geometry format')
|
|
86
|
+
.option('--instruction <text>', 'Parts to separate; omit for automatic split planning')
|
|
87
|
+
.option('--strength <count>', 'Soft target part count, 1-12; actual count may vary (server default: 5)', Number)
|
|
88
|
+
.option('--format <format>', 'Geometry format: glb, usdz, fbx, obj, stl (server default: glb)')
|
|
89
89
|
.action(async (id, options) => print(await bang(id, options)));
|
|
90
90
|
// update
|
|
91
91
|
cli
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|