@meshy-ai/cli 0.4.0 → 0.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/.env.example +1 -1
- package/README.md +1 -1
- package/dist/cmd/multi-image-to-3d.d.ts +10 -3
- package/dist/cmd/multi-image-to-3d.d.ts.map +1 -1
- package/dist/cmd/multi-image-to-3d.js +17 -6
- package/dist/cmd/multi-image-to-3d.js.map +1 -1
- package/package.json +1 -1
- package/skills/meshy-cli/SKILL.md +6 -2
package/.env.example
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Your Meshy API key (https://www.meshy.ai/
|
|
1
|
+
# Your Meshy API key (https://www.meshy.ai/developers/keys). Read from the
|
|
2
2
|
# environment, or from an explicit file via `meshy ... --api-key-file <path>`
|
|
3
3
|
# (only this key is read from the file; nothing is executed).
|
|
4
4
|
MESHY_API_KEY=YOUR_MESHY_API_KEY_HERE
|
package/README.md
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* multi-image-to-3d — https://docs.meshy.ai/en/api/multi-image-to-3d
|
|
3
3
|
*
|
|
4
|
-
* No model flag, same as the other 3D generation commands
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* No model flag, same as the other 3D generation commands. On this endpoint
|
|
5
|
+
* ai_model alone does not pick the model: unless Ultra is on, the server runs a
|
|
6
|
+
* two-stage multi-view model, even for "latest" or an explicit "meshy-7.1".
|
|
7
|
+
* Ultra is on with geometry_resolution "2k" (+5 credits; the same geometry
|
|
8
|
+
* setting as the web app's Ultra 2K), or with the legacy ultra_mode boolean
|
|
9
|
+
* when the enum is absent; "standard" overrides that boolean. With Ultra on,
|
|
10
|
+
* ai_model picks the Ultra model: "meshy-7.1" pins Meshy 7.1, "latest" follows
|
|
11
|
+
* the server's current choice. "4k" is single-image only — the server refuses
|
|
12
|
+
* it here. Only the enum is exposed, since it supersedes the boolean; ai_model
|
|
13
|
+
* and ultra_mode stay reachable through --data.
|
|
7
14
|
*/
|
|
8
15
|
export declare const multiImageTo3dCommand: import("commander").Command;
|
|
9
16
|
//# sourceMappingURL=multi-image-to-3d.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-image-to-3d.d.ts","sourceRoot":"","sources":["../../src/cmd/multi-image-to-3d.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"multi-image-to-3d.d.ts","sourceRoot":"","sources":["../../src/cmd/multi-image-to-3d.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA2GH,eAAO,MAAM,qBAAqB,6BAA6B,CAAC"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* multi-image-to-3d — https://docs.meshy.ai/en/api/multi-image-to-3d
|
|
3
3
|
*
|
|
4
|
-
* No model flag, same as the other 3D generation commands
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* No model flag, same as the other 3D generation commands. On this endpoint
|
|
5
|
+
* ai_model alone does not pick the model: unless Ultra is on, the server runs a
|
|
6
|
+
* two-stage multi-view model, even for "latest" or an explicit "meshy-7.1".
|
|
7
|
+
* Ultra is on with geometry_resolution "2k" (+5 credits; the same geometry
|
|
8
|
+
* setting as the web app's Ultra 2K), or with the legacy ultra_mode boolean
|
|
9
|
+
* when the enum is absent; "standard" overrides that boolean. With Ultra on,
|
|
10
|
+
* ai_model picks the Ultra model: "meshy-7.1" pins Meshy 7.1, "latest" follows
|
|
11
|
+
* the server's current choice. "4k" is single-image only — the server refuses
|
|
12
|
+
* it here. Only the enum is exposed, since it supersedes the boolean; ai_model
|
|
13
|
+
* and ultra_mode stay reachable through --data.
|
|
7
14
|
*/
|
|
8
15
|
import { Option } from "commander";
|
|
9
16
|
import { parseBool, parseCsv } from "../internal/flags.js";
|
|
@@ -13,14 +20,16 @@ const spec = {
|
|
|
13
20
|
name: "multi-image-to-3d",
|
|
14
21
|
description: "Generate a 3D model from 1-4 viewpoint images of a single object. Beta and unstable — " +
|
|
15
22
|
"prefer image-to-3d unless multi-view input is explicitly required. Each input must be a " +
|
|
16
|
-
"separate single-view image, never one grid/collage.
|
|
17
|
-
"
|
|
23
|
+
"separate single-view image, never one grid/collage. --geometry-resolution 2k turns on " +
|
|
24
|
+
"the multi-view Ultra pass (the web app's Ultra 2K geometry setting). Topology/polycount " +
|
|
25
|
+
"are not tunable here — chain `remesh` afterwards",
|
|
18
26
|
create: {
|
|
19
27
|
description: "Create a multi-image-to-3d task",
|
|
20
28
|
configure(cmd) {
|
|
21
29
|
return cmd
|
|
22
30
|
.option("--image-urls <csv>", "1-4 reference images as CSV, ideally front/side/back; each entry is a URL or local file path", parseCsv)
|
|
23
31
|
.option("--input-task-id <id>", "alternative to --image-urls: a SUCCEEDED text-to-image or image-to-image task (e.g. multi-view output) whose images become the source views")
|
|
32
|
+
.addOption(new Option("--geometry-resolution <res>", "geometry pass: standard (default; two-stage multi-view model) | 2k (multi-view Ultra pass, the web app's Ultra 2K setting; billed on top of the mesh)").choices(["standard", "2k"]))
|
|
24
33
|
.option("--should-texture <bool>", "generate textures (default: false — draft white mesh; texture later with retexture)", parseBool)
|
|
25
34
|
.option("--enable-pbr <bool>", "generate normal/metallic/roughness/emission maps (default: true, so game-engine imports carry the full map set)", parseBool)
|
|
26
35
|
.option("--texture-prompt <text>", "text guidance for texturing (max 600 chars)")
|
|
@@ -48,6 +57,7 @@ const spec = {
|
|
|
48
57
|
return {
|
|
49
58
|
image_urls: urls,
|
|
50
59
|
input_task_id: opts.inputTaskId,
|
|
60
|
+
geometry_resolution: opts.geometryResolution,
|
|
51
61
|
should_texture: opts.shouldTexture,
|
|
52
62
|
enable_pbr: opts.enablePbr,
|
|
53
63
|
texture_prompt: opts.texturePrompt,
|
|
@@ -60,7 +70,8 @@ const spec = {
|
|
|
60
70
|
// Draft-first, matching image-to-3d: white mesh by default, texturing
|
|
61
71
|
// is its own step; texture knobs ride only when texturing is on (the
|
|
62
72
|
// API rejects them otherwise), then game-ready values apply. No model
|
|
63
|
-
// choice
|
|
73
|
+
// choice and no geometry default: the server's standard pass applies,
|
|
74
|
+
// and Ultra (2k) rides only when asked for — it bills extra.
|
|
64
75
|
const texturing = opts.shouldTexture === true;
|
|
65
76
|
return {
|
|
66
77
|
should_texture: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-image-to-3d.js","sourceRoot":"","sources":["../../src/cmd/multi-image-to-3d.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"multi-image-to-3d.js","sourceRoot":"","sources":["../../src/cmd/multi-image-to-3d.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meshy-ai/cli",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Official command-line interface for the Meshy AI API — text-to-3D, image-to-3D, text-to-motion, remesh, UV unwrap, rigging, animate, retexture, 2D images, multi-color print, Creative Lab, balance — plus selective downloads, project folders, face checks, OBJ print preparation and slicer launch.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -147,12 +147,16 @@ These are API rules, not preferences — ignoring them produces failed tasks:
|
|
|
147
147
|
texturing, or re-`retexture` afterwards.
|
|
148
148
|
- **`uv-unwrap` takes one source** (`--input-task-id` or `--model-url`, GLB only).
|
|
149
149
|
- **`multi-image-to-3d` is beta**; use `image-to-3d` unless multi-view input was
|
|
150
|
-
explicitly asked for.
|
|
150
|
+
explicitly asked for. Its default runs a two-stage multi-view model;
|
|
151
|
+
`--geometry-resolution 2k` turns on the multi-view Ultra pass (+5 credits),
|
|
152
|
+
the same geometry setting as the web app's Ultra 2K. The Ultra model follows
|
|
153
|
+
`ai_model`: add `--data '{"ai_model":"meshy-7.1"}'` to pin Meshy 7.1.
|
|
151
154
|
- `image-to-3d` defaults to an untextured draft mesh; `--should-texture true`
|
|
152
155
|
(what `make` uses) produces a textured model in one task.
|
|
153
156
|
- **The model set is not the same on every endpoint.** The image-driven
|
|
154
157
|
endpoints run Meshy 7 by default; `text-to-3d` has no Meshy 7 at all and its
|
|
155
|
-
default is still Meshy 6. `--ultra-mode` exists on `image-to-3d` alone
|
|
158
|
+
default is still Meshy 6. `--ultra-mode` exists on `image-to-3d` alone
|
|
159
|
+
(`multi-image-to-3d` takes `--geometry-resolution 2k` instead), and
|
|
156
160
|
`retexture`'s `--multiview-image-urls` needs Meshy 7 — it takes 1-4 views of
|
|
157
161
|
**the same object**, not style references.
|
|
158
162
|
|