@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 CHANGED
@@ -1,4 +1,4 @@
1
- # Your Meshy API key (https://www.meshy.ai/settings/api). Read from the
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
@@ -30,7 +30,7 @@ meshy auth status
30
30
  ```
31
31
 
32
32
  In CI, set `MESHY_API_KEY` instead; it wins over a stored login. Get a key at
33
- <https://www.meshy.ai/settings/api>.
33
+ <https://www.meshy.ai/developers/keys>.
34
34
 
35
35
  ## Quick start
36
36
 
@@ -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: the server default
5
- * "latest" applies, which is meshy-7 here. Note ultra_mode does NOT exist on
6
- * this endpoint (the API silently ignores it) — it is single-image only.
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;;;;;;GAMG;AAkGH,eAAO,MAAM,qBAAqB,6BAA6B,CAAC"}
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: the server default
5
- * "latest" applies, which is meshy-7 here. Note ultra_mode does NOT exist on
6
- * this endpoint (the API silently ignores it) — it is single-image only.
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. Topology/polycount are not tunable " +
17
- "here — chain `remesh` afterwards",
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 — the server default (latest = meshy-7) applies.
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;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAA4B,MAAM,6BAA6B,CAAC;AAE7F,MAAM,IAAI,GAAwB;IAChC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,wFAAwF;QACxF,0FAA0F;QAC1F,yFAAyF;QACzF,kCAAkC;IACpC,MAAM,EAAE;QACN,WAAW,EAAE,iCAAiC;QAC9C,SAAS,CAAC,GAAG;YACX,OAAO,GAAG;iBACP,MAAM,CACL,oBAAoB,EACpB,8FAA8F,EAC9F,QAAQ,CACT;iBACA,MAAM,CACL,sBAAsB,EACtB,6IAA6I,CAC9I;iBACA,MAAM,CACL,yBAAyB,EACzB,qFAAqF,EACrF,SAAS,CACV;iBACA,MAAM,CACL,qBAAqB,EACrB,iHAAiH,EACjH,SAAS,CACV;iBACA,MAAM,CAAC,yBAAyB,EAAE,6CAA6C,CAAC;iBAChF,SAAS,CACR,IAAI,MAAM,CACR,4BAA4B,EAC5B,uCAAuC,CACxC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAC9B;iBACA,MAAM,CACL,0BAA0B,EAC1B,0DAA0D,EAC1D,SAAS,CACV;iBACA,MAAM,CAAC,wBAAwB,EAAE,yCAAyC,EAAE,QAAQ,CAAC,CAAC;QAC3F,CAAC;QACD,SAAS,CAAC,IAAI;YACZ,MAAM,IAAI,GAAG,IAAI,CAAC,SAAiC,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrF,MAAM,IAAI,UAAU,CAAC,sDAAsD,CAAC,CAAC;YAC/E,CAAC;YACD,8EAA8E;YAC9E,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC9C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI;oBAC1B,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC;oBAChC,CAAC,sBAAsB,EAAE,IAAI,CAAC,iBAAiB,CAAC;oBAChD,CAAC,kBAAkB,EAAE,IAAI,CAAC,aAAa,CAAC;iBAChC,EAAE,CAAC;oBACX,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,MAAM,IAAI,UAAU,CAClB,GAAG,IAAI,kFAAkF,CAC1F,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO;gBACL,UAAU,EAAE,IAAI;gBAChB,aAAa,EAAE,IAAI,CAAC,WAAW;gBAC/B,cAAc,EAAE,IAAI,CAAC,aAAa;gBAClC,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,cAAc,EAAE,IAAI,CAAC,aAAa;gBAClC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB;gBAC1C,eAAe,EAAE,IAAI,CAAC,cAAc;gBACpC,cAAc,EAAE,IAAI,CAAC,aAAa;aACnC,CAAC;QACJ,CAAC;QACD,UAAU,CAAC,IAAI;YACb,sEAAsE;YACtE,qEAAqE;YACrE,sEAAsE;YACtE,0DAA0D;YAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC;YAC9C,OAAO;gBACL,cAAc,EAAE,KAAK;gBACrB,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBACxC,kBAAkB,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBAChD,cAAc,EAAE,CAAC,KAAK,CAAC;aACxB,CAAC;QACJ,CAAC;KACF;IACD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc;CACpC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC"}
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.0",
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, and
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