@meshy-ai/cli 0.4.1 → 0.4.3
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 +9 -8
- package/dist/cmd/image-to-3d.d.ts.map +1 -1
- package/dist/cmd/image-to-3d.js +45 -21
- 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 +46 -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/smart-topology.d.ts +17 -0
- package/dist/internal/smart-topology.d.ts.map +1 -0
- package/dist/internal/smart-topology.js +39 -0
- package/dist/internal/smart-topology.js.map +1 -0
- 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 +68 -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/cmd/convert.js
CHANGED
|
@@ -16,7 +16,7 @@ const spec = {
|
|
|
16
16
|
configure(cmd) {
|
|
17
17
|
return cmd
|
|
18
18
|
.option("--input-task-id <id>", "source SUCCEEDED task (takes priority over --model-url)")
|
|
19
|
-
.option("--model-url <src>", "3D model
|
|
19
|
+
.option("--model-url <src>", "3D model: an http(s) URL (.glb/.gltf/.obj/.fbx/.stl) or a local .glb/.gltf file — the API takes inline uploads as glTF only, so host .stl/.obj/.fbx at a URL")
|
|
20
20
|
.option("--target-formats <csv>", "required — glb,fbx,obj,usdz,blend,stl,3mf", parseCsv);
|
|
21
21
|
},
|
|
22
22
|
toPayload(opts) {
|
package/dist/cmd/convert.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/cmd/convert.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAA4B,MAAM,6BAA6B,CAAC;AAE7F,MAAM,IAAI,GAAwB;IAChC,IAAI,EAAE,SAAS;IACf,WAAW,EACT,oFAAoF;QACpF,WAAW;IACb,MAAM,EAAE;QACN,WAAW,EAAE,uBAAuB;QACpC,SAAS,CAAC,GAAG;YACX,OAAO,GAAG;iBACP,MAAM,CAAC,sBAAsB,EAAE,yDAAyD,CAAC;iBACzF,MAAM,CAAC,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/cmd/convert.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAA4B,MAAM,6BAA6B,CAAC;AAE7F,MAAM,IAAI,GAAwB;IAChC,IAAI,EAAE,SAAS;IACf,WAAW,EACT,oFAAoF;QACpF,WAAW;IACb,MAAM,EAAE;QACN,WAAW,EAAE,uBAAuB;QACpC,SAAS,CAAC,GAAG;YACX,OAAO,GAAG;iBACP,MAAM,CAAC,sBAAsB,EAAE,yDAAyD,CAAC;iBACzF,MAAM,CAAC,mBAAmB,EAAE,8JAA8J,CAAC;iBAC3L,MAAM,CAAC,wBAAwB,EAAE,2CAA2C,EAAE,QAAQ,CAAC,CAAC;QAC7F,CAAC;QACD,SAAS,CAAC,IAAI;YACZ,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtD,MAAM,IAAI,UAAU,CAAC,wCAAwC,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAqC,CAAC;YAC3D,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrD,MAAM,IAAI,UAAU,CAAC,8DAA8D,CAAC,CAAC;YACvF,CAAC;YACD,OAAO;gBACL,aAAa,EAAE,IAAI,CAAC,WAAW;gBAC/B,SAAS,EAAE,IAAI,CAAC,QAAQ;gBACxB,cAAc,EAAE,OAAO;aACxB,CAAC;QACJ,CAAC;KACF;IACD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* creative-lab — https://docs.meshy.ai/en/api/creative-lab
|
|
2
|
+
* creative-lab — https://docs.meshy.ai/en/api/creative-lab-<product>
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* create/get/list/wait/stream/delete verbs
|
|
6
|
-
*
|
|
4
|
+
* Two-stage products (prototype → build), each stage its own registered
|
|
5
|
+
* resource with the same create/get/list/wait/stream/delete verbs, plus the
|
|
6
|
+
* single-stage collapsible fidget. Nothing here builds a path from a user
|
|
7
|
+
* string: product and stage are resolved through the registry.
|
|
7
8
|
*
|
|
8
9
|
* Stage meanings differ by product and are not generalised:
|
|
9
|
-
* figure / keychain / fridge-magnet prototype → a styled concept image
|
|
10
|
+
* figure / vinyl-figure / brick-figure / keychain / fridge-magnet prototype → a styled concept image
|
|
10
11
|
* lamp prototype → concept image + lampshade GLB
|
|
11
|
-
*
|
|
12
|
+
* keycap prototype → a design render + a candidate id for build
|
|
13
|
+
* fidget-pixel prototype → a pixel-art image (type person | other)
|
|
14
|
+
* figure / vinyl-figure / brick-figure build → GLB, OBJ, MTL, base-color texture
|
|
12
15
|
* lamp build → lamp_stl (+ base_stl) or bundle_zip
|
|
13
16
|
* keychain / fridge-magnet build → glb, obj (a ZIP bundle) or bundle_zip
|
|
17
|
+
* keycap build → glb + obj_zip, real-world millimetres
|
|
18
|
+
* fidget-pixel build → one 3MF, one object per piece
|
|
19
|
+
* fidget-collapsible (single stage) → stl (+ a best-effort preview glb)
|
|
14
20
|
*
|
|
15
21
|
* Build options are validated per product with the ranges the API documents
|
|
16
22
|
* so a bad value fails before a billable POST; unknown option keys are passed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"creative-lab.d.ts","sourceRoot":"","sources":["../../src/cmd/creative-lab.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"creative-lab.d.ts","sourceRoot":"","sources":["../../src/cmd/creative-lab.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAkD,KAAK,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAkVvH,eAAO,MAAM,kBAAkB,SAkB5B,CAAC;AAKJ,eAAO,MAAM,wBAAwB,EAAE,SAAS,gBAAgB,EAA2B,CAAC"}
|
package/dist/cmd/creative-lab.js
CHANGED
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* creative-lab — https://docs.meshy.ai/en/api/creative-lab
|
|
2
|
+
* creative-lab — https://docs.meshy.ai/en/api/creative-lab-<product>
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* create/get/list/wait/stream/delete verbs
|
|
6
|
-
*
|
|
4
|
+
* Two-stage products (prototype → build), each stage its own registered
|
|
5
|
+
* resource with the same create/get/list/wait/stream/delete verbs, plus the
|
|
6
|
+
* single-stage collapsible fidget. Nothing here builds a path from a user
|
|
7
|
+
* string: product and stage are resolved through the registry.
|
|
7
8
|
*
|
|
8
9
|
* Stage meanings differ by product and are not generalised:
|
|
9
|
-
* figure / keychain / fridge-magnet prototype → a styled concept image
|
|
10
|
+
* figure / vinyl-figure / brick-figure / keychain / fridge-magnet prototype → a styled concept image
|
|
10
11
|
* lamp prototype → concept image + lampshade GLB
|
|
11
|
-
*
|
|
12
|
+
* keycap prototype → a design render + a candidate id for build
|
|
13
|
+
* fidget-pixel prototype → a pixel-art image (type person | other)
|
|
14
|
+
* figure / vinyl-figure / brick-figure build → GLB, OBJ, MTL, base-color texture
|
|
12
15
|
* lamp build → lamp_stl (+ base_stl) or bundle_zip
|
|
13
16
|
* keychain / fridge-magnet build → glb, obj (a ZIP bundle) or bundle_zip
|
|
17
|
+
* keycap build → glb + obj_zip, real-world millimetres
|
|
18
|
+
* fidget-pixel build → one 3MF, one object per piece
|
|
19
|
+
* fidget-collapsible (single stage) → stl (+ a best-effort preview glb)
|
|
14
20
|
*
|
|
15
21
|
* Build options are validated per product with the ranges the API documents
|
|
16
22
|
* so a bad value fails before a billable POST; unknown option keys are passed
|
|
@@ -26,6 +32,7 @@ import { UsageError } from "../internal/errors.js";
|
|
|
26
32
|
import { parseJsonFlag } from "../internal/payload.js";
|
|
27
33
|
import { buildResourceCommand } from "../internal/task-command.js";
|
|
28
34
|
const NAME_MAX = 100;
|
|
35
|
+
const NAME_TEXT_MAX = 10;
|
|
29
36
|
const lampOptionsSchema = z
|
|
30
37
|
.object({
|
|
31
38
|
diameter_mm: z.number().min(50).max(400).optional(),
|
|
@@ -58,13 +65,65 @@ const reliefOptionsSchema = z
|
|
|
58
65
|
export_resolution: z.number().int().min(64).max(2048).optional(),
|
|
59
66
|
})
|
|
60
67
|
.passthrough();
|
|
68
|
+
const keycapOptionsSchema = z
|
|
69
|
+
.object({
|
|
70
|
+
base_model: z.enum(["cherry-mx-1x1-r1"]).optional(),
|
|
71
|
+
head_size_mm: z.number().min(10).max(40).optional(),
|
|
72
|
+
vertical_offset_mm: z.number().min(-5).max(5).optional(),
|
|
73
|
+
})
|
|
74
|
+
.passthrough();
|
|
75
|
+
const fidgetPixelOptionsSchema = z
|
|
76
|
+
.object({
|
|
77
|
+
shape: z.enum(["square", "hex"]).optional(),
|
|
78
|
+
grid_size: z.union([z.literal(16), z.literal(32)]).optional(),
|
|
79
|
+
piece_size_mm: z.union([z.literal(6), z.literal(8), z.literal(10)]).optional(),
|
|
80
|
+
color_count: z.number().int().min(1).max(8).optional(),
|
|
81
|
+
piece_height_mm: z.number().int().min(10).max(80).optional(),
|
|
82
|
+
})
|
|
83
|
+
.passthrough()
|
|
84
|
+
.refine((o) => !(o.shape === "hex" && o.piece_size_mm === 10), { message: "hex pieces come in 6 or 8 mm only", path: ["piece_size_mm"] });
|
|
85
|
+
const figureLike = (product, label, style) => ({
|
|
86
|
+
product,
|
|
87
|
+
label,
|
|
88
|
+
prototypeMeaning: `${style} concept image`,
|
|
89
|
+
buildMeaning: `textured ${label}: GLB, OBJ + MTL and a base-color texture`,
|
|
90
|
+
hasBuildOptions: false,
|
|
91
|
+
});
|
|
61
92
|
const PRODUCTS = {
|
|
62
|
-
figure:
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
93
|
+
figure: figureLike("figure", "figure", "styled"),
|
|
94
|
+
"vinyl-figure": figureLike("vinyl-figure", "vinyl figure", "big-head vinyl figure"),
|
|
95
|
+
"brick-figure": figureLike("brick-figure", "brick figure", "brick minifigure"),
|
|
96
|
+
keycap: {
|
|
97
|
+
product: "keycap",
|
|
98
|
+
label: "keycap",
|
|
99
|
+
prototypeMeaning: "keycap design render plus a candidate id for build",
|
|
100
|
+
buildMeaning: "keycap: GLB and an OBJ bundle (zip), real-world millimetres",
|
|
101
|
+
buildExtra: (cmd) => cmd.option("--candidate-id <id>", "the candidate to build, from the prototype's candidate_ids (required)"),
|
|
102
|
+
buildExtraPayload: (opts) => ({ candidate_id: opts.candidateId }),
|
|
103
|
+
optionsSchema: keycapOptionsSchema,
|
|
104
|
+
hasBuildOptions: true,
|
|
105
|
+
validateBuild: (payload) => {
|
|
106
|
+
if (typeof payload.candidate_id !== "string" || !payload.candidate_id) {
|
|
107
|
+
throw new UsageError("keycap build: provide --candidate-id (an entry of the prototype's candidate_ids)");
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
"fidget-pixel": {
|
|
112
|
+
product: "fidget-pixel",
|
|
113
|
+
label: "fidget pixel",
|
|
114
|
+
prototypeMeaning: "pixel-art image of the subject",
|
|
115
|
+
buildMeaning: "pixel board: one 3MF with one object per piece",
|
|
116
|
+
removeBackground: false,
|
|
117
|
+
prototypeExtra: (cmd) => cmd.addOption(new Option("--type <subject>", "what the photo shows (required): person (chibi sprite) | other (bead-art icon)").choices(["person", "other"])),
|
|
118
|
+
prototypeExtraPayload: (opts) => ({ type: opts.type }),
|
|
119
|
+
validatePrototype: (payload) => {
|
|
120
|
+
if (payload.type !== "person" && payload.type !== "other") {
|
|
121
|
+
throw new UsageError("fidget-pixel prototype: provide --type person | other");
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
buildFormats: ["3mf"],
|
|
125
|
+
optionsSchema: fidgetPixelOptionsSchema,
|
|
126
|
+
hasBuildOptions: true,
|
|
68
127
|
},
|
|
69
128
|
lamp: {
|
|
70
129
|
product: "lamp",
|
|
@@ -96,6 +155,17 @@ const PRODUCTS = {
|
|
|
96
155
|
product: "keychain",
|
|
97
156
|
label: "keychain",
|
|
98
157
|
prototypeMeaning: "styled concept image of the keychain",
|
|
158
|
+
prototypeExtra: (cmd) => cmd.option("--name-text <text>", `text to engrave, at most ${NAME_TEXT_MAX} characters (the build inherits it; --name only labels the task)`),
|
|
159
|
+
prototypeExtraPayload: (opts) => ({ name_text: opts.nameText }),
|
|
160
|
+
validatePrototype: (payload) => {
|
|
161
|
+
if (payload.name_text === undefined)
|
|
162
|
+
return;
|
|
163
|
+
if (typeof payload.name_text !== "string")
|
|
164
|
+
throw new UsageError("name_text must be a string");
|
|
165
|
+
const length = [...payload.name_text.trim()].length;
|
|
166
|
+
if (length > NAME_TEXT_MAX)
|
|
167
|
+
throw new UsageError(`--name-text must be at most ${NAME_TEXT_MAX} characters (got ${length})`);
|
|
168
|
+
},
|
|
99
169
|
buildMeaning: "relief keychain: glb, obj (a ZIP bundle with model.obj/model.mtl/texture.png) or bundle_zip",
|
|
100
170
|
buildFormats: ["glb", "obj", "zip"],
|
|
101
171
|
optionsSchema: reliefOptionsSchema,
|
|
@@ -130,8 +200,9 @@ function prototypeSpec(p) {
|
|
|
130
200
|
configure(cmd) {
|
|
131
201
|
const base = cmd
|
|
132
202
|
.option("--image-url <src>", "photo as http(s) URL, data: URI or local jpg/jpeg/png/webp path (required)")
|
|
133
|
-
.option("--name <text>", `optional name, at most ${NAME_MAX} characters`)
|
|
134
|
-
|
|
203
|
+
.option("--name <text>", `optional name, at most ${NAME_MAX} characters`);
|
|
204
|
+
if (p.removeBackground !== false)
|
|
205
|
+
base.option("--remove-background", "return the concept image as a transparent RGBA PNG (default: false)");
|
|
135
206
|
return p.prototypeExtra ? p.prototypeExtra(base) : base;
|
|
136
207
|
},
|
|
137
208
|
toPayload(opts) {
|
|
@@ -168,6 +239,7 @@ function buildSpec(p) {
|
|
|
168
239
|
cmd
|
|
169
240
|
.option("--input-task-id <id>", "SUCCEEDED prototype task of the same product created with the same API key (required)")
|
|
170
241
|
.option("--name <text>", `optional name, at most ${NAME_MAX} characters`);
|
|
242
|
+
p.buildExtra?.(cmd);
|
|
171
243
|
if (p.hasBuildOptions) {
|
|
172
244
|
cmd.option("--options <json>", "product-specific build options as JSON (or @file.json); merged into payload.options, typed flags win");
|
|
173
245
|
if (p.buildFormats) {
|
|
@@ -183,6 +255,7 @@ function buildSpec(p) {
|
|
|
183
255
|
const payload = {
|
|
184
256
|
input_task_id: opts.inputTaskId,
|
|
185
257
|
name: opts.name,
|
|
258
|
+
...(p.buildExtraPayload ? p.buildExtraPayload(opts) : {}),
|
|
186
259
|
};
|
|
187
260
|
if (p.hasBuildOptions) {
|
|
188
261
|
const optionsFlag = parseJsonFlag(opts.options, "--options");
|
|
@@ -232,6 +305,32 @@ function buildSpec(p) {
|
|
|
232
305
|
},
|
|
233
306
|
};
|
|
234
307
|
}
|
|
308
|
+
/** The collapsible fidget: one create on the product root, no prototype/build. */
|
|
309
|
+
function collapsibleFidgetSpec() {
|
|
310
|
+
return {
|
|
311
|
+
name: "creative-lab.fidget-collapsible",
|
|
312
|
+
commandName: "fidget-collapsible",
|
|
313
|
+
defaultSchema: "v1",
|
|
314
|
+
description: "Creative Lab collapsible fidget — one stage: photo → printable STL (plus a preview GLB when available)",
|
|
315
|
+
create: {
|
|
316
|
+
description: "Create a collapsible fidget from a photo",
|
|
317
|
+
configure(cmd) {
|
|
318
|
+
return cmd
|
|
319
|
+
.option("--image-url <src>", "photo as http(s) URL, data: URI or local jpg/jpeg/png/webp path (required)")
|
|
320
|
+
.option("--name <text>", `optional task label, at most ${NAME_MAX} characters (nothing is engraved)`);
|
|
321
|
+
},
|
|
322
|
+
toPayload(opts) {
|
|
323
|
+
return { image_url: opts.imageUrl, name: opts.name };
|
|
324
|
+
},
|
|
325
|
+
validatePayload(payload) {
|
|
326
|
+
if (payload.image_url === undefined || payload.image_url === null || payload.image_url === "") {
|
|
327
|
+
throw new UsageError("provide --image-url (a photo URL, data: URI or local file)");
|
|
328
|
+
}
|
|
329
|
+
checkName(payload);
|
|
330
|
+
},
|
|
331
|
+
},
|
|
332
|
+
};
|
|
333
|
+
}
|
|
235
334
|
function productCommand(product) {
|
|
236
335
|
const p = PRODUCTS[product];
|
|
237
336
|
const cmd = new Command(product).description(`Creative Lab ${p.label}: prototype (${p.prototypeMeaning}) then build (${p.buildMeaning})`);
|
|
@@ -240,7 +339,7 @@ function productCommand(product) {
|
|
|
240
339
|
return cmd;
|
|
241
340
|
}
|
|
242
341
|
export const creativeLabCommand = new Command("creative-lab")
|
|
243
|
-
.description(
|
|
342
|
+
.description(`Creative Lab physical products from a photo: ${CREATIVE_LAB_PRODUCTS.join(" | ")} (prototype then build stages) and fidget-collapsible (one stage)`)
|
|
244
343
|
.addHelpText("after", `
|
|
245
344
|
Stages differ per product — prototype is a concept image (lamp also yields a lampshade GLB);
|
|
246
345
|
build consumes a SUCCEEDED prototype created through this API with the same key. Web-app
|
|
@@ -249,8 +348,12 @@ prototypes are rejected by the server (404). Build never re-runs a prototype.
|
|
|
249
348
|
meshy creative-lab figure prototype create --image-url ./photo.png --name demo --async
|
|
250
349
|
meshy creative-lab figure build create --input-task-id <prototype-id> --async
|
|
251
350
|
meshy creative-lab lamp build create --input-task-id <id> --model-format zip --options '{"diameter_mm":180}'
|
|
351
|
+
meshy creative-lab keycap build create --input-task-id <prototype-id> --candidate-id <candidate-id>
|
|
352
|
+
meshy creative-lab fidget-pixel prototype create --image-url ./pet.jpg --type other
|
|
353
|
+
meshy creative-lab fidget-collapsible create --image-url ./photo.png
|
|
252
354
|
`);
|
|
253
355
|
for (const product of CREATIVE_LAB_PRODUCTS)
|
|
254
356
|
creativeLabCommand.addCommand(productCommand(product));
|
|
357
|
+
creativeLabCommand.addCommand(buildResourceCommand(collapsibleFidgetSpec()));
|
|
255
358
|
export const CREATIVE_LAB_STAGE_NAMES = ["prototype", "build"];
|
|
256
359
|
//# sourceMappingURL=creative-lab.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"creative-lab.js","sourceRoot":"","sources":["../../src/cmd/creative-lab.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAkD,MAAM,gCAAgC,CAAC;AACvH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAA4B,MAAM,6BAA6B,CAAC;AAE7F,MAAM,QAAQ,GAAG,GAAG,CAAC;AAErB,MAAM,iBAAiB,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACnD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACjD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACzD,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpE,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3D,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACtD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACtD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACtD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC5C,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,mBAAmB,GAAG,CAAC;KAC1B,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC7C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACvC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC/C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACjD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpD,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACzC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;CACjE,CAAC;KACD,WAAW,EAAE,CAAC;AAmBjB,MAAM,QAAQ,GAAkD;IAC9D,MAAM,EAAE;QACN,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,QAAQ;QACf,gBAAgB,EAAE,oCAAoC;QACtD,YAAY,EAAE,0DAA0D;QACxE,eAAe,EAAE,KAAK;KACvB;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,MAAM;QACb,gBAAgB,EAAE,uDAAuD;QACzE,YAAY,EAAE,sFAAsF;QACpG,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CACtB,GAAG,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,wBAAwB,EAAE,2CAA2C,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;QACtI,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QACvE,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;gBACtB,MAAM,IAAI,UAAU,CAAC,oHAAoH,CAAC,CAAC;YAC7I,CAAC;YACD,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,KAAK,WAAW,IAAI,OAAO,CAAC,aAAa,KAAK,WAAW,EAAE,CAAC;gBAC1H,MAAM,IAAI,UAAU,CAAC,kDAAkD,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QACD,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;QAC5B,aAAa,EAAE,iBAAiB;QAChC,eAAe,EAAE,IAAI;QACrB,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;YACzB,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAA4B,CAAC;YACnE,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAA4B,CAAC;YACjE,IAAI,OAAO,CAAC,mBAAmB,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBACpE,MAAM,IAAI,UAAU,CAAC,gHAAgH,CAAC,CAAC;YACzI,CAAC;QACH,CAAC;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE,UAAU;QACjB,gBAAgB,EAAE,sCAAsC;QACxD,YAAY,EAAE,6FAA6F;QAC3G,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;QACnC,aAAa,EAAE,mBAAmB;QAClC,eAAe,EAAE,IAAI;KACtB;IACD,eAAe,EAAE;QACf,OAAO,EAAE,eAAe;QACxB,KAAK,EAAE,eAAe;QACtB,gBAAgB,EAAE,oCAAoC;QACtD,YAAY,EAAE,kGAAkG;QAChH,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;QACnC,aAAa,EAAE,mBAAmB;QAClC,eAAe,EAAE,IAAI;KACtB;CACF,CAAC;AAEF,SAAS,SAAS,CAAC,OAAgC;IACjD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO;IAChE,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;QAAE,MAAM,IAAI,UAAU,CAAC,uBAAuB,CAAC,CAAC;IACpF,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ;QAAE,MAAM,IAAI,UAAU,CAAC,wBAAwB,QAAQ,oBAAoB,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACvI,CAAC;AAED,SAAS,aAAa,CAAC,CAAoB;IACzC,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,CAAC,OAAO,YAAY;QAC3C,WAAW,EAAE,WAAW;QACxB,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,gBAAgB,CAAC,CAAC,KAAK,+BAA+B,CAAC,CAAC,gBAAgB,EAAE;QACvF,MAAM,EAAE;YACN,WAAW,EAAE,YAAY,CAAC,CAAC,KAAK,yBAAyB;YACzD,SAAS,CAAC,GAAG;gBACX,MAAM,IAAI,GAAG,GAAG;qBACb,MAAM,CAAC,mBAAmB,EAAE,4EAA4E,CAAC;qBACzG,MAAM,CAAC,eAAe,EAAE,0BAA0B,QAAQ,aAAa,CAAC;qBACxE,MAAM,CAAC,qBAAqB,EAAE,qEAAqE,CAAC,CAAC;gBACxG,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1D,CAAC;YACD,SAAS,CAAC,IAAI;gBACZ,OAAO;oBACL,SAAS,EAAE,IAAI,CAAC,QAAQ;oBACxB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;oBACpE,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClE,CAAC;YACJ,CAAC;YACD,eAAe,CAAC,OAAO;gBACrB,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC;oBAC9F,MAAM,IAAI,UAAU,CAAC,4DAA4D,CAAC,CAAC;gBACrF,CAAC;gBACD,SAAS,CAAC,OAAO,CAAC,CAAC;gBACnB,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;oBAC9F,MAAM,IAAI,UAAU,CAAC,qCAAqC,CAAC,CAAC;gBAC9D,CAAC;gBACD,CAAC,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,CAAoB;IACrC,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,CAAC,OAAO,QAAQ;QACvC,WAAW,EAAE,OAAO;QACpB,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,gBAAgB,CAAC,CAAC,KAAK,yCAAyC,CAAC,CAAC,YAAY,EAAE;QAC7F,MAAM,EAAE;YACN,WAAW,EAAE,YAAY,CAAC,CAAC,KAAK,uDAAuD;YACvF,gBAAgB,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;YACvC,SAAS,CAAC,GAAG;gBACX,GAAG;qBACA,MAAM,CAAC,sBAAsB,EAAE,uFAAuF,CAAC;qBACvH,MAAM,CAAC,eAAe,EAAE,0BAA0B,QAAQ,aAAa,CAAC,CAAC;gBAC5E,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;oBACtB,GAAG,CAAC,MAAM,CAAC,kBAAkB,EAAE,sGAAsG,CAAC,CAAC;oBACvI,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;wBACnB,GAAG,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;oBAClI,CAAC;oBACD,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;wBACzB,GAAG,CAAC,MAAM,CAAC,uBAAuB,EAAE,iEAAiE,CAAC,CAAC;oBACzG,CAAC;gBACH,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC;YACD,SAAS,CAAC,IAAI;gBACZ,MAAM,OAAO,GAA4B;oBACvC,aAAa,EAAE,IAAI,CAAC,WAAW;oBAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB,CAAC;gBACF,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;oBACtB,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,OAA6B,EAAE,WAAW,CAAC,CAAC;oBACnF,MAAM,OAAO,GAA4B,EAAE,GAAG,WAAW,EAAE,CAAC;oBAC5D,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI;wBAAE,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBAChG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;wBAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;oBAC/D,IAAI,IAAI,CAAC,WAAW;wBAAE,OAAO,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtE,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,eAAe,CAAC,OAAO;gBACrB,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,IAAI,OAAO,CAAC,aAAa,KAAK,EAAE,EAAE,CAAC;oBAC1G,MAAM,IAAI,UAAU,CAAC,wDAAwD,CAAC,CAAC;gBACjF,CAAC;gBACD,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ;oBAAE,MAAM,IAAI,UAAU,CAAC,gCAAgC,CAAC,CAAC;gBACtG,SAAS,CAAC,OAAO,CAAC,CAAC;gBACnB,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;oBACvB,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAClE,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,kEAAkE,CAAC,CAAC;oBACrG,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAClC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC9F,MAAM,IAAI,UAAU,CAAC,+BAA+B,CAAC,CAAC;oBACxD,CAAC;oBACD,MAAM,MAAM,GAAG,CAAC,CAAC,aAAc,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC3D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBACpB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBACrC,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,2BAA2B,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC1I,CAAC;gBACH,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBACjC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAwC,CAAC;oBAC7D,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;wBAAE,MAAM,IAAI,UAAU,CAAC,8BAA8B,CAAC,CAAC;oBAChH,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;wBACrF,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,uCAAuC,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC9G,CAAC;gBACH,CAAC;gBACD,CAAC,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,OAA2B;IACjD,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,gBAAgB,iBAAiB,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;IAC1I,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC;KAC1D,WAAW,CAAC,6HAA6H,CAAC;KAC1I,WAAW,CACV,OAAO,EACP;;;;;;;;CAQH,CACE,CAAC;AAEJ,KAAK,MAAM,OAAO,IAAI,qBAAqB;IAAE,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AAEpG,MAAM,CAAC,MAAM,wBAAwB,GAAgC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"creative-lab.js","sourceRoot":"","sources":["../../src/cmd/creative-lab.ts"],"names":[],"mappings":"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"}
|
package/dist/cmd/delete.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Top-level `meshy-cli delete <id>` — destructive.
|
|
3
|
-
*
|
|
2
|
+
* Top-level `meshy-cli delete <id>` — destructive. Sends DELETE to
|
|
3
|
+
* /openapi/v2/text-to-3d/<id>, which the server answers for a task of any
|
|
4
|
+
* type except Creative Lab: those have their own per-product DELETE (which
|
|
5
|
+
* cancels rather than deletes) and the shared route answers 404 for them.
|
|
4
6
|
*/
|
|
5
7
|
import { Command } from "commander";
|
|
6
8
|
export declare const deleteCommand: Command;
|
package/dist/cmd/delete.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/cmd/delete.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/cmd/delete.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,aAAa,SAyBtB,CAAC"}
|
package/dist/cmd/delete.js
CHANGED
|
@@ -1,18 +1,33 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Top-level `meshy-cli delete <id>` — destructive.
|
|
3
|
-
*
|
|
2
|
+
* Top-level `meshy-cli delete <id>` — destructive. Sends DELETE to
|
|
3
|
+
* /openapi/v2/text-to-3d/<id>, which the server answers for a task of any
|
|
4
|
+
* type except Creative Lab: those have their own per-product DELETE (which
|
|
5
|
+
* cancels rather than deletes) and the shared route answers 404 for them.
|
|
4
6
|
*/
|
|
5
7
|
import { Command } from "commander";
|
|
8
|
+
import { MeshyApiError } from "../client/errors.js";
|
|
6
9
|
import { emitResult, openCommand, rejectOutputFlagForV1 } from "../internal/command-helpers.js";
|
|
7
10
|
import { buildRuntime } from "../internal/runtime.js";
|
|
11
|
+
import { deleteFailure } from "../internal/task-command.js";
|
|
12
|
+
const CREATIVE_LAB_HINT = "Creative Lab tasks are not reachable here: cancel one with `meshy creative-lab <product> <stage> delete <task-id>`";
|
|
8
13
|
export const deleteCommand = new Command("delete")
|
|
9
|
-
.description("
|
|
14
|
+
.description("Permanently delete a task of any type except Creative Lab (use `meshy creative-lab <product> <stage> delete`); an IN_PROGRESS task cannot be stopped and is refused with exit 14")
|
|
10
15
|
.argument("<task-id>", "Meshy task id")
|
|
11
16
|
.action(async (taskId, _opts, thisCmd) => {
|
|
12
17
|
const opened = openCommand(thisCmd, "delete", "legacy");
|
|
13
18
|
rejectOutputFlagForV1(opened, undefined);
|
|
14
19
|
const runtime = await buildRuntime(opened.flags);
|
|
15
|
-
|
|
20
|
+
try {
|
|
21
|
+
await runtime.client.textTo3d.delete(taskId);
|
|
22
|
+
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
if (err instanceof MeshyApiError && err.code === "not_found") {
|
|
25
|
+
// Same class and shape, one more sentence: a 404 here may be a Creative Lab task.
|
|
26
|
+
throw new MeshyApiError({ message: `${err.message}. ${CREATIVE_LAB_HINT}`, status: err.status, code: err.code, path: err.path, body: err.body, credentialKind: err.credentialKind });
|
|
27
|
+
}
|
|
28
|
+
// The type is unknown here, so there is no runnable wait command to offer.
|
|
29
|
+
throw deleteFailure(err, taskId);
|
|
30
|
+
}
|
|
16
31
|
await emitResult(opened, { task_id: taskId, deleted: true }, { task_id: taskId, resource: null, endpoint: "/openapi/v2/text-to-3d", deleted: true }, { legacyFile: opened.flags.output });
|
|
17
32
|
});
|
|
18
33
|
//# sourceMappingURL=delete.js.map
|
package/dist/cmd/delete.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/cmd/delete.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/cmd/delete.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,MAAM,iBAAiB,GACrB,oHAAoH,CAAC;AAEvH,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CACV,kLAAkL,CACnL;KACA,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;KACtC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,KAA8B,EAAE,OAAgB,EAAE,EAAE;IACjF,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxD,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC7D,kFAAkF;YAClF,MAAM,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,KAAK,iBAAiB,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;QACvL,CAAC;QACD,2EAA2E;QAC3E,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,UAAU,CACd,MAAM,EACN,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAClC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,wBAAwB,EAAE,OAAO,EAAE,IAAI,EAAE,EACtF,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CACpC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* image-to-3d — https://docs.meshy.ai/en/api/image-to-3d
|
|
3
3
|
*
|
|
4
|
-
* The mode
|
|
5
|
-
* - standard → meshy-7 (server default "latest") — full-detail
|
|
6
|
-
* polycount is remesh's job afterwards.
|
|
7
|
-
* - smart-topology → meshy-t2 (server default)
|
|
8
|
-
*
|
|
9
|
-
* geometry.
|
|
4
|
+
* The mode picks the model:
|
|
5
|
+
* - standard → meshy-7.1 (server default "latest") — full-detail
|
|
6
|
+
* generation; polycount is remesh's job afterwards.
|
|
7
|
+
* - smart-topology → meshy-t2 (server default), or meshy-t2.5 with
|
|
8
|
+
* --ai-model — component-aware low-poly with a native
|
|
9
|
+
* --target-polycount; the budget pick for game-ready geometry.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* The Ultra geometry pass (--geometry-resolution 2k|4k, or the deprecated
|
|
12
|
+
* --ultra-mode) rides on standard only: it needs meshy-7.1, so pairing it with
|
|
13
|
+
* smart-topology is rejected here rather than on the wire.
|
|
13
14
|
*/
|
|
14
15
|
export declare const imageTo3dCommand: import("commander").Command;
|
|
15
16
|
//# sourceMappingURL=image-to-3d.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-to-3d.d.ts","sourceRoot":"","sources":["../../src/cmd/image-to-3d.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"image-to-3d.d.ts","sourceRoot":"","sources":["../../src/cmd/image-to-3d.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAkLH,eAAO,MAAM,gBAAgB,6BAA6B,CAAC"}
|
package/dist/cmd/image-to-3d.js
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* image-to-3d — https://docs.meshy.ai/en/api/image-to-3d
|
|
3
3
|
*
|
|
4
|
-
* The mode
|
|
5
|
-
* - standard → meshy-7 (server default "latest") — full-detail
|
|
6
|
-
* polycount is remesh's job afterwards.
|
|
7
|
-
* - smart-topology → meshy-t2 (server default)
|
|
8
|
-
*
|
|
9
|
-
* geometry.
|
|
4
|
+
* The mode picks the model:
|
|
5
|
+
* - standard → meshy-7.1 (server default "latest") — full-detail
|
|
6
|
+
* generation; polycount is remesh's job afterwards.
|
|
7
|
+
* - smart-topology → meshy-t2 (server default), or meshy-t2.5 with
|
|
8
|
+
* --ai-model — component-aware low-poly with a native
|
|
9
|
+
* --target-polycount; the budget pick for game-ready geometry.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* The Ultra geometry pass (--geometry-resolution 2k|4k, or the deprecated
|
|
12
|
+
* --ultra-mode) rides on standard only: it needs meshy-7.1, so pairing it with
|
|
13
|
+
* smart-topology is rejected here rather than on the wire.
|
|
13
14
|
*/
|
|
14
15
|
import { Option } from "commander";
|
|
15
16
|
import { parseBool, parseCsv, parseInt10 } from "../internal/flags.js";
|
|
16
17
|
import { UsageError } from "../internal/errors.js";
|
|
17
18
|
import { buildResourceCommand } from "../internal/task-command.js";
|
|
19
|
+
import { checkSmartTopology, defaultPolycount, SMART_TOPOLOGY_MODELS } from "../internal/smart-topology.js";
|
|
18
20
|
const spec = {
|
|
19
21
|
name: "image-to-3d",
|
|
20
22
|
description: "Generate a 3D model from a single reference image (clean backgrounds and clear edges " +
|
|
@@ -28,16 +30,18 @@ const spec = {
|
|
|
28
30
|
return cmd
|
|
29
31
|
.option("--image-url <src>", "reference image; http(s) URL or local file path")
|
|
30
32
|
.option("--input-task-id <id>", "alternative to --image-url: a SUCCEEDED text-to-image or image-to-image task whose output becomes the source image")
|
|
31
|
-
.addOption(new Option("--model-type <kind>", "standard (default; meshy-7 full-detail generation) | smart-topology (
|
|
32
|
-
.
|
|
33
|
-
.option("--
|
|
33
|
+
.addOption(new Option("--model-type <kind>", "standard (default; meshy-7.1 full-detail generation) | smart-topology (component-aware low-poly: clean topology, separated parts; meshy-t2, or --ai-model meshy-t2.5)").choices(["standard", "smart-topology"]))
|
|
34
|
+
.addOption(new Option("--ai-model <model>", "smart-topology only: meshy-t2 (the API's choice when omitted) | meshy-t2.5 (polycount up to 30000)").choices([...SMART_TOPOLOGY_MODELS]))
|
|
35
|
+
.option("--target-polycount <n>", "smart-topology only: target triangle count — meshy-t2 100-15000 (default: 10000), meshy-t2.5 100-30000 (default: the API's 15000). For standard outputs use remesh", parseInt10)
|
|
36
|
+
.addOption(new Option("--geometry-resolution <res>", "standard mode only: standard (default) | 2k | 4k — the Ultra geometry pass at 2048³ / 4096³ for finer surface detail (needs meshy-7.1 / latest, the default; billed on top of the mesh)").choices(["standard", "2k", "4k"]))
|
|
37
|
+
.option("--ultra-mode <bool>", "deprecated: use --geometry-resolution 2k (true is the same pass)", parseBool)
|
|
34
38
|
.option("--should-texture <bool>", "generate textures (default: false — draft white mesh, the preview stage; texture later with retexture)", parseBool)
|
|
35
|
-
.option("--enable-pbr <bool>", "generate normal/metallic/roughness
|
|
36
|
-
.option("--texture-prompt <text>", "text guidance for texturing (max
|
|
39
|
+
.option("--enable-pbr <bool>", "generate normal/metallic/roughness maps, plus an emission map on meshy-6 below 8k (default: true, so game-engine imports carry the full map set)", parseBool)
|
|
40
|
+
.option("--texture-prompt <text>", "text guidance for texturing (max 800 chars)")
|
|
37
41
|
.addOption(new Option("--texture-resolution <res>", "base color texture size (default: 4k)").choices(["2k", "4k", "8k"]))
|
|
38
42
|
.addOption(new Option("--pose-mode <pose>", "a-pose | t-pose pre-pose characters for rigging; auto (default) lets the model decide").choices(["a-pose", "t-pose", "auto"]))
|
|
39
43
|
.option("--image-enhancement <bool>", "optimize the input image before processing (default: true)", parseBool)
|
|
40
|
-
.option("--remove-lighting <bool>", "strip baked lighting from the base color (default
|
|
44
|
+
.option("--remove-lighting <bool>", "strip baked lighting from the base color; the API applies it on meshy-6 only (--data '{\"ai_model\":\"meshy-6\"}') — the default Meshy 7.1 does not use it and smart-topology refuses it", parseBool)
|
|
41
45
|
.option("--target-formats <csv>", "glb,obj,fbx,stl,usdz,3mf (default: glb)", parseCsv);
|
|
42
46
|
},
|
|
43
47
|
toPayload(opts) {
|
|
@@ -48,9 +52,15 @@ const spec = {
|
|
|
48
52
|
if (opts.targetPolycount != null && !smart) {
|
|
49
53
|
throw new UsageError("--target-polycount applies to --model-type smart-topology only; for standard outputs chain `remesh` afterwards");
|
|
50
54
|
}
|
|
51
|
-
//
|
|
55
|
+
// The Ultra pass needs meshy-7.1, which only standard mode resolves to.
|
|
52
56
|
if (opts.ultraMode === true && smart) {
|
|
53
|
-
throw new UsageError("--ultra-mode applies to --model-type standard only (it needs meshy-7
|
|
57
|
+
throw new UsageError("--ultra-mode applies to --model-type standard only (it needs meshy-7.1)");
|
|
58
|
+
}
|
|
59
|
+
if (smart && opts.geometryResolution !== undefined && opts.geometryResolution !== "standard") {
|
|
60
|
+
throw new UsageError("--geometry-resolution 2k/4k applies to --model-type standard only (it needs meshy-7.1)");
|
|
61
|
+
}
|
|
62
|
+
if (opts.ultraMode !== undefined && opts.geometryResolution !== undefined) {
|
|
63
|
+
throw new UsageError("--ultra-mode is the deprecated spelling of --geometry-resolution 2k; pass only --geometry-resolution");
|
|
54
64
|
}
|
|
55
65
|
// The API rejects texture knobs on untextured runs; catch it before the wire.
|
|
56
66
|
if (opts.shouldTexture !== true && !opts.data) {
|
|
@@ -68,8 +78,10 @@ const spec = {
|
|
|
68
78
|
image_url: opts.imageUrl,
|
|
69
79
|
input_task_id: opts.inputTaskId,
|
|
70
80
|
model_type: opts.modelType,
|
|
81
|
+
ai_model: opts.aiModel,
|
|
71
82
|
target_polycount: opts.targetPolycount,
|
|
72
83
|
ultra_mode: opts.ultraMode,
|
|
84
|
+
geometry_resolution: opts.geometryResolution,
|
|
73
85
|
should_texture: opts.shouldTexture,
|
|
74
86
|
enable_pbr: opts.enablePbr,
|
|
75
87
|
texture_prompt: opts.texturePrompt,
|
|
@@ -86,20 +98,32 @@ const spec = {
|
|
|
86
98
|
// texturing is its own step, and the API rejects texture knobs on
|
|
87
99
|
// untextured runs, so they ride only when texturing is on — then the
|
|
88
100
|
// game-ready defaults apply: full PBR map set, 4k base color. The
|
|
89
|
-
// model
|
|
90
|
-
//
|
|
91
|
-
// gets the rigging-friendly 10k polycount.
|
|
92
|
-
//
|
|
101
|
+
// model follows the mode (standard → meshy-7.1, smart-topology →
|
|
102
|
+
// meshy-t2, both server defaults) unless --ai-model picks meshy-t2.5.
|
|
103
|
+
// meshy-t2 gets the rigging-friendly 10k polycount; meshy-t2.5 keeps
|
|
104
|
+
// the API's 15k (D-078). The Ultra pass stays off
|
|
105
|
+
// unless asked for: it bills extra. GLB-only output — omitting target_formats
|
|
93
106
|
// makes the API produce every format.
|
|
94
107
|
const texturing = opts.shouldTexture === true;
|
|
95
108
|
return {
|
|
96
109
|
should_texture: false,
|
|
97
110
|
enable_pbr: texturing ? true : undefined,
|
|
98
111
|
texture_resolution: texturing ? "4k" : undefined,
|
|
99
|
-
target_polycount: opts
|
|
112
|
+
target_polycount: defaultPolycount(opts),
|
|
100
113
|
target_formats: ["glb"],
|
|
101
114
|
};
|
|
102
115
|
},
|
|
116
|
+
validatePayload(payload) {
|
|
117
|
+
checkSmartTopology(payload);
|
|
118
|
+
// Smart topology has neither knob; v1 answers 400 for either (it does not ignore them).
|
|
119
|
+
if (payload.model_type === "smart-topology") {
|
|
120
|
+
for (const [flag, key] of [["--remove-lighting", "remove_lighting"], ["--image-enhancement", "image_enhancement"]]) {
|
|
121
|
+
if (payload[key] !== undefined) {
|
|
122
|
+
throw new UsageError(`${flag} applies to --model-type standard only (the API refuses it for smart-topology)`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
},
|
|
103
127
|
},
|
|
104
128
|
endpointOf: (c) => c.imageTo3d,
|
|
105
129
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-to-3d.js","sourceRoot":"","sources":["../../src/cmd/image-to-3d.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"image-to-3d.js","sourceRoot":"","sources":["../../src/cmd/image-to-3d.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAA4B,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAE5G,MAAM,IAAI,GAAwB;IAChC,IAAI,EAAE,aAAa;IACnB,WAAW,EACT,uFAAuF;QACvF,oFAAoF;QACpF,+EAA+E;QAC/E,mFAAmF;QACnF,2DAA2D;IAC7D,MAAM,EAAE;QACN,WAAW,EAAE,4BAA4B;QACzC,SAAS,CAAC,GAAG;YACX,OAAO,GAAG;iBACP,MAAM,CAAC,mBAAmB,EAAE,iDAAiD,CAAC;iBAC9E,MAAM,CACL,sBAAsB,EACtB,oHAAoH,CACrH;iBACA,SAAS,CACR,IAAI,MAAM,CACR,qBAAqB,EACrB,uKAAuK,CACxK,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAC1C;iBACA,SAAS,CACR,IAAI,MAAM,CACR,oBAAoB,EACpB,oGAAoG,CACrG,CAAC,OAAO,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CACtC;iBACA,MAAM,CACL,wBAAwB,EACxB,oKAAoK,EACpK,UAAU,CACX;iBACA,SAAS,CACR,IAAI,MAAM,CACR,6BAA6B,EAC7B,yLAAyL,CAC1L,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CACpC;iBACA,MAAM,CACL,qBAAqB,EACrB,kEAAkE,EAClE,SAAS,CACV;iBACA,MAAM,CACL,yBAAyB,EACzB,wGAAwG,EACxG,SAAS,CACV;iBACA,MAAM,CACL,qBAAqB,EACrB,kJAAkJ,EAClJ,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,SAAS,CACR,IAAI,MAAM,CACR,oBAAoB,EACpB,uFAAuF,CACxF,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CACxC;iBACA,MAAM,CACL,4BAA4B,EAC5B,4DAA4D,EAC5D,SAAS,CACV;iBACA,MAAM,CACL,0BAA0B,EAC1B,0LAA0L,EAC1L,SAAS,CACV;iBACA,MAAM,CAAC,wBAAwB,EAAE,yCAAyC,EAAE,QAAQ,CAAC,CAAC;QAC3F,CAAC;QACD,SAAS,CAAC,IAAI;YACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtD,MAAM,IAAI,UAAU,CAAC,wCAAwC,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,KAAK,gBAAgB,CAAC;YAClD,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3C,MAAM,IAAI,UAAU,CAClB,gHAAgH,CACjH,CAAC;YACJ,CAAC;YACD,wEAAwE;YACxE,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,EAAE,CAAC;gBACrC,MAAM,IAAI,UAAU,CAClB,yEAAyE,CAC1E,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,IAAI,IAAI,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;gBAC7F,MAAM,IAAI,UAAU,CAAC,wFAAwF,CAAC,CAAC;YACjH,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBAC1E,MAAM,IAAI,UAAU,CAAC,sGAAsG,CAAC,CAAC;YAC/H,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,SAAS,EAAE,IAAI,CAAC,QAAQ;gBACxB,aAAa,EAAE,IAAI,CAAC,WAAW;gBAC/B,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,QAAQ,EAAE,IAAI,CAAC,OAAO;gBACtB,gBAAgB,EAAE,IAAI,CAAC,eAAe;gBACtC,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,mBAAmB,EAAE,IAAI,CAAC,kBAAkB;gBAC5C,cAAc,EAAE,IAAI,CAAC,aAAa;gBAClC,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,cAAc,EAAE,IAAI,CAAC,aAAa;gBAClC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB;gBAC1C,SAAS,EAAE,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ;gBAC/D,iBAAiB,EAAE,IAAI,CAAC,gBAAgB;gBACxC,eAAe,EAAE,IAAI,CAAC,cAAc;gBACpC,cAAc,EAAE,IAAI,CAAC,aAAa;aACnC,CAAC;QACJ,CAAC;QACD,UAAU,CAAC,IAAI;YACb,mEAAmE;YACnE,kEAAkE;YAClE,kEAAkE;YAClE,qEAAqE;YACrE,kEAAkE;YAClE,iEAAiE;YACjE,sEAAsE;YACtE,qEAAqE;YACrE,kDAAkD;YAClD,8EAA8E;YAC9E,sCAAsC;YACtC,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,gBAAgB,EAAE,gBAAgB,CAAC,IAAI,CAAC;gBACxC,cAAc,EAAE,CAAC,KAAK,CAAC;aACxB,CAAC;QACJ,CAAC;QACD,eAAe,CAAC,OAAO;YACrB,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC5B,wFAAwF;YACxF,IAAI,OAAO,CAAC,UAAU,KAAK,gBAAgB,EAAE,CAAC;gBAC5C,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,EAAE,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAU,EAAE,CAAC;oBAC5H,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;wBAC/B,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,gFAAgF,CAAC,CAAC;oBAChH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;KACF;IACD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-to-image.d.ts","sourceRoot":"","sources":["../../src/cmd/image-to-image.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"image-to-image.d.ts","sourceRoot":"","sources":["../../src/cmd/image-to-image.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoFH,eAAO,MAAM,mBAAmB,6BAA6B,CAAC"}
|