@meshy-ai/cli 0.4.1 → 0.4.2
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 +2 -1
- package/dist/client/endpoints/base.d.ts +2 -0
- package/dist/client/endpoints/base.d.ts.map +1 -1
- package/dist/client/endpoints/base.js +3 -2
- package/dist/client/endpoints/base.js.map +1 -1
- package/dist/client/errors.d.ts +9 -1
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +20 -0
- package/dist/client/errors.js.map +1 -1
- package/dist/client/index.d.ts +4 -4
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +4 -6
- package/dist/client/index.js.map +1 -1
- package/dist/client/resource-registry.d.ts +15 -9
- package/dist/client/resource-registry.d.ts.map +1 -1
- package/dist/client/resource-registry.js +74 -18
- package/dist/client/resource-registry.js.map +1 -1
- package/dist/client/types.d.ts +3 -0
- package/dist/client/types.d.ts.map +1 -1
- package/dist/client/types.js +5 -0
- package/dist/client/types.js.map +1 -1
- package/dist/cmd/analyze-printability.d.ts +10 -1
- package/dist/cmd/analyze-printability.d.ts.map +1 -1
- package/dist/cmd/analyze-printability.js +38 -4
- package/dist/cmd/analyze-printability.js.map +1 -1
- package/dist/cmd/animate.d.ts +5 -3
- package/dist/cmd/animate.d.ts.map +1 -1
- package/dist/cmd/animate.js +38 -9
- package/dist/cmd/animate.js.map +1 -1
- package/dist/cmd/animation-catalog.d.ts +7 -20
- package/dist/cmd/animation-catalog.d.ts.map +1 -1
- package/dist/cmd/animation-catalog.js +40 -60
- package/dist/cmd/animation-catalog.js.map +1 -1
- package/dist/cmd/auto-split.d.ts +11 -0
- package/dist/cmd/auto-split.d.ts.map +1 -0
- package/dist/cmd/auto-split.js +72 -0
- package/dist/cmd/auto-split.js.map +1 -0
- package/dist/cmd/balance.d.ts +2 -1
- package/dist/cmd/balance.d.ts.map +1 -1
- package/dist/cmd/balance.js +9 -2
- package/dist/cmd/balance.js.map +1 -1
- package/dist/cmd/convert.js +1 -1
- package/dist/cmd/convert.js.map +1 -1
- package/dist/cmd/creative-lab.d.ts +12 -6
- package/dist/cmd/creative-lab.d.ts.map +1 -1
- package/dist/cmd/creative-lab.js +118 -15
- package/dist/cmd/creative-lab.js.map +1 -1
- package/dist/cmd/delete.d.ts +4 -2
- package/dist/cmd/delete.d.ts.map +1 -1
- package/dist/cmd/delete.js +19 -4
- package/dist/cmd/delete.js.map +1 -1
- package/dist/cmd/image-to-3d.d.ts +5 -4
- package/dist/cmd/image-to-3d.d.ts.map +1 -1
- package/dist/cmd/image-to-3d.js +33 -14
- package/dist/cmd/image-to-3d.js.map +1 -1
- package/dist/cmd/image-to-image.d.ts.map +1 -1
- package/dist/cmd/image-to-image.js +12 -5
- package/dist/cmd/image-to-image.js.map +1 -1
- package/dist/cmd/make.d.ts.map +1 -1
- package/dist/cmd/make.js +8 -4
- package/dist/cmd/make.js.map +1 -1
- package/dist/cmd/multi-color-print.d.ts.map +1 -1
- package/dist/cmd/multi-color-print.js +12 -2
- package/dist/cmd/multi-color-print.js.map +1 -1
- package/dist/cmd/multi-image-to-3d.d.ts +6 -10
- package/dist/cmd/multi-image-to-3d.d.ts.map +1 -1
- package/dist/cmd/multi-image-to-3d.js +22 -16
- package/dist/cmd/multi-image-to-3d.js.map +1 -1
- package/dist/cmd/remesh.d.ts.map +1 -1
- package/dist/cmd/remesh.js +5 -3
- package/dist/cmd/remesh.js.map +1 -1
- package/dist/cmd/repair-printability.d.ts +2 -1
- package/dist/cmd/repair-printability.d.ts.map +1 -1
- package/dist/cmd/repair-printability.js +14 -5
- package/dist/cmd/repair-printability.js.map +1 -1
- package/dist/cmd/resize.js +1 -1
- package/dist/cmd/resize.js.map +1 -1
- package/dist/cmd/resources.d.ts +1 -1
- package/dist/cmd/resources.d.ts.map +1 -1
- package/dist/cmd/resources.js +8 -6
- package/dist/cmd/resources.js.map +1 -1
- package/dist/cmd/retexture.d.ts.map +1 -1
- package/dist/cmd/retexture.js +6 -4
- package/dist/cmd/retexture.js.map +1 -1
- package/dist/cmd/rigging.d.ts +0 -1
- package/dist/cmd/rigging.d.ts.map +1 -1
- package/dist/cmd/rigging.js +2 -2
- package/dist/cmd/rigging.js.map +1 -1
- package/dist/cmd/text-to-3d.d.ts +5 -6
- package/dist/cmd/text-to-3d.d.ts.map +1 -1
- package/dist/cmd/text-to-3d.js +45 -20
- package/dist/cmd/text-to-3d.js.map +1 -1
- package/dist/cmd/text-to-image.d.ts.map +1 -1
- package/dist/cmd/text-to-image.js +3 -1
- package/dist/cmd/text-to-image.js.map +1 -1
- package/dist/cmd/usage.d.ts +10 -0
- package/dist/cmd/usage.d.ts.map +1 -0
- package/dist/cmd/usage.js +61 -0
- package/dist/cmd/usage.js.map +1 -0
- package/dist/internal/artifacts.d.ts +1 -0
- package/dist/internal/artifacts.d.ts.map +1 -1
- package/dist/internal/artifacts.js +4 -0
- package/dist/internal/artifacts.js.map +1 -1
- package/dist/internal/command-helpers.d.ts +2 -0
- package/dist/internal/command-helpers.d.ts.map +1 -1
- package/dist/internal/command-helpers.js +8 -0
- package/dist/internal/command-helpers.js.map +1 -1
- package/dist/internal/device.d.ts +1 -1
- package/dist/internal/device.js +3 -3
- package/dist/internal/device.js.map +1 -1
- package/dist/internal/errors.d.ts +2 -1
- package/dist/internal/errors.d.ts.map +1 -1
- package/dist/internal/errors.js +6 -1
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/file-input.d.ts.map +1 -1
- package/dist/internal/file-input.js +18 -16
- package/dist/internal/file-input.js.map +1 -1
- package/dist/internal/image-models.d.ts +2 -3
- package/dist/internal/image-models.d.ts.map +1 -1
- package/dist/internal/image-models.js +3 -3
- package/dist/internal/image-models.js.map +1 -1
- package/dist/internal/poll.d.ts +16 -1
- package/dist/internal/poll.d.ts.map +1 -1
- package/dist/internal/poll.js +41 -9
- package/dist/internal/poll.js.map +1 -1
- package/dist/internal/task-command.d.ts +17 -1
- package/dist/internal/task-command.d.ts.map +1 -1
- package/dist/internal/task-command.js +52 -8
- package/dist/internal/task-command.js.map +1 -1
- package/dist/internal/views.d.ts.map +1 -1
- package/dist/internal/views.js +7 -1
- package/dist/internal/views.js.map +1 -1
- package/dist/root.d.ts.map +1 -1
- package/dist/root.js +7 -2
- package/dist/root.js.map +1 -1
- package/package.json +2 -2
- package/skills/meshy-cli/SKILL.md +67 -44
- package/dist/client/endpoints/animation-catalog.d.ts +0 -37
- package/dist/client/endpoints/animation-catalog.d.ts.map +0 -1
- package/dist/client/endpoints/animation-catalog.js +0 -55
- package/dist/client/endpoints/animation-catalog.js.map +0 -1
package/dist/root.js
CHANGED
|
@@ -17,6 +17,7 @@ import { animateCommand } from "./cmd/animate.js";
|
|
|
17
17
|
import { animationCatalogCommand } from "./cmd/animation-catalog.js";
|
|
18
18
|
import { apiCommand } from "./cmd/api.js";
|
|
19
19
|
import { authCommand } from "./cmd/auth.js";
|
|
20
|
+
import { autoSplitCommand } from "./cmd/auto-split.js";
|
|
20
21
|
import { balanceCommand } from "./cmd/balance.js";
|
|
21
22
|
import { convertCommand } from "./cmd/convert.js";
|
|
22
23
|
import { creativeLabCommand } from "./cmd/creative-lab.js";
|
|
@@ -42,6 +43,7 @@ import { slicerCommand } from "./cmd/slicer.js";
|
|
|
42
43
|
import { textTo3dCommand } from "./cmd/text-to-3d.js";
|
|
43
44
|
import { textToImageCommand } from "./cmd/text-to-image.js";
|
|
44
45
|
import { textToMotionCommand } from "./cmd/text-to-motion.js";
|
|
46
|
+
import { usageCommand } from "./cmd/usage.js";
|
|
45
47
|
import { uvUnwrapCommand } from "./cmd/uv-unwrap.js";
|
|
46
48
|
/**
|
|
47
49
|
* Commands added in S1. They only speak the v1 envelope; the error exit uses
|
|
@@ -58,6 +60,8 @@ export const V1_ONLY_COMMANDS = new Set([
|
|
|
58
60
|
"mesh",
|
|
59
61
|
"slicer",
|
|
60
62
|
"doctor",
|
|
63
|
+
"auto-split",
|
|
64
|
+
"usage",
|
|
61
65
|
]);
|
|
62
66
|
/**
|
|
63
67
|
* Commands that never need the authenticated API. The background update check
|
|
@@ -71,7 +75,6 @@ export const LOCAL_COMMANDS = new Set([
|
|
|
71
75
|
"slicer",
|
|
72
76
|
"doctor",
|
|
73
77
|
"download",
|
|
74
|
-
"animation-catalog",
|
|
75
78
|
REFRESH_COMMAND,
|
|
76
79
|
]);
|
|
77
80
|
const ROOT_LONG = `meshy-cli — command-line interface for the Meshy AI API.
|
|
@@ -92,7 +95,7 @@ EXAMPLES:
|
|
|
92
95
|
meshy resources # index of every command
|
|
93
96
|
meshy text-to-3d create --mode preview --prompt "a red sports car"
|
|
94
97
|
meshy image-to-3d get <task-id>
|
|
95
|
-
meshy delete <task-id> #
|
|
98
|
+
meshy delete <task-id> # any task except Creative Lab
|
|
96
99
|
|
|
97
100
|
# escape hatch for endpoints without a dedicated subcommand
|
|
98
101
|
meshy api GET /balance
|
|
@@ -194,6 +197,8 @@ export function buildRootCommand() {
|
|
|
194
197
|
meshCommand,
|
|
195
198
|
slicerCommand,
|
|
196
199
|
doctorCommand,
|
|
200
|
+
autoSplitCommand,
|
|
201
|
+
usageCommand,
|
|
197
202
|
]) {
|
|
198
203
|
program.addCommand(cmd, { hidden: true });
|
|
199
204
|
}
|
package/dist/root.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.js","sourceRoot":"","sources":["../src/root.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EACL,gCAAgC,EAChC,yBAAyB,EACzB,YAAY,GACb,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IAC3D,WAAW;IACX,cAAc;IACd,mBAAmB;IACnB,WAAW;IACX,UAAU;IACV,SAAS;IACT,SAAS;IACT,MAAM;IACN,QAAQ;IACR,QAAQ;
|
|
1
|
+
{"version":3,"file":"root.js","sourceRoot":"","sources":["../src/root.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meshy-ai/cli",
|
|
3
|
-
"version": "0.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.",
|
|
3
|
+
"version": "0.4.2",
|
|
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, printability, auto split, multi-color print, Creative Lab, balance and usage — plus selective downloads, project folders, face checks, OBJ print preparation and slicer launch.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"packageManager": "pnpm@11.24.0",
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: meshy-cli
|
|
3
|
-
description: "Generate 3D models, motion clips, 2D images and Creative Lab print products with the Meshy API through the meshy-cli command — text-to-3D, image-to-3D, text-to-motion, remesh, UV unwrap, rigging, animation, retexture, printability, selective downloads, project folders, face checks, OBJ print preparation and slicer launch. Use for any Meshy asset or 3D-printing request."
|
|
3
|
+
description: "Generate 3D models, motion clips, 2D images and Creative Lab print products with the Meshy API through the meshy-cli command — text-to-3D, image-to-3D, text-to-motion, remesh, UV unwrap, rigging, animation, retexture, printability, auto split into printable parts, per-task credit usage, selective downloads, project folders, face checks, OBJ print preparation and slicer launch. Use for any Meshy asset or 3D-printing request."
|
|
4
4
|
license: MIT
|
|
5
5
|
compatibility: Requires meshy-cli on PATH (Node 22.12+, no Python) and a stored credential, MESHY_API_KEY or --api-key-file for API commands; network access to api.meshy.ai. Local helpers work offline.
|
|
6
6
|
metadata:
|
|
7
|
-
version: "1.
|
|
7
|
+
version: "1.2.0"
|
|
8
8
|
cli-help: "meshy --help"
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -22,14 +22,10 @@ network; `meshy doctor --check-api` makes one free balance call.
|
|
|
22
22
|
|
|
23
23
|
## Always ask for the stable envelope
|
|
24
24
|
|
|
25
|
-
Add `--output-schema v1 --format json` to every command you parse.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
means JSON even in a pseudo-terminal, but say both and the shape is yours
|
|
30
|
-
regardless of how you are spawned. `pretty` is a human view that drops fields,
|
|
31
|
-
so never parse it. `json` and `ndjson` never carry terminal colour codes, so
|
|
32
|
-
you never need to strip escapes. stdout is then
|
|
25
|
+
Add `--output-schema v1 --format json` to every command you parse. Untyped,
|
|
26
|
+
`--format` is `pretty` at a terminal and `json` elsewhere; say both and the
|
|
27
|
+
shape is fixed however you are spawned. `pretty` is a human view that drops
|
|
28
|
+
fields, so never parse it; `json` and `ndjson` carry no colour codes. stdout is then
|
|
33
29
|
exactly one JSON object with six keys — `schema_version, command, ok, result,
|
|
34
30
|
error, warnings` — and nothing else. Progress goes to stderr as plain lines
|
|
35
31
|
(none under `ndjson`); it is for people, so read ids from stdout, not from it. `ok` is whether the
|
|
@@ -37,7 +33,8 @@ CLI operation completed; `result.task.status` is the server's task state (a `get
|
|
|
37
33
|
of a FAILED task is `ok:true`). Fields the server did not send are `null` —
|
|
38
34
|
never treat a `null` `face_count` or `consumed_credits` as 0. `error.code` and
|
|
39
35
|
the exit code (below) are stable; `error.recovery.command`, when present, is a
|
|
40
|
-
command you can run verbatim
|
|
36
|
+
command you can run verbatim, once a `<dir>`/`<file>` placeholder in it (download
|
|
37
|
+
recoveries) is replaced with a real path.
|
|
41
38
|
|
|
42
39
|
## One model, one command
|
|
43
40
|
|
|
@@ -55,8 +52,8 @@ verbatim rather than starting over, or the finished step is paid for twice.
|
|
|
55
52
|
|
|
56
53
|
## Everything else
|
|
57
54
|
|
|
58
|
-
`meshy resources --output-schema v1` indexes every command (kind `task`, `query
|
|
59
|
-
or `local`); each task resource carries the same verbs:
|
|
55
|
+
`meshy resources --output-schema v1` indexes every command (kind `task`, `query`,
|
|
56
|
+
`action` or `local`); each task resource carries the same verbs:
|
|
60
57
|
|
|
61
58
|
```bash
|
|
62
59
|
meshy <resource> create [flags] [--data '<json>'] [--async] [--timeout <s>] [--operation-id <id>] --output-schema v1
|
|
@@ -80,7 +77,7 @@ meshy <resource> list [--page-size <n>] --output-schema v1
|
|
|
80
77
|
is refused a replay (`credential_unverified`) — run `meshy auth login` once first.
|
|
81
78
|
- **An error after `create` was accepted still names the task**: read
|
|
82
79
|
`result.task_id` / `result.submission.task_id` and `result.next` from any
|
|
83
|
-
non-zero exit (11 local I/O,
|
|
80
|
+
non-zero exit (11 local I/O, 8 timeout, 130 interrupt) before deciding
|
|
84
81
|
anything; never create again because a later step failed.
|
|
85
82
|
- `--save-json <file>` stores the raw API task (use it as the input of `download`,
|
|
86
83
|
`inspect faces` and `project record`); `--include-raw` puts the raw response under
|
|
@@ -94,17 +91,23 @@ meshy <resource> list [--page-size <n>] --output-schema v1
|
|
|
94
91
|
|
|
95
92
|
```bash
|
|
96
93
|
meshy uv-unwrap create --input-task-id <id> --async --output-schema v1 # GLB only, ≤40k faces (server enforces)
|
|
97
|
-
meshy creative-lab <figure|lamp|keychain|fridge-magnet> prototype create --image-url ./photo.png --name demo --async --output-schema v1
|
|
94
|
+
meshy creative-lab <figure|vinyl-figure|brick-figure|lamp|keychain|fridge-magnet|keycap|fidget-pixel> prototype create --image-url ./photo.png --name demo --async --output-schema v1
|
|
98
95
|
meshy creative-lab <product> build create --input-task-id <prototype-id> [--model-format …] [--options '<json>'] --async --output-schema v1
|
|
99
|
-
meshy
|
|
96
|
+
meshy creative-lab fidget-collapsible create --image-url ./photo.png --async --output-schema v1 # one stage → STL
|
|
97
|
+
meshy animation-catalog list --category DailyActions --search wave --output-schema v1 # free; search is server-side
|
|
98
|
+
meshy auto-split create --input-task-id <id> --mode by_parts --prompt "head, torso" --async --output-schema v1 # printable parts
|
|
99
|
+
meshy usage tasks --start-time 2026-08-01T00:00:00Z --output-schema v1 # Studio/Enterprise; credits per task
|
|
100
100
|
meshy showcases list --search car --page-size 3 --output-schema v1 # Enterprise only; EVERY request is billed
|
|
101
101
|
```
|
|
102
102
|
|
|
103
|
-
Prototype meanings differ:
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
`
|
|
107
|
-
|
|
103
|
+
Prototype meanings differ: most yield a concept image, lamp also yields a
|
|
104
|
+
lampshade GLB, keycap yields `candidate_ids` (pass one as the build's
|
|
105
|
+
`--candidate-id`), fidget-pixel needs `--type person|other`; keychain takes
|
|
106
|
+
`--name-text` (≤10 characters, engraved). Build consumes a SUCCEEDED prototype
|
|
107
|
+
made through this API with the same key (web-app prototypes → 404). Lamp builds
|
|
108
|
+
output `lamp_stl`/`base_stl` or `bundle_zip`; keychain/fridge-magnet `obj` and
|
|
109
|
+
keycap `obj_zip` are ZIP bundles saved as `.zip`; fidget-pixel builds a 3MF.
|
|
110
|
+
Never call `showcases` in a health check.
|
|
108
111
|
|
|
109
112
|
## Downloads, projects, printing (local, no key)
|
|
110
113
|
|
|
@@ -139,33 +142,49 @@ These are API rules, not preferences — ignoring them produces failed tasks:
|
|
|
139
142
|
not props, quadrupeds or untextured drafts. Too dense? `remesh` first. A
|
|
140
143
|
successful rigging task already bundles walking and running clips
|
|
141
144
|
(`result.basic_animations.*`), so check its result before calling `animate`.
|
|
142
|
-
- **`animate` takes a rigging task id**, not a model task id, plus
|
|
143
|
-
`--action-id` from the catalog
|
|
145
|
+
- **`animate` takes a rigging task id**, not a model task id, plus exactly one
|
|
146
|
+
of: an integer `--action-id` from the catalog, `--action-ids` (up to 10, one
|
|
147
|
+
file with one clip each, billed per action) or a text-to-motion
|
|
148
|
+
`--motion-task-id` (biped rigs).
|
|
144
149
|
- **`text-to-motion` produces a standalone skeletal clip**, not an animated
|
|
145
150
|
character. Pass a 2–10 second duration in 0.5-second increments.
|
|
146
151
|
- **`repair-printability` drops textures and invalidates UVs.** Run it before
|
|
147
152
|
texturing, or re-`retexture` afterwards.
|
|
153
|
+
- **A local `--model-url` must be `.glb`/`.gltf`** (multi-color-print: `.glb`)
|
|
154
|
+
on every command: the API takes inline models as glTF only. Pass
|
|
155
|
+
`.stl`/`.obj`/`.fbx` as an http(s) URL, or use `--input-task-id`.
|
|
156
|
+
- **`meshy delete <id>` never reaches Creative Lab tasks**; `meshy creative-lab
|
|
157
|
+
<product> <stage> delete <id>` cancels one instead (`canceled: true`).
|
|
148
158
|
- **`uv-unwrap` takes one source** (`--input-task-id` or `--model-url`, GLB only).
|
|
149
|
-
-
|
|
150
|
-
|
|
151
|
-
|
|
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.
|
|
159
|
+
- `multi-image-to-3d` takes 1-4 views of one object; use `image-to-3d` unless
|
|
160
|
+
multi-view input was asked for. Both accept `--input-task-id` of a SUCCEEDED
|
|
161
|
+
`text-to-image` / `image-to-image` task, so a generated image chains to 3D.
|
|
154
162
|
- `image-to-3d` defaults to an untextured draft mesh; `--should-texture true`
|
|
155
163
|
(what `make` uses) produces a textured model in one task.
|
|
156
|
-
- **The model
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
164
|
+
- **The default model is `latest` = Meshy 7.1** on all three generators.
|
|
165
|
+
`--geometry-resolution 2k|4k` runs the Ultra geometry pass (+5 credits;
|
|
166
|
+
text-to-3d: preview only; multi-image: `2k` only; not with smart-topology);
|
|
167
|
+
`--ultra-mode` on image-to-3d is its deprecated spelling of `2k`.
|
|
168
|
+
`--model-type smart-topology` (meshy-t2, text-to-3d and image-to-3d) has a
|
|
169
|
+
native `--target-polycount` (default 10000). `retexture`'s
|
|
170
|
+
`--multiview-image-urls` needs Meshy 7 — it takes 1-4 views of **the same
|
|
171
|
+
object**, not style references.
|
|
172
|
+
- Printing: `analyze-`/`repair-printability` take `--printer-type
|
|
173
|
+
fdm|sla|full_color` and one `--intended-print-height-mm` /
|
|
174
|
+
`--intended-print-longest-side-mm`; `multi-color-print` takes `--style
|
|
175
|
+
realistic|cartoon` and `--printer-brand`. `text-to-image` / `image-to-image`
|
|
176
|
+
take `--remove-background true` (transparent PNG).
|
|
177
|
+
- **A standalone refine defaults to 2k textures**: 4k/8k and `--remove-lighting`
|
|
178
|
+
are refused for a meshy-6-lite preview, so pass `--texture-resolution 4k` only
|
|
179
|
+
for a meshy-6 / meshy-7.1 / latest preview (`make` does).
|
|
162
180
|
|
|
163
181
|
## Finding an animation id
|
|
164
182
|
|
|
165
|
-
`--action-id` is an integer from Meshy's animation library. Ask the live
|
|
166
|
-
|
|
167
|
-
--output-schema v1` → `result.items[].action_id
|
|
168
|
-
contains `-2`, `-1` and `0`) — never
|
|
183
|
+
`--action-id` is an integer from Meshy's animation library. Ask the live
|
|
184
|
+
library (free): `meshy animation-catalog list --category Fighting --search kick
|
|
185
|
+
--output-schema v1` → `result.items[].action_id`; `--action-ids 92,4` checks
|
|
186
|
+
stored ids. Ids are not `1..N` (the catalog contains `-2`, `-1` and `0`) — never
|
|
187
|
+
guess one. This skill also bundles a
|
|
169
188
|
snapshot as `animation-library.json` (with hand-written descriptions the API does
|
|
170
189
|
not return; it can lag behind the live catalog).
|
|
171
190
|
|
|
@@ -177,11 +196,16 @@ Exit codes: `0` ok · `1` task FAILED/CANCELED while waiting, or unclassified ·
|
|
|
177
196
|
`2` usage · `3` auth · `4` validation · `5` not found · `6` rate limit ·
|
|
178
197
|
`7` network · `8` timed out (task keeps running) · `9` out of credits ·
|
|
179
198
|
`10` submission unknown (do not re-create) · `11` local I/O · `12` check failed ·
|
|
180
|
-
`13` check unknown · `130` interrupted.
|
|
199
|
+
`13` check unknown · `14` conflict (delete of an IN_PROGRESS task) · `130` interrupted.
|
|
181
200
|
|
|
182
201
|
- Exit 9 → run `meshy balance`, relay the number, do not retry.
|
|
183
202
|
- Exit 6 → back off; the CLI does not retry for you.
|
|
184
|
-
- Exit 8 → `wait`/`stream` the same task id again; it was not cancelled.
|
|
203
|
+
- Exit 8 → `wait`/`stream` the same task id again; it was not cancelled. A
|
|
204
|
+
429/5xx/timeout on a status request is already retried while waiting; the
|
|
205
|
+
default `--timeout` is 600 s, the API advises waiting up to 60 min.
|
|
206
|
+
- Exit 14 → the task is running: it cannot be stopped and its credits are spent.
|
|
207
|
+
`wait` for the result; delete it afterwards only if the user wants the result
|
|
208
|
+
gone (permanent, no refund).
|
|
185
209
|
- Exit 130 after `-o` → the transfer (or the material rewrite) was cancelled;
|
|
186
210
|
`result.downloads.files` lists what already landed (`status: written`), the rest can
|
|
187
211
|
be fetched with `meshy download`. `downloads.failed_step` (`relink` | `digest` |
|
|
@@ -197,10 +221,9 @@ Exit codes: `0` ok · `1` task FAILED/CANCELED while waiting, or unclassified ·
|
|
|
197
221
|
`error.recovery.command` (`meshy project record …`, it already carries the original
|
|
198
222
|
`--workspace` and `--operation-id`) verbatim — do not download or create again. The same
|
|
199
223
|
command appears after a task verb's `--project` record failure (legacy: `hint`); when the
|
|
200
|
-
error says the project is *no longer a target inside the authorised boundary* (
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
with `meshy project record` from inside the original workspace.
|
|
224
|
+
error says the project is *no longer a target inside the authorised boundary* (it moved
|
|
225
|
+
mid-request) there is deliberately no command and `recovery` is null — restore the
|
|
226
|
+
directory first, then record with `meshy project record` from inside the original workspace.
|
|
204
227
|
- Exit 10 → reconcile with `<resource> list`; never submit the same create again blindly.
|
|
205
228
|
- A `FAILED` task → relay `result.task.task_error.message` verbatim; do not guess a cause.
|
|
206
229
|
- Any error may carry `error.recovery.command` — prefer it over improvising.
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GET <origin>/web/public/animations/resources — the public Animation Library.
|
|
3
|
-
*
|
|
4
|
-
* No credential is ever attached: the endpoint is public and the transport
|
|
5
|
-
* used here has none. `category` is the only server-side filter the frozen
|
|
6
|
-
* Skill baseline relies on; the response is `{result:{total,list}}`.
|
|
7
|
-
*/
|
|
8
|
-
import { z } from "zod";
|
|
9
|
-
import type { Transport } from "../transport.js";
|
|
10
|
-
export declare const AnimationCatalogEntrySchema: z.ZodObject<{
|
|
11
|
-
id: z.ZodNumber;
|
|
12
|
-
key: z.ZodOptional<z.ZodString>;
|
|
13
|
-
name: z.ZodOptional<z.ZodString>;
|
|
14
|
-
category: z.ZodOptional<z.ZodString>;
|
|
15
|
-
subCategory: z.ZodOptional<z.ZodString>;
|
|
16
|
-
previewUrl: z.ZodOptional<z.ZodString>;
|
|
17
|
-
rigType: z.ZodOptional<z.ZodString>;
|
|
18
|
-
isDefault: z.ZodOptional<z.ZodBoolean>;
|
|
19
|
-
isFree: z.ZodOptional<z.ZodBoolean>;
|
|
20
|
-
}, z.core.$loose>;
|
|
21
|
-
export type AnimationCatalogEntry = z.infer<typeof AnimationCatalogEntrySchema>;
|
|
22
|
-
export declare const ANIMATION_CATEGORIES: readonly ["WalkAndRun", "BodyMovements", "DailyActions", "Fighting", "Dancing"];
|
|
23
|
-
export declare class AnimationCatalogEndpoint {
|
|
24
|
-
static readonly PATH = "/animations/resources";
|
|
25
|
-
private readonly transport;
|
|
26
|
-
constructor(transport: Transport);
|
|
27
|
-
list(params?: {
|
|
28
|
-
category?: string;
|
|
29
|
-
}, extras?: {
|
|
30
|
-
signal?: AbortSignal;
|
|
31
|
-
}): Promise<{
|
|
32
|
-
entries: AnimationCatalogEntry[];
|
|
33
|
-
total: number | null;
|
|
34
|
-
raw: unknown;
|
|
35
|
-
}>;
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=animation-catalog.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"animation-catalog.d.ts","sourceRoot":"","sources":["../../../src/client/endpoints/animation-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,eAAO,MAAM,2BAA2B;;;;;;;;;;iBAYxB,CAAC;AACjB,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAQhF,eAAO,MAAM,oBAAoB,YAAI,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,CAAU,CAAC;AAEpH,qBAAa,wBAAwB;IACnC,MAAM,CAAC,QAAQ,CAAC,IAAI,2BAA2B;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IAEtC,YAAY,SAAS,EAAE,SAAS,EAG/B;IAEK,IAAI,CAAC,MAAM,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,EAAE,MAAM,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE,CAAC,CAgBvK;CACF"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GET <origin>/web/public/animations/resources — the public Animation Library.
|
|
3
|
-
*
|
|
4
|
-
* No credential is ever attached: the endpoint is public and the transport
|
|
5
|
-
* used here has none. `category` is the only server-side filter the frozen
|
|
6
|
-
* Skill baseline relies on; the response is `{result:{total,list}}`.
|
|
7
|
-
*/
|
|
8
|
-
import { z } from "zod";
|
|
9
|
-
import { MeshyApiError } from "../errors.js";
|
|
10
|
-
export const AnimationCatalogEntrySchema = z
|
|
11
|
-
.object({
|
|
12
|
-
id: z.number(),
|
|
13
|
-
key: z.string().optional(),
|
|
14
|
-
name: z.string().optional(),
|
|
15
|
-
category: z.string().optional(),
|
|
16
|
-
subCategory: z.string().optional(),
|
|
17
|
-
previewUrl: z.string().optional(),
|
|
18
|
-
rigType: z.string().optional(),
|
|
19
|
-
isDefault: z.boolean().optional(),
|
|
20
|
-
isFree: z.boolean().optional(),
|
|
21
|
-
})
|
|
22
|
-
.passthrough();
|
|
23
|
-
const ResponseSchema = z
|
|
24
|
-
.object({
|
|
25
|
-
result: z.object({ total: z.number().optional(), list: z.array(AnimationCatalogEntrySchema) }).passthrough(),
|
|
26
|
-
})
|
|
27
|
-
.passthrough();
|
|
28
|
-
export const ANIMATION_CATEGORIES = ["WalkAndRun", "BodyMovements", "DailyActions", "Fighting", "Dancing"];
|
|
29
|
-
export class AnimationCatalogEndpoint {
|
|
30
|
-
static PATH = "/animations/resources";
|
|
31
|
-
transport;
|
|
32
|
-
constructor(transport) {
|
|
33
|
-
if (transport.authenticated)
|
|
34
|
-
throw new Error("the animation catalog must use an unauthenticated transport");
|
|
35
|
-
this.transport = transport;
|
|
36
|
-
}
|
|
37
|
-
async list(params = {}, extras = {}) {
|
|
38
|
-
const resp = await this.transport.requestJson("GET", AnimationCatalogEndpoint.PATH, {
|
|
39
|
-
query: { category: params.category },
|
|
40
|
-
signal: extras.signal,
|
|
41
|
-
});
|
|
42
|
-
const parsed = ResponseSchema.safeParse(resp.json);
|
|
43
|
-
if (!parsed.success) {
|
|
44
|
-
throw new MeshyApiError({
|
|
45
|
-
message: `unexpected catalog shape from ${AnimationCatalogEndpoint.PATH}: ${parsed.error.message}`,
|
|
46
|
-
status: resp.status,
|
|
47
|
-
code: "server",
|
|
48
|
-
path: AnimationCatalogEndpoint.PATH,
|
|
49
|
-
body: resp.json,
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
return { entries: parsed.data.result.list, total: parsed.data.result.total ?? null, raw: resp.json };
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=animation-catalog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"animation-catalog.js","sourceRoot":"","sources":["../../../src/client/endpoints/animation-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC;KACD,WAAW,EAAE,CAAC;AAGjB,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE;CAC7G,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,CAAU,CAAC;AAEpH,MAAM,OAAO,wBAAwB;IACnC,MAAM,CAAU,IAAI,GAAG,uBAAuB,CAAC;IAC9B,SAAS,CAAY;IAEtC,YAAY,SAAoB;QAC9B,IAAI,SAAS,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC5G,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAM,GAA0B,EAAE,EAAE,MAAM,GAA6B,EAAE;QAClF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,wBAAwB,CAAC,IAAI,EAAE;YAClF,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;YACpC,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,aAAa,CAAC;gBACtB,OAAO,EAAE,iCAAiC,wBAAwB,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;gBAClG,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,wBAAwB,CAAC,IAAI;gBACnC,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACvG,CAAC;CACF"}
|