@meshy-ai/cli 0.1.3 → 0.3.0

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.
Files changed (293) hide show
  1. package/.env.example +8 -2
  2. package/README.md +342 -108
  3. package/dist/client/endpoints/animation-catalog.d.ts +37 -0
  4. package/dist/client/endpoints/animation-catalog.d.ts.map +1 -0
  5. package/dist/client/endpoints/animation-catalog.js +55 -0
  6. package/dist/client/endpoints/animation-catalog.js.map +1 -0
  7. package/dist/client/endpoints/balance.d.ts +5 -0
  8. package/dist/client/endpoints/balance.d.ts.map +1 -1
  9. package/dist/client/endpoints/balance.js +5 -1
  10. package/dist/client/endpoints/balance.js.map +1 -1
  11. package/dist/client/endpoints/base.d.ts +41 -7
  12. package/dist/client/endpoints/base.d.ts.map +1 -1
  13. package/dist/client/endpoints/base.js +61 -40
  14. package/dist/client/endpoints/base.js.map +1 -1
  15. package/dist/client/endpoints/showcases.d.ts +31 -0
  16. package/dist/client/endpoints/showcases.d.ts.map +1 -0
  17. package/dist/client/endpoints/showcases.js +49 -0
  18. package/dist/client/endpoints/showcases.js.map +1 -0
  19. package/dist/client/errors.d.ts +1 -0
  20. package/dist/client/errors.d.ts.map +1 -1
  21. package/dist/client/errors.js +1 -1
  22. package/dist/client/errors.js.map +1 -1
  23. package/dist/client/index.d.ts +47 -38
  24. package/dist/client/index.d.ts.map +1 -1
  25. package/dist/client/index.js +89 -120
  26. package/dist/client/index.js.map +1 -1
  27. package/dist/client/resource-registry.d.ts +97 -0
  28. package/dist/client/resource-registry.d.ts.map +1 -0
  29. package/dist/client/resource-registry.js +157 -0
  30. package/dist/client/resource-registry.js.map +1 -0
  31. package/dist/client/transport.d.ts +99 -0
  32. package/dist/client/transport.d.ts.map +1 -0
  33. package/dist/client/transport.js +320 -0
  34. package/dist/client/transport.js.map +1 -0
  35. package/dist/client/types.d.ts +28 -221
  36. package/dist/client/types.d.ts.map +1 -1
  37. package/dist/client/types.js +28 -6
  38. package/dist/client/types.js.map +1 -1
  39. package/dist/cmd/animation-catalog.d.ts +26 -0
  40. package/dist/cmd/animation-catalog.d.ts.map +1 -0
  41. package/dist/cmd/animation-catalog.js +80 -0
  42. package/dist/cmd/animation-catalog.js.map +1 -0
  43. package/dist/cmd/api.d.ts +3 -2
  44. package/dist/cmd/api.d.ts.map +1 -1
  45. package/dist/cmd/api.js +22 -8
  46. package/dist/cmd/api.js.map +1 -1
  47. package/dist/cmd/auth.d.ts.map +1 -1
  48. package/dist/cmd/auth.js +5 -0
  49. package/dist/cmd/auth.js.map +1 -1
  50. package/dist/cmd/balance.d.ts.map +1 -1
  51. package/dist/cmd/balance.js +10 -6
  52. package/dist/cmd/balance.js.map +1 -1
  53. package/dist/cmd/creative-lab.d.ts +26 -0
  54. package/dist/cmd/creative-lab.d.ts.map +1 -0
  55. package/dist/cmd/creative-lab.js +256 -0
  56. package/dist/cmd/creative-lab.js.map +1 -0
  57. package/dist/cmd/delete.d.ts.map +1 -1
  58. package/dist/cmd/delete.js +6 -7
  59. package/dist/cmd/delete.js.map +1 -1
  60. package/dist/cmd/doctor.d.ts +23 -0
  61. package/dist/cmd/doctor.d.ts.map +1 -0
  62. package/dist/cmd/doctor.js +61 -0
  63. package/dist/cmd/doctor.js.map +1 -0
  64. package/dist/cmd/download.d.ts +17 -0
  65. package/dist/cmd/download.d.ts.map +1 -0
  66. package/dist/cmd/download.js +436 -0
  67. package/dist/cmd/download.js.map +1 -0
  68. package/dist/cmd/inspect.d.ts +63 -0
  69. package/dist/cmd/inspect.d.ts.map +1 -0
  70. package/dist/cmd/inspect.js +179 -0
  71. package/dist/cmd/inspect.js.map +1 -0
  72. package/dist/cmd/make.d.ts +13 -3
  73. package/dist/cmd/make.d.ts.map +1 -1
  74. package/dist/cmd/make.js +240 -36
  75. package/dist/cmd/make.js.map +1 -1
  76. package/dist/cmd/mesh.d.ts +13 -0
  77. package/dist/cmd/mesh.d.ts.map +1 -0
  78. package/dist/cmd/mesh.js +67 -0
  79. package/dist/cmd/mesh.js.map +1 -0
  80. package/dist/cmd/project.d.ts +16 -0
  81. package/dist/cmd/project.d.ts.map +1 -0
  82. package/dist/cmd/project.js +136 -0
  83. package/dist/cmd/project.js.map +1 -0
  84. package/dist/cmd/resources.d.ts +5 -0
  85. package/dist/cmd/resources.d.ts.map +1 -1
  86. package/dist/cmd/resources.js +38 -10
  87. package/dist/cmd/resources.js.map +1 -1
  88. package/dist/cmd/showcases.d.ts +10 -0
  89. package/dist/cmd/showcases.d.ts.map +1 -0
  90. package/dist/cmd/showcases.js +63 -0
  91. package/dist/cmd/showcases.js.map +1 -0
  92. package/dist/cmd/slicer.d.ts +12 -0
  93. package/dist/cmd/slicer.d.ts.map +1 -0
  94. package/dist/cmd/slicer.js +46 -0
  95. package/dist/cmd/slicer.js.map +1 -0
  96. package/dist/cmd/uv-unwrap.d.ts +16 -0
  97. package/dist/cmd/uv-unwrap.d.ts.map +1 -0
  98. package/dist/cmd/uv-unwrap.js +52 -0
  99. package/dist/cmd/uv-unwrap.js.map +1 -0
  100. package/dist/index.d.ts +13 -1
  101. package/dist/index.d.ts.map +1 -1
  102. package/dist/index.js +141 -8
  103. package/dist/index.js.map +1 -1
  104. package/dist/internal/artifacts.d.ts +97 -0
  105. package/dist/internal/artifacts.d.ts.map +1 -0
  106. package/dist/internal/artifacts.js +280 -0
  107. package/dist/internal/artifacts.js.map +1 -0
  108. package/dist/internal/atomic-file.d.ts +39 -0
  109. package/dist/internal/atomic-file.d.ts.map +1 -0
  110. package/dist/internal/atomic-file.js +160 -0
  111. package/dist/internal/atomic-file.js.map +1 -0
  112. package/dist/internal/command-helpers.d.ts +46 -0
  113. package/dist/internal/command-helpers.d.ts.map +1 -0
  114. package/dist/internal/command-helpers.js +61 -0
  115. package/dist/internal/command-helpers.js.map +1 -0
  116. package/dist/internal/config.d.ts +48 -5
  117. package/dist/internal/config.d.ts.map +1 -1
  118. package/dist/internal/config.js +95 -6
  119. package/dist/internal/config.js.map +1 -1
  120. package/dist/internal/context.d.ts +25 -0
  121. package/dist/internal/context.d.ts.map +1 -0
  122. package/dist/internal/context.js +37 -0
  123. package/dist/internal/context.js.map +1 -0
  124. package/dist/internal/credentials.d.ts +11 -0
  125. package/dist/internal/credentials.d.ts.map +1 -1
  126. package/dist/internal/credentials.js +2 -0
  127. package/dist/internal/credentials.js.map +1 -1
  128. package/dist/internal/device-state.js.map +1 -1
  129. package/dist/internal/device.d.ts.map +1 -1
  130. package/dist/internal/doctor.d.ts +94 -0
  131. package/dist/internal/doctor.d.ts.map +1 -0
  132. package/dist/internal/doctor.js +280 -0
  133. package/dist/internal/doctor.js.map +1 -0
  134. package/dist/internal/download.d.ts +147 -13
  135. package/dist/internal/download.d.ts.map +1 -1
  136. package/dist/internal/download.js +735 -142
  137. package/dist/internal/download.js.map +1 -1
  138. package/dist/internal/env-file.d.ts +29 -0
  139. package/dist/internal/env-file.d.ts.map +1 -0
  140. package/dist/internal/env-file.js +95 -0
  141. package/dist/internal/env-file.js.map +1 -0
  142. package/dist/internal/errors.d.ts +74 -1
  143. package/dist/internal/errors.d.ts.map +1 -1
  144. package/dist/internal/errors.js +173 -1
  145. package/dist/internal/errors.js.map +1 -1
  146. package/dist/internal/file-input.d.ts +52 -12
  147. package/dist/internal/file-input.d.ts.map +1 -1
  148. package/dist/internal/file-input.js +162 -33
  149. package/dist/internal/file-input.js.map +1 -1
  150. package/dist/internal/flags.js.map +1 -1
  151. package/dist/internal/global-options.d.ts +6 -4
  152. package/dist/internal/global-options.d.ts.map +1 -1
  153. package/dist/internal/global-options.js +19 -4
  154. package/dist/internal/global-options.js.map +1 -1
  155. package/dist/internal/headless.js.map +1 -1
  156. package/dist/internal/image-models.d.ts.map +1 -1
  157. package/dist/internal/inspect.d.ts +67 -0
  158. package/dist/internal/inspect.d.ts.map +1 -0
  159. package/dist/internal/inspect.js +111 -0
  160. package/dist/internal/inspect.js.map +1 -0
  161. package/dist/internal/lock.d.ts +19 -0
  162. package/dist/internal/lock.d.ts.map +1 -0
  163. package/dist/internal/lock.js +66 -0
  164. package/dist/internal/lock.js.map +1 -0
  165. package/dist/internal/logger.d.ts.map +1 -1
  166. package/dist/internal/material-links.d.ts +115 -0
  167. package/dist/internal/material-links.d.ts.map +1 -0
  168. package/dist/internal/material-links.js +577 -0
  169. package/dist/internal/material-links.js.map +1 -0
  170. package/dist/internal/obj-transform.d.ts +115 -0
  171. package/dist/internal/obj-transform.d.ts.map +1 -0
  172. package/dist/internal/obj-transform.js +649 -0
  173. package/dist/internal/obj-transform.js.map +1 -0
  174. package/dist/internal/operation-store.d.ts +123 -0
  175. package/dist/internal/operation-store.d.ts.map +1 -0
  176. package/dist/internal/operation-store.js +229 -0
  177. package/dist/internal/operation-store.js.map +1 -0
  178. package/dist/internal/output.d.ts +20 -2
  179. package/dist/internal/output.d.ts.map +1 -1
  180. package/dist/internal/output.js +32 -4
  181. package/dist/internal/output.js.map +1 -1
  182. package/dist/internal/paths.d.ts +89 -0
  183. package/dist/internal/paths.d.ts.map +1 -0
  184. package/dist/internal/paths.js +168 -0
  185. package/dist/internal/paths.js.map +1 -0
  186. package/dist/internal/payload.d.ts +15 -0
  187. package/dist/internal/payload.d.ts.map +1 -1
  188. package/dist/internal/payload.js +50 -3
  189. package/dist/internal/payload.js.map +1 -1
  190. package/dist/internal/poll.d.ts +30 -4
  191. package/dist/internal/poll.d.ts.map +1 -1
  192. package/dist/internal/poll.js +99 -16
  193. package/dist/internal/poll.js.map +1 -1
  194. package/dist/internal/pricing.d.ts.map +1 -1
  195. package/dist/internal/project-store.d.ts +197 -0
  196. package/dist/internal/project-store.d.ts.map +1 -0
  197. package/dist/internal/project-store.js +467 -0
  198. package/dist/internal/project-store.js.map +1 -0
  199. package/dist/internal/result.d.ts +50 -0
  200. package/dist/internal/result.d.ts.map +1 -0
  201. package/dist/internal/result.js +41 -0
  202. package/dist/internal/result.js.map +1 -0
  203. package/dist/internal/runtime.d.ts +35 -5
  204. package/dist/internal/runtime.d.ts.map +1 -1
  205. package/dist/internal/runtime.js +68 -18
  206. package/dist/internal/runtime.js.map +1 -1
  207. package/dist/internal/slicers.d.ts +117 -0
  208. package/dist/internal/slicers.d.ts.map +1 -0
  209. package/dist/internal/slicers.js +314 -0
  210. package/dist/internal/slicers.js.map +1 -0
  211. package/dist/internal/stream.d.ts +58 -0
  212. package/dist/internal/stream.d.ts.map +1 -0
  213. package/dist/internal/stream.js +280 -0
  214. package/dist/internal/stream.js.map +1 -0
  215. package/dist/internal/task-command.d.ts +128 -11
  216. package/dist/internal/task-command.d.ts.map +1 -1
  217. package/dist/internal/task-command.js +991 -111
  218. package/dist/internal/task-command.js.map +1 -1
  219. package/dist/internal/task-view.d.ts +56 -0
  220. package/dist/internal/task-view.d.ts.map +1 -0
  221. package/dist/internal/task-view.js +95 -0
  222. package/dist/internal/task-view.js.map +1 -0
  223. package/dist/internal/update-notifier.d.ts +5 -1
  224. package/dist/internal/update-notifier.d.ts.map +1 -1
  225. package/dist/internal/update-notifier.js +7 -3
  226. package/dist/internal/update-notifier.js.map +1 -1
  227. package/dist/internal/version.js.map +1 -1
  228. package/dist/root.d.ts +10 -0
  229. package/dist/root.d.ts.map +1 -1
  230. package/dist/root.js +75 -10
  231. package/dist/root.js.map +1 -1
  232. package/package.json +11 -10
  233. package/skills/meshy-cli/SKILL.md +140 -59
  234. package/dist/client/endpoints/analyze-printability.d.ts +0 -5
  235. package/dist/client/endpoints/analyze-printability.d.ts.map +0 -1
  236. package/dist/client/endpoints/analyze-printability.js +0 -7
  237. package/dist/client/endpoints/analyze-printability.js.map +0 -1
  238. package/dist/client/endpoints/animate.d.ts +0 -6
  239. package/dist/client/endpoints/animate.d.ts.map +0 -1
  240. package/dist/client/endpoints/animate.js +0 -8
  241. package/dist/client/endpoints/animate.js.map +0 -1
  242. package/dist/client/endpoints/convert.d.ts +0 -5
  243. package/dist/client/endpoints/convert.d.ts.map +0 -1
  244. package/dist/client/endpoints/convert.js +0 -7
  245. package/dist/client/endpoints/convert.js.map +0 -1
  246. package/dist/client/endpoints/image-to-3d.d.ts +0 -5
  247. package/dist/client/endpoints/image-to-3d.d.ts.map +0 -1
  248. package/dist/client/endpoints/image-to-3d.js +0 -7
  249. package/dist/client/endpoints/image-to-3d.js.map +0 -1
  250. package/dist/client/endpoints/image-to-image.d.ts +0 -5
  251. package/dist/client/endpoints/image-to-image.d.ts.map +0 -1
  252. package/dist/client/endpoints/image-to-image.js +0 -7
  253. package/dist/client/endpoints/image-to-image.js.map +0 -1
  254. package/dist/client/endpoints/multi-color-print.d.ts +0 -5
  255. package/dist/client/endpoints/multi-color-print.d.ts.map +0 -1
  256. package/dist/client/endpoints/multi-color-print.js +0 -7
  257. package/dist/client/endpoints/multi-color-print.js.map +0 -1
  258. package/dist/client/endpoints/multi-image-to-3d.d.ts +0 -5
  259. package/dist/client/endpoints/multi-image-to-3d.d.ts.map +0 -1
  260. package/dist/client/endpoints/multi-image-to-3d.js +0 -7
  261. package/dist/client/endpoints/multi-image-to-3d.js.map +0 -1
  262. package/dist/client/endpoints/remesh.d.ts +0 -5
  263. package/dist/client/endpoints/remesh.d.ts.map +0 -1
  264. package/dist/client/endpoints/remesh.js +0 -7
  265. package/dist/client/endpoints/remesh.js.map +0 -1
  266. package/dist/client/endpoints/repair-printability.d.ts +0 -5
  267. package/dist/client/endpoints/repair-printability.d.ts.map +0 -1
  268. package/dist/client/endpoints/repair-printability.js +0 -7
  269. package/dist/client/endpoints/repair-printability.js.map +0 -1
  270. package/dist/client/endpoints/resize.d.ts +0 -5
  271. package/dist/client/endpoints/resize.d.ts.map +0 -1
  272. package/dist/client/endpoints/resize.js +0 -7
  273. package/dist/client/endpoints/resize.js.map +0 -1
  274. package/dist/client/endpoints/retexture.d.ts +0 -5
  275. package/dist/client/endpoints/retexture.d.ts.map +0 -1
  276. package/dist/client/endpoints/retexture.js +0 -7
  277. package/dist/client/endpoints/retexture.js.map +0 -1
  278. package/dist/client/endpoints/rigging.d.ts +0 -6
  279. package/dist/client/endpoints/rigging.d.ts.map +0 -1
  280. package/dist/client/endpoints/rigging.js +0 -8
  281. package/dist/client/endpoints/rigging.js.map +0 -1
  282. package/dist/client/endpoints/text-to-3d.d.ts +0 -6
  283. package/dist/client/endpoints/text-to-3d.d.ts.map +0 -1
  284. package/dist/client/endpoints/text-to-3d.js +0 -8
  285. package/dist/client/endpoints/text-to-3d.js.map +0 -1
  286. package/dist/client/endpoints/text-to-image.d.ts +0 -5
  287. package/dist/client/endpoints/text-to-image.d.ts.map +0 -1
  288. package/dist/client/endpoints/text-to-image.js +0 -7
  289. package/dist/client/endpoints/text-to-image.js.map +0 -1
  290. package/dist/client/endpoints/text-to-motion.d.ts +0 -6
  291. package/dist/client/endpoints/text-to-motion.d.ts.map +0 -1
  292. package/dist/client/endpoints/text-to-motion.js +0 -8
  293. package/dist/client/endpoints/text-to-motion.js.map +0 -1
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@meshy-ai/cli",
3
- "version": "0.1.3",
4
- "description": "Official command-line interface for the Meshy AI API — text-to-3D, image-to-3D, text-to-motion, remesh, rigging, animate, retexture, 2D images, multi-color print, balance.",
3
+ "version": "0.3.0",
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",
7
- "packageManager": "pnpm@11.18.0",
7
+ "packageManager": "pnpm@11.24.0",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "git+https://github.com/meshy-dev/meshy-cli.git"
@@ -40,26 +40,27 @@
40
40
  "skills"
41
41
  ],
42
42
  "engines": {
43
- "node": ">=20"
43
+ "node": ">=24"
44
44
  },
45
45
  "scripts": {
46
46
  "build": "tsc",
47
47
  "clean": "rm -rf dist",
48
48
  "dev": "tsx src/index.ts",
49
49
  "start": "node dist/index.js",
50
+ "pretest": "tsc",
50
51
  "test": "tsx --test tests/**/*.test.ts",
51
52
  "typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.test.json",
52
53
  "prepare": "test -f dist/index.js || npm run build",
53
54
  "prepublishOnly": "npm run clean && npm run build"
54
55
  },
55
56
  "dependencies": {
56
- "commander": "^13.0.0",
57
- "sharp": "^0.34.5",
58
- "zod": "^3.23.8"
57
+ "commander": "^15.0.0",
58
+ "sharp": "^0.35.4",
59
+ "zod": "^4.5.2"
59
60
  },
60
61
  "devDependencies": {
61
- "@types/node": "^22.9.0",
62
- "tsx": "^4.19.2",
63
- "typescript": "^5.6.3"
62
+ "@types/node": "^24.13.3",
63
+ "tsx": "^4.23.12",
64
+ "typescript": "^7.0.2"
64
65
  }
65
66
  }
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  name: meshy-cli
3
- description: "Generate 3D models, motion clips, and 2D images with the Meshy API through the meshy-cli command — text-to-3D, image-to-3D, text-to-motion, remesh, rigging, animation, retexture, printability. Use for any Meshy asset 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, 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
- compatibility: Requires meshy-cli on PATH and a stored credential or MESHY_API_KEY; network access to api.meshy.ai
5
+ compatibility: Requires meshy-cli on PATH (Node 24+, 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.0.0"
7
+ version: "1.1.0"
8
8
  cli-help: "meshy --help"
9
9
  ---
10
10
 
@@ -14,38 +14,111 @@ metadata:
14
14
 
15
15
  `npm i -g meshy-cli`, then `meshy auth login` (browser) or
16
16
  `meshy auth login --with-key msy_...`. `MESHY_API_KEY` also works and wins over
17
- a stored profile, which is what CI wants. Never echo the key back or write it
18
- into a shell profile.
17
+ a stored profile, which is what CI wants; `--api-key-file ./keys.env` reads only
18
+ `MESHY_API_KEY` from an explicit dotenv-style file (nothing is auto-discovered or
19
+ executed; do not use Node's `--env-file`). Never echo the key back or write it
20
+ into a shell profile. `meshy doctor` checks the environment without touching the
21
+ network; `meshy doctor --check-api` makes one free balance call.
22
+
23
+ ## Always ask for the stable envelope
24
+
25
+ Add `--output-schema v1 --format json` to every command you parse. stdout is then
26
+ exactly one JSON object with six keys — `schema_version, command, ok, result,
27
+ error, warnings` — and nothing else; progress goes to stderr. `ok` is whether the
28
+ CLI operation completed; `result.task.status` is the server's task state (a `get`
29
+ of a FAILED task is `ok:true`). Fields the server did not send are `null` —
30
+ never treat a `null` `face_count` or `consumed_credits` as 0. `error.code` and
31
+ the exit code (below) are stable; `error.recovery.command`, when present, is a
32
+ command you can run verbatim.
19
33
 
20
34
  ## One model, one command
21
35
 
22
36
  ```bash
23
- meshy make "a red sports car" -o car.glb # prompt → text-to-3d preview → refine
24
- meshy make ./cat.png -o out/cat/ # image → image-to-3d, textured
25
- meshy make "a red sports car" --dry-run # planned steps + estimate, no spend
26
- meshy make "..." --max-credits 25 # refuse to start over budget
37
+ meshy make "a red sports car" -o car.glb --output-schema v1 # prompt → text-to-3d preview → refine
38
+ meshy make ./cat.png -o out/cat/ --output-schema v1 # image → image-to-3d, textured
39
+ meshy make "a red sports car" --dry-run --output-schema v1 # planned steps + estimate, no spend, no network
40
+ meshy make "..." --max-credits 25 # refuse to start over budget
41
+ meshy make "..." --async --output-schema v1 # one POST, returns step 1's task_id + pending_steps
27
42
  ```
28
43
 
29
- The input decides the chain and nothing else does. If step 2 fails, the error's
30
- `hint` is the command that resumes from step 1's task — run it verbatim rather
31
- than starting over, or the finished step is paid for twice.
44
+ The input decides the chain and nothing else does. If a later step fails, the
45
+ result carries the finished step's task id and the `resume` command — run it
46
+ verbatim rather than starting over, or the finished step is paid for twice.
32
47
 
33
48
  ## Everything else
34
49
 
35
- `meshy resources` indexes the 17 endpoint commands; each carries the same verbs:
50
+ `meshy resources --output-schema v1` indexes every command (kind `task`, `query`
51
+ or `local`); each task resource carries the same verbs:
36
52
 
37
53
  ```bash
38
- meshy <resource> create [flags] [--data '<json>'] [--async] [--timeout <s>]
39
- meshy <resource> get|wait|delete <task-id>
40
- meshy <resource> list [--page-size <n>]
54
+ meshy <resource> create [flags] [--data '<json>'] [--async] [--timeout <s>] [--operation-id <id>] --output-schema v1
55
+ meshy <resource> get|wait|stream|delete <task-id> --output-schema v1
56
+ meshy <resource> list [--page-size <n>] --output-schema v1
41
57
  ```
42
58
 
43
- `create` blocks until the task is terminal; `--async` returns the id instead.
44
- `-o <path>` downloads artifacts (a directory for multi-file results) and writes
45
- a `meta.json` sidecar; without `-o`, stdout is the task JSON — parse ids from
46
- there, never from text shown in chat. `--data '<json>'` reaches any field the
47
- CLI has no flag for, and `meshy api <METHOD> <PATH>` reaches any endpoint it has
48
- no command for.
59
+ - `create` blocks until the task is terminal; `--async` submits **exactly one
60
+ POST** and returns `result.submission.task_id` — parse ids from stdout, never
61
+ from text shown in chat. `wait <id>` polls (`--timeout 0` = one query, exit 8 on
62
+ timeout with the last status kept; a reply that lands after the deadline is a
63
+ timeout, not a success); `stream <id> --format ndjson` follows Server-Sent
64
+ Events (one line per event, last line `event:"outcome"`, which carries the `-o`
65
+ download manifest).
66
+ - **Never re-run a create after exit 10** (`submission_unknown`): the request was
67
+ sent and the server may have created the task. Run the `error.recovery.command`
68
+ (`… list`) and reconcile first. Pass `--operation-id <your-id>` to a create so a
69
+ repeat of the same request replays the recorded outcome instead of billing again;
70
+ a different key/account, payload or image under the same id is refused (exit 2).
71
+ An OAuth profile without an account id or login id (saved before `login_id` existed)
72
+ is refused a replay (`credential_unverified`) — run `meshy auth login` once first.
73
+ - **An error after `create` was accepted still names the task**: read
74
+ `result.task_id` / `result.submission.task_id` and `result.next` from any
75
+ non-zero exit (11 local I/O, 1 polling failure, 130 interrupt) before deciding
76
+ anything; never create again because a later step failed.
77
+ - `--save-json <file>` stores the raw API task (use it as the input of `download`,
78
+ `inspect faces` and `project record`); `--include-raw` puts the raw response under
79
+ `result.task.raw`; `--project <dir>` records the task in a project folder.
80
+ - `--data '<json>'` reaches any field the CLI has no flag for (flags win, explicit
81
+ `false`/`0` survive); `meshy api <METHOD> <PATH>` reaches any endpoint it has no
82
+ command for. Media flags and the same fields inside `--data` accept URLs, local
83
+ files and `data:` URIs.
84
+
85
+ ## Creative Lab, UV, catalog, showcases
86
+
87
+ ```bash
88
+ meshy uv-unwrap create --input-task-id <id> --async --output-schema v1 # GLB only, ≤40k faces (server enforces)
89
+ meshy creative-lab <figure|lamp|keychain|fridge-magnet> prototype create --image-url ./photo.png --name demo --async --output-schema v1
90
+ meshy creative-lab <product> build create --input-task-id <prototype-id> [--model-format …] [--options '<json>'] --async --output-schema v1
91
+ meshy animation-catalog list --category DailyActions --search wave --output-schema v1 # public, no key; search is local
92
+ meshy showcases list --search car --page-size 3 --output-schema v1 # Enterprise only; EVERY request is billed
93
+ ```
94
+
95
+ Prototype meanings differ: figure/keychain/fridge-magnet yield a concept image,
96
+ lamp also yields a lampshade GLB. Build consumes a SUCCEEDED prototype made
97
+ through this API with the same key (web-app prototypes → 404). Lamp builds output
98
+ `lamp_stl`/`base_stl` or `bundle_zip`; keychain/fridge-magnet `obj` output is a
99
+ ZIP bundle saved as `.zip`. Never call `showcases` in a health check.
100
+
101
+ ## Downloads, projects, printing (local, no key)
102
+
103
+ ```bash
104
+ meshy download --task-json ./task.json --list --output-schema v1
105
+ meshy download --task-json ./task.json --model-format glb --output ./model.glb --output-schema v1
106
+ meshy download --task-json ./rig.json --asset result.basic_animations.walking_glb_url --output ./walking.glb --output-schema v1
107
+ meshy download --resource image-to-3d --task-id <id> --all --output-dir ./out/ --output-schema v1
108
+ meshy project init --root ./meshy_output --name "<prompt>" --task-id <id> --output-schema v1
109
+ meshy project record --project <dir> --task-id <id> --resource text-to-3d --stage preview --file preview.glb --output-schema v1
110
+ meshy inspect faces --task-json ./task.json --max-faces 300000 --output-schema v1 # exit 0 pass | 12 fail | 13 unknown
111
+ meshy mesh prepare-print ./model.obj --height-mm 75 --output-schema v1 # writes ./model.print.obj (Y-up → Z-up, grounded)
112
+ meshy slicer detect --output-schema v1
113
+ meshy slicer open --slicer OrcaSlicer --file ./model.print.obj --output-schema v1 # launch only; not proof of import
114
+ ```
115
+
116
+ `download` needs an explicit selector when a task has several assets (it lists
117
+ them and exits 2 otherwise); it never overwrites without `--overwrite`. `inspect
118
+ faces` answers only the face-count question — `unknown` (exit 13) means the task
119
+ carries no usable `face_count`; do not treat it as a pass and do not start a
120
+ remesh unless the user agrees. `prepare-print` never edits the input unless
121
+ `--in-place`.
49
122
 
50
123
  ## Constraints that will bite
51
124
 
@@ -56,64 +129,72 @@ These are API rules, not preferences — ignoring them produces failed tasks:
56
129
  textured with `retexture` instead.
57
130
  - **`rigging` needs a textured biped GLB** under 300k faces, with clear limbs —
58
131
  not props, quadrupeds or untextured drafts. Too dense? `remesh` first. A
59
- successful rigging task already bundles walking and running clips, so check
60
- its result before calling `animate`.
132
+ successful rigging task already bundles walking and running clips
133
+ (`result.basic_animations.*`), so check its result before calling `animate`.
61
134
  - **`animate` takes a rigging task id**, not a model task id, plus an integer
62
- `--action-id`.
135
+ `--action-id` from the catalog.
63
136
  - **`text-to-motion` produces a standalone skeletal clip**, not an animated
64
- character. Pass a 2–10 second duration in 0.5-second increments. Prime is the
65
- default (FBX, 10 credits); Swift returns BVH (3 credits).
137
+ character. Pass a 2–10 second duration in 0.5-second increments.
66
138
  - **`repair-printability` drops textures and invalidates UVs.** Run it before
67
139
  texturing, or re-`retexture` afterwards.
140
+ - **`uv-unwrap` takes one source** (`--input-task-id` or `--model-url`, GLB only).
68
141
  - **`multi-image-to-3d` is beta**; use `image-to-3d` unless multi-view input was
69
142
  explicitly asked for.
70
143
  - `image-to-3d` defaults to an untextured draft mesh; `--should-texture true`
71
144
  (what `make` uses) produces a textured model in one task.
72
145
  - **The model set is not the same on every endpoint.** The image-driven
73
146
  endpoints run Meshy 7 by default; `text-to-3d` has no Meshy 7 at all and its
74
- default is still Meshy 6. So `--ultra-mode` (an extra Meshy 7 geometry pass,
75
- billed on top) exists on `image-to-3d` alone, and `retexture`'s
76
- `--multiview-image-urls` needs Meshy 7 — it takes 1-4 views of **the same
77
- object**, not 1-4 style references, and cannot be combined with
78
- `--text-style-prompt` or `--image-style-url`.
147
+ default is still Meshy 6. `--ultra-mode` exists on `image-to-3d` alone, and
148
+ `retexture`'s `--multiview-image-urls` needs Meshy 7 — it takes 1-4 views of
149
+ **the same object**, not style references.
79
150
 
80
151
  ## Finding an animation id
81
152
 
82
- `--action-id` is an integer from Meshy's animation library. This skill bundles
83
- the full catalog as `animation-library.json` next to this file — 678 actions,
84
- each with `action_id`, `name`, `category`, `sub_category`, `is_free`,
85
- `preview_url`, and a hand-written `description` the API does not return. Pick an
86
- action by what it depicts, offline and with no key:
87
-
88
- ```bash
89
- # from this skill's directory
90
- jq -r '.[] | select(.category=="Fighting") | "\(.action_id)\t\(.name)\t\(.description)"' \
91
- animation-library.json
92
- ```
153
+ `--action-id` is an integer from Meshy's animation library. Ask the live public
154
+ catalog (no key): `meshy animation-catalog list --category Fighting --search kick
155
+ --output-schema v1` → `result.items[].action_id`. Ids are not `1..N` (the catalog
156
+ contains `-2`, `-1` and `0`) — never guess one. This skill also bundles a
157
+ snapshot as `animation-library.json` (with hand-written descriptions the API does
158
+ not return; it can lag behind the live catalog).
93
159
 
94
160
  Categories: WalkAndRun, BodyMovements, DailyActions, Fighting, Dancing.
95
161
 
96
- The bundled catalog can lag as Meshy adds actions. For the authoritative live
97
- list (ids + names, no descriptions) hit the public endpoint — no key required:
98
-
99
- ```bash
100
- curl -s "https://api.meshy.ai/web/public/animations/resources" \
101
- | jq -r '.result.list[] | select(.category=="Fighting") | "\(.id)\t\(.name)"'
102
- ```
103
-
104
162
  ## When something fails
105
163
 
106
- Exit codes: `0` ok · `2` usage · `3` auth · `4` validation · `5` not found ·
107
- `6` rate limit · `7` network · `8` timed out · `9` out of credits.
164
+ Exit codes: `0` ok · `1` task FAILED/CANCELED while waiting, or unclassified ·
165
+ `2` usage · `3` auth · `4` validation · `5` not found · `6` rate limit ·
166
+ `7` network · `8` timed out (task keeps running) · `9` out of credits ·
167
+ `10` submission unknown (do not re-create) · `11` local I/O · `12` check failed ·
168
+ `13` check unknown · `130` interrupted.
108
169
 
109
170
  - Exit 9 → run `meshy balance`, relay the number, do not retry.
110
171
  - Exit 6 → back off; the CLI does not retry for you.
111
- - A `FAILED` task → relay `task_error.message` verbatim; do not guess a cause.
112
- - Any error payload may carry `hint` — a command to run. Prefer it over
113
- improvising.
114
-
115
- JSON object output may also carry `_notice.update` when a newer meshy-cli
116
- exists; pass its `command` on to the user.
172
+ - Exit 8 → `wait`/`stream` the same task id again; it was not cancelled.
173
+ - Exit 130 after `-o` → the transfer (or the material rewrite) was cancelled;
174
+ `result.downloads.files` lists what already landed (`status: written`), the rest can
175
+ be fetched with `meshy download`. `downloads.failed_step` (`relink` | `digest` |
176
+ `sidecar`) means every asset is on disk and only that step is missing.
177
+ - Legacy-schema errors (no `--output-schema v1`) after a create carry additive
178
+ `task_id` / `operation_id` fields and a `hint` with the resume command — never re-create.
179
+ - `result.downloads.material_links.status: "incomplete"` → name the references that
180
+ stayed unresolved or ambiguous (`texture_maps[].method`, `note`) instead of claiming the
181
+ model loads; two material groups that would share one texture without evidence are
182
+ deliberately left as written.
183
+ - `result.project.action: "failed"` (download `--project`, exit 11) → the assets are on
184
+ disk (`result.downloads.files`); repair the project's `metadata.json`, then run
185
+ `error.recovery.command` (`meshy project record …`, it already carries the original
186
+ `--workspace` and `--operation-id`) verbatim — do not download or create again. The same
187
+ command appears after a task verb's `--project` record failure (legacy: `hint`); when the
188
+ error says the project is *no longer a target inside the authorised boundary* (the project,
189
+ its parent or the workspace itself changed while the request was in flight) there is
190
+ deliberately no command and `recovery` is null — restore the directory first, then record
191
+ with `meshy project record` from inside the original workspace.
192
+ - Exit 10 → reconcile with `<resource> list`; never submit the same create again blindly.
193
+ - A `FAILED` task → relay `result.task.task_error.message` verbatim; do not guess a cause.
194
+ - Any error may carry `error.recovery.command` — prefer it over improvising.
195
+
196
+ Legacy JSON output (without `--output-schema v1`) may carry `_notice.update` when
197
+ a newer meshy-cli exists; pass its `command` on to the user.
117
198
 
118
199
  ## Docs
119
200
 
@@ -1,5 +0,0 @@
1
- import { TaskEndpoint, type HttpFetch } from "./base.js";
2
- export declare class AnalyzePrintabilityEndpoint extends TaskEndpoint {
3
- constructor(http: HttpFetch);
4
- }
5
- //# sourceMappingURL=analyze-printability.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyze-printability.d.ts","sourceRoot":"","sources":["../../../src/client/endpoints/analyze-printability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEzD,qBAAa,2BAA4B,SAAQ,YAAY;gBAC/C,IAAI,EAAE,SAAS;CAG5B"}
@@ -1,7 +0,0 @@
1
- import { TaskEndpoint } from "./base.js";
2
- export class AnalyzePrintabilityEndpoint extends TaskEndpoint {
3
- constructor(http) {
4
- super(http, "/print/analyze");
5
- }
6
- }
7
- //# sourceMappingURL=analyze-printability.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyze-printability.js","sourceRoot":"","sources":["../../../src/client/endpoints/analyze-printability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAC;AAEzD,MAAM,OAAO,2BAA4B,SAAQ,YAAY;IAC3D,YAAY,IAAe;QACzB,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAChC,CAAC;CACF"}
@@ -1,6 +0,0 @@
1
- import { TaskEndpoint, type HttpFetch } from "./base.js";
2
- /** POST /openapi/v1/animations — plural path. */
3
- export declare class AnimateEndpoint extends TaskEndpoint {
4
- constructor(http: HttpFetch);
5
- }
6
- //# sourceMappingURL=animate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"animate.d.ts","sourceRoot":"","sources":["../../../src/client/endpoints/animate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEzD,iDAAiD;AACjD,qBAAa,eAAgB,SAAQ,YAAY;gBACnC,IAAI,EAAE,SAAS;CAG5B"}
@@ -1,8 +0,0 @@
1
- import { TaskEndpoint } from "./base.js";
2
- /** POST /openapi/v1/animations — plural path. */
3
- export class AnimateEndpoint extends TaskEndpoint {
4
- constructor(http) {
5
- super(http, "/animations");
6
- }
7
- }
8
- //# sourceMappingURL=animate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"animate.js","sourceRoot":"","sources":["../../../src/client/endpoints/animate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAC;AAEzD,iDAAiD;AACjD,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC/C,YAAY,IAAe;QACzB,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC7B,CAAC;CACF"}
@@ -1,5 +0,0 @@
1
- import { TaskEndpoint, type HttpFetch } from "./base.js";
2
- export declare class ConvertEndpoint extends TaskEndpoint {
3
- constructor(http: HttpFetch);
4
- }
5
- //# sourceMappingURL=convert.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../src/client/endpoints/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEzD,qBAAa,eAAgB,SAAQ,YAAY;gBACnC,IAAI,EAAE,SAAS;CAG5B"}
@@ -1,7 +0,0 @@
1
- import { TaskEndpoint } from "./base.js";
2
- export class ConvertEndpoint extends TaskEndpoint {
3
- constructor(http) {
4
- super(http, "/convert");
5
- }
6
- }
7
- //# sourceMappingURL=convert.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/client/endpoints/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAC;AAEzD,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC/C,YAAY,IAAe;QACzB,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC1B,CAAC;CACF"}
@@ -1,5 +0,0 @@
1
- import { TaskEndpoint, type HttpFetch } from "./base.js";
2
- export declare class ImageTo3DEndpoint extends TaskEndpoint {
3
- constructor(http: HttpFetch);
4
- }
5
- //# sourceMappingURL=image-to-3d.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-to-3d.d.ts","sourceRoot":"","sources":["../../../src/client/endpoints/image-to-3d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEzD,qBAAa,iBAAkB,SAAQ,YAAY;gBACrC,IAAI,EAAE,SAAS;CAG5B"}
@@ -1,7 +0,0 @@
1
- import { TaskEndpoint } from "./base.js";
2
- export class ImageTo3DEndpoint extends TaskEndpoint {
3
- constructor(http) {
4
- super(http, "/image-to-3d");
5
- }
6
- }
7
- //# sourceMappingURL=image-to-3d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-to-3d.js","sourceRoot":"","sources":["../../../src/client/endpoints/image-to-3d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAC;AAEzD,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACjD,YAAY,IAAe;QACzB,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC9B,CAAC;CACF"}
@@ -1,5 +0,0 @@
1
- import { TaskEndpoint, type HttpFetch } from "./base.js";
2
- export declare class ImageToImageEndpoint extends TaskEndpoint {
3
- constructor(http: HttpFetch);
4
- }
5
- //# sourceMappingURL=image-to-image.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-to-image.d.ts","sourceRoot":"","sources":["../../../src/client/endpoints/image-to-image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEzD,qBAAa,oBAAqB,SAAQ,YAAY;gBACxC,IAAI,EAAE,SAAS;CAG5B"}
@@ -1,7 +0,0 @@
1
- import { TaskEndpoint } from "./base.js";
2
- export class ImageToImageEndpoint extends TaskEndpoint {
3
- constructor(http) {
4
- super(http, "/image-to-image");
5
- }
6
- }
7
- //# sourceMappingURL=image-to-image.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-to-image.js","sourceRoot":"","sources":["../../../src/client/endpoints/image-to-image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAC;AAEzD,MAAM,OAAO,oBAAqB,SAAQ,YAAY;IACpD,YAAY,IAAe;QACzB,KAAK,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACjC,CAAC;CACF"}
@@ -1,5 +0,0 @@
1
- import { TaskEndpoint, type HttpFetch } from "./base.js";
2
- export declare class MultiColorPrintEndpoint extends TaskEndpoint {
3
- constructor(http: HttpFetch);
4
- }
5
- //# sourceMappingURL=multi-color-print.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multi-color-print.d.ts","sourceRoot":"","sources":["../../../src/client/endpoints/multi-color-print.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEzD,qBAAa,uBAAwB,SAAQ,YAAY;gBAC3C,IAAI,EAAE,SAAS;CAG5B"}
@@ -1,7 +0,0 @@
1
- import { TaskEndpoint } from "./base.js";
2
- export class MultiColorPrintEndpoint extends TaskEndpoint {
3
- constructor(http) {
4
- super(http, "/print/multi-color");
5
- }
6
- }
7
- //# sourceMappingURL=multi-color-print.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multi-color-print.js","sourceRoot":"","sources":["../../../src/client/endpoints/multi-color-print.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAC;AAEzD,MAAM,OAAO,uBAAwB,SAAQ,YAAY;IACvD,YAAY,IAAe;QACzB,KAAK,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACpC,CAAC;CACF"}
@@ -1,5 +0,0 @@
1
- import { TaskEndpoint, type HttpFetch } from "./base.js";
2
- export declare class MultiImageTo3DEndpoint extends TaskEndpoint {
3
- constructor(http: HttpFetch);
4
- }
5
- //# sourceMappingURL=multi-image-to-3d.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multi-image-to-3d.d.ts","sourceRoot":"","sources":["../../../src/client/endpoints/multi-image-to-3d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEzD,qBAAa,sBAAuB,SAAQ,YAAY;gBAC1C,IAAI,EAAE,SAAS;CAG5B"}
@@ -1,7 +0,0 @@
1
- import { TaskEndpoint } from "./base.js";
2
- export class MultiImageTo3DEndpoint extends TaskEndpoint {
3
- constructor(http) {
4
- super(http, "/multi-image-to-3d");
5
- }
6
- }
7
- //# sourceMappingURL=multi-image-to-3d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multi-image-to-3d.js","sourceRoot":"","sources":["../../../src/client/endpoints/multi-image-to-3d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAC;AAEzD,MAAM,OAAO,sBAAuB,SAAQ,YAAY;IACtD,YAAY,IAAe;QACzB,KAAK,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACpC,CAAC;CACF"}
@@ -1,5 +0,0 @@
1
- import { TaskEndpoint, type HttpFetch } from "./base.js";
2
- export declare class RemeshEndpoint extends TaskEndpoint {
3
- constructor(http: HttpFetch);
4
- }
5
- //# sourceMappingURL=remesh.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remesh.d.ts","sourceRoot":"","sources":["../../../src/client/endpoints/remesh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEzD,qBAAa,cAAe,SAAQ,YAAY;gBAClC,IAAI,EAAE,SAAS;CAG5B"}
@@ -1,7 +0,0 @@
1
- import { TaskEndpoint } from "./base.js";
2
- export class RemeshEndpoint extends TaskEndpoint {
3
- constructor(http) {
4
- super(http, "/remesh");
5
- }
6
- }
7
- //# sourceMappingURL=remesh.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remesh.js","sourceRoot":"","sources":["../../../src/client/endpoints/remesh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAC;AAEzD,MAAM,OAAO,cAAe,SAAQ,YAAY;IAC9C,YAAY,IAAe;QACzB,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzB,CAAC;CACF"}
@@ -1,5 +0,0 @@
1
- import { TaskEndpoint, type HttpFetch } from "./base.js";
2
- export declare class RepairPrintabilityEndpoint extends TaskEndpoint {
3
- constructor(http: HttpFetch);
4
- }
5
- //# sourceMappingURL=repair-printability.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repair-printability.d.ts","sourceRoot":"","sources":["../../../src/client/endpoints/repair-printability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEzD,qBAAa,0BAA2B,SAAQ,YAAY;gBAC9C,IAAI,EAAE,SAAS;CAG5B"}
@@ -1,7 +0,0 @@
1
- import { TaskEndpoint } from "./base.js";
2
- export class RepairPrintabilityEndpoint extends TaskEndpoint {
3
- constructor(http) {
4
- super(http, "/print/repair");
5
- }
6
- }
7
- //# sourceMappingURL=repair-printability.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repair-printability.js","sourceRoot":"","sources":["../../../src/client/endpoints/repair-printability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAC;AAEzD,MAAM,OAAO,0BAA2B,SAAQ,YAAY;IAC1D,YAAY,IAAe;QACzB,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAC/B,CAAC;CACF"}
@@ -1,5 +0,0 @@
1
- import { TaskEndpoint, type HttpFetch } from "./base.js";
2
- export declare class ResizeEndpoint extends TaskEndpoint {
3
- constructor(http: HttpFetch);
4
- }
5
- //# sourceMappingURL=resize.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resize.d.ts","sourceRoot":"","sources":["../../../src/client/endpoints/resize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEzD,qBAAa,cAAe,SAAQ,YAAY;gBAClC,IAAI,EAAE,SAAS;CAG5B"}
@@ -1,7 +0,0 @@
1
- import { TaskEndpoint } from "./base.js";
2
- export class ResizeEndpoint extends TaskEndpoint {
3
- constructor(http) {
4
- super(http, "/resize");
5
- }
6
- }
7
- //# sourceMappingURL=resize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resize.js","sourceRoot":"","sources":["../../../src/client/endpoints/resize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAC;AAEzD,MAAM,OAAO,cAAe,SAAQ,YAAY;IAC9C,YAAY,IAAe;QACzB,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzB,CAAC;CACF"}
@@ -1,5 +0,0 @@
1
- import { TaskEndpoint, type HttpFetch } from "./base.js";
2
- export declare class RetextureEndpoint extends TaskEndpoint {
3
- constructor(http: HttpFetch);
4
- }
5
- //# sourceMappingURL=retexture.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retexture.d.ts","sourceRoot":"","sources":["../../../src/client/endpoints/retexture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEzD,qBAAa,iBAAkB,SAAQ,YAAY;gBACrC,IAAI,EAAE,SAAS;CAG5B"}
@@ -1,7 +0,0 @@
1
- import { TaskEndpoint } from "./base.js";
2
- export class RetextureEndpoint extends TaskEndpoint {
3
- constructor(http) {
4
- super(http, "/retexture");
5
- }
6
- }
7
- //# sourceMappingURL=retexture.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retexture.js","sourceRoot":"","sources":["../../../src/client/endpoints/retexture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAC;AAEzD,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACjD,YAAY,IAAe;QACzB,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -1,6 +0,0 @@
1
- import { TaskEndpoint, type HttpFetch } from "./base.js";
2
- /** Note: Meshy does not expose a list endpoint for rigging. */
3
- export declare class RiggingEndpoint extends TaskEndpoint {
4
- constructor(http: HttpFetch);
5
- }
6
- //# sourceMappingURL=rigging.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rigging.d.ts","sourceRoot":"","sources":["../../../src/client/endpoints/rigging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEzD,+DAA+D;AAC/D,qBAAa,eAAgB,SAAQ,YAAY;gBACnC,IAAI,EAAE,SAAS;CAG5B"}
@@ -1,8 +0,0 @@
1
- import { TaskEndpoint } from "./base.js";
2
- /** Note: Meshy does not expose a list endpoint for rigging. */
3
- export class RiggingEndpoint extends TaskEndpoint {
4
- constructor(http) {
5
- super(http, "/rigging");
6
- }
7
- }
8
- //# sourceMappingURL=rigging.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rigging.js","sourceRoot":"","sources":["../../../src/client/endpoints/rigging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAC;AAEzD,+DAA+D;AAC/D,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC/C,YAAY,IAAe;QACzB,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC1B,CAAC;CACF"}
@@ -1,6 +0,0 @@
1
- import { TaskEndpoint, type HttpFetch } from "./base.js";
2
- /** POST /openapi/v2/text-to-3d — the only v2-hosted endpoint. */
3
- export declare class TextTo3DEndpoint extends TaskEndpoint {
4
- constructor(http: HttpFetch);
5
- }
6
- //# sourceMappingURL=text-to-3d.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text-to-3d.d.ts","sourceRoot":"","sources":["../../../src/client/endpoints/text-to-3d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEzD,iEAAiE;AACjE,qBAAa,gBAAiB,SAAQ,YAAY;gBACpC,IAAI,EAAE,SAAS;CAG5B"}