@meshy-ai/cli 0.1.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 (265) hide show
  1. package/.env.example +14 -0
  2. package/LICENSE +21 -0
  3. package/README.md +376 -0
  4. package/dist/client/endpoints/analyze-printability.d.ts +5 -0
  5. package/dist/client/endpoints/analyze-printability.d.ts.map +1 -0
  6. package/dist/client/endpoints/analyze-printability.js +7 -0
  7. package/dist/client/endpoints/analyze-printability.js.map +1 -0
  8. package/dist/client/endpoints/animate.d.ts +6 -0
  9. package/dist/client/endpoints/animate.d.ts.map +1 -0
  10. package/dist/client/endpoints/animate.js +8 -0
  11. package/dist/client/endpoints/animate.js.map +1 -0
  12. package/dist/client/endpoints/balance.d.ts +9 -0
  13. package/dist/client/endpoints/balance.d.ts.map +1 -0
  14. package/dist/client/endpoints/balance.js +27 -0
  15. package/dist/client/endpoints/balance.js.map +1 -0
  16. package/dist/client/endpoints/base.d.ts +24 -0
  17. package/dist/client/endpoints/base.d.ts.map +1 -0
  18. package/dist/client/endpoints/base.js +87 -0
  19. package/dist/client/endpoints/base.js.map +1 -0
  20. package/dist/client/endpoints/convert.d.ts +5 -0
  21. package/dist/client/endpoints/convert.d.ts.map +1 -0
  22. package/dist/client/endpoints/convert.js +7 -0
  23. package/dist/client/endpoints/convert.js.map +1 -0
  24. package/dist/client/endpoints/image-to-3d.d.ts +5 -0
  25. package/dist/client/endpoints/image-to-3d.d.ts.map +1 -0
  26. package/dist/client/endpoints/image-to-3d.js +7 -0
  27. package/dist/client/endpoints/image-to-3d.js.map +1 -0
  28. package/dist/client/endpoints/image-to-image.d.ts +5 -0
  29. package/dist/client/endpoints/image-to-image.d.ts.map +1 -0
  30. package/dist/client/endpoints/image-to-image.js +7 -0
  31. package/dist/client/endpoints/image-to-image.js.map +1 -0
  32. package/dist/client/endpoints/multi-color-print.d.ts +5 -0
  33. package/dist/client/endpoints/multi-color-print.d.ts.map +1 -0
  34. package/dist/client/endpoints/multi-color-print.js +7 -0
  35. package/dist/client/endpoints/multi-color-print.js.map +1 -0
  36. package/dist/client/endpoints/multi-image-to-3d.d.ts +5 -0
  37. package/dist/client/endpoints/multi-image-to-3d.d.ts.map +1 -0
  38. package/dist/client/endpoints/multi-image-to-3d.js +7 -0
  39. package/dist/client/endpoints/multi-image-to-3d.js.map +1 -0
  40. package/dist/client/endpoints/remesh.d.ts +5 -0
  41. package/dist/client/endpoints/remesh.d.ts.map +1 -0
  42. package/dist/client/endpoints/remesh.js +7 -0
  43. package/dist/client/endpoints/remesh.js.map +1 -0
  44. package/dist/client/endpoints/repair-printability.d.ts +5 -0
  45. package/dist/client/endpoints/repair-printability.d.ts.map +1 -0
  46. package/dist/client/endpoints/repair-printability.js +7 -0
  47. package/dist/client/endpoints/repair-printability.js.map +1 -0
  48. package/dist/client/endpoints/resize.d.ts +5 -0
  49. package/dist/client/endpoints/resize.d.ts.map +1 -0
  50. package/dist/client/endpoints/resize.js +7 -0
  51. package/dist/client/endpoints/resize.js.map +1 -0
  52. package/dist/client/endpoints/retexture.d.ts +5 -0
  53. package/dist/client/endpoints/retexture.d.ts.map +1 -0
  54. package/dist/client/endpoints/retexture.js +7 -0
  55. package/dist/client/endpoints/retexture.js.map +1 -0
  56. package/dist/client/endpoints/rigging.d.ts +6 -0
  57. package/dist/client/endpoints/rigging.d.ts.map +1 -0
  58. package/dist/client/endpoints/rigging.js +8 -0
  59. package/dist/client/endpoints/rigging.js.map +1 -0
  60. package/dist/client/endpoints/text-to-3d.d.ts +6 -0
  61. package/dist/client/endpoints/text-to-3d.d.ts.map +1 -0
  62. package/dist/client/endpoints/text-to-3d.js +8 -0
  63. package/dist/client/endpoints/text-to-3d.js.map +1 -0
  64. package/dist/client/endpoints/text-to-image.d.ts +5 -0
  65. package/dist/client/endpoints/text-to-image.d.ts.map +1 -0
  66. package/dist/client/endpoints/text-to-image.js +7 -0
  67. package/dist/client/endpoints/text-to-image.js.map +1 -0
  68. package/dist/client/errors.d.ts +23 -0
  69. package/dist/client/errors.d.ts.map +1 -0
  70. package/dist/client/errors.js +82 -0
  71. package/dist/client/errors.js.map +1 -0
  72. package/dist/client/index.d.ts +48 -0
  73. package/dist/client/index.d.ts.map +1 -0
  74. package/dist/client/index.js +147 -0
  75. package/dist/client/index.js.map +1 -0
  76. package/dist/client/types.d.ts +298 -0
  77. package/dist/client/types.d.ts.map +1 -0
  78. package/dist/client/types.js +97 -0
  79. package/dist/client/types.js.map +1 -0
  80. package/dist/cmd/analyze-printability.d.ts +8 -0
  81. package/dist/cmd/analyze-printability.d.ts.map +1 -0
  82. package/dist/cmd/analyze-printability.js +34 -0
  83. package/dist/cmd/analyze-printability.js.map +1 -0
  84. package/dist/cmd/animate.d.ts +9 -0
  85. package/dist/cmd/animate.d.ts.map +1 -0
  86. package/dist/cmd/animate.js +51 -0
  87. package/dist/cmd/animate.js.map +1 -0
  88. package/dist/cmd/api.d.ts +9 -0
  89. package/dist/cmd/api.d.ts.map +1 -0
  90. package/dist/cmd/api.js +50 -0
  91. package/dist/cmd/api.js.map +1 -0
  92. package/dist/cmd/auth.d.ts +19 -0
  93. package/dist/cmd/auth.d.ts.map +1 -0
  94. package/dist/cmd/auth.js +583 -0
  95. package/dist/cmd/auth.js.map +1 -0
  96. package/dist/cmd/balance.d.ts +6 -0
  97. package/dist/cmd/balance.d.ts.map +1 -0
  98. package/dist/cmd/balance.js +14 -0
  99. package/dist/cmd/balance.js.map +1 -0
  100. package/dist/cmd/convert.d.ts +8 -0
  101. package/dist/cmd/convert.d.ts.map +1 -0
  102. package/dist/cmd/convert.js +40 -0
  103. package/dist/cmd/convert.js.map +1 -0
  104. package/dist/cmd/delete.d.ts +7 -0
  105. package/dist/cmd/delete.d.ts.map +1 -0
  106. package/dist/cmd/delete.js +19 -0
  107. package/dist/cmd/delete.js.map +1 -0
  108. package/dist/cmd/image-to-3d.d.ts +12 -0
  109. package/dist/cmd/image-to-3d.d.ts.map +1 -0
  110. package/dist/cmd/image-to-3d.js +97 -0
  111. package/dist/cmd/image-to-3d.js.map +1 -0
  112. package/dist/cmd/image-to-image.d.ts +5 -0
  113. package/dist/cmd/image-to-image.d.ts.map +1 -0
  114. package/dist/cmd/image-to-image.js +56 -0
  115. package/dist/cmd/image-to-image.js.map +1 -0
  116. package/dist/cmd/make.d.ts +31 -0
  117. package/dist/cmd/make.d.ts.map +1 -0
  118. package/dist/cmd/make.js +195 -0
  119. package/dist/cmd/make.js.map +1 -0
  120. package/dist/cmd/multi-color-print.d.ts +6 -0
  121. package/dist/cmd/multi-color-print.d.ts.map +1 -0
  122. package/dist/cmd/multi-color-print.js +44 -0
  123. package/dist/cmd/multi-color-print.js.map +1 -0
  124. package/dist/cmd/multi-image-to-3d.d.ts +5 -0
  125. package/dist/cmd/multi-image-to-3d.d.ts.map +1 -0
  126. package/dist/cmd/multi-image-to-3d.js +72 -0
  127. package/dist/cmd/multi-image-to-3d.js.map +1 -0
  128. package/dist/cmd/remesh.d.ts +8 -0
  129. package/dist/cmd/remesh.d.ts.map +1 -0
  130. package/dist/cmd/remesh.js +49 -0
  131. package/dist/cmd/remesh.js.map +1 -0
  132. package/dist/cmd/repair-printability.d.ts +7 -0
  133. package/dist/cmd/repair-printability.d.ts.map +1 -0
  134. package/dist/cmd/repair-printability.js +32 -0
  135. package/dist/cmd/repair-printability.js.map +1 -0
  136. package/dist/cmd/resize.d.ts +8 -0
  137. package/dist/cmd/resize.d.ts.map +1 -0
  138. package/dist/cmd/resize.js +51 -0
  139. package/dist/cmd/resize.js.map +1 -0
  140. package/dist/cmd/resources.d.ts +18 -0
  141. package/dist/cmd/resources.d.ts.map +1 -0
  142. package/dist/cmd/resources.js +59 -0
  143. package/dist/cmd/resources.js.map +1 -0
  144. package/dist/cmd/retexture.d.ts +5 -0
  145. package/dist/cmd/retexture.d.ts.map +1 -0
  146. package/dist/cmd/retexture.js +64 -0
  147. package/dist/cmd/retexture.js.map +1 -0
  148. package/dist/cmd/rigging.d.ts +6 -0
  149. package/dist/cmd/rigging.d.ts.map +1 -0
  150. package/dist/cmd/rigging.js +40 -0
  151. package/dist/cmd/rigging.js.map +1 -0
  152. package/dist/cmd/text-to-3d.d.ts +14 -0
  153. package/dist/cmd/text-to-3d.d.ts.map +1 -0
  154. package/dist/cmd/text-to-3d.js +76 -0
  155. package/dist/cmd/text-to-3d.js.map +1 -0
  156. package/dist/cmd/text-to-image.d.ts +5 -0
  157. package/dist/cmd/text-to-image.d.ts.map +1 -0
  158. package/dist/cmd/text-to-image.js +53 -0
  159. package/dist/cmd/text-to-image.js.map +1 -0
  160. package/dist/index.d.ts +6 -0
  161. package/dist/index.d.ts.map +1 -0
  162. package/dist/index.js +46 -0
  163. package/dist/index.js.map +1 -0
  164. package/dist/internal/config.d.ts +46 -0
  165. package/dist/internal/config.d.ts.map +1 -0
  166. package/dist/internal/config.js +94 -0
  167. package/dist/internal/config.js.map +1 -0
  168. package/dist/internal/credentials.d.ts +106 -0
  169. package/dist/internal/credentials.d.ts.map +1 -0
  170. package/dist/internal/credentials.js +297 -0
  171. package/dist/internal/credentials.js.map +1 -0
  172. package/dist/internal/device-state.d.ts +45 -0
  173. package/dist/internal/device-state.d.ts.map +1 -0
  174. package/dist/internal/device-state.js +180 -0
  175. package/dist/internal/device-state.js.map +1 -0
  176. package/dist/internal/device.d.ts +79 -0
  177. package/dist/internal/device.d.ts.map +1 -0
  178. package/dist/internal/device.js +374 -0
  179. package/dist/internal/device.js.map +1 -0
  180. package/dist/internal/download.d.ts +34 -0
  181. package/dist/internal/download.d.ts.map +1 -0
  182. package/dist/internal/download.js +283 -0
  183. package/dist/internal/download.js.map +1 -0
  184. package/dist/internal/errors.d.ts +66 -0
  185. package/dist/internal/errors.d.ts.map +1 -0
  186. package/dist/internal/errors.js +169 -0
  187. package/dist/internal/errors.js.map +1 -0
  188. package/dist/internal/file-input.d.ts +24 -0
  189. package/dist/internal/file-input.d.ts.map +1 -0
  190. package/dist/internal/file-input.js +164 -0
  191. package/dist/internal/file-input.js.map +1 -0
  192. package/dist/internal/flags.d.ts +9 -0
  193. package/dist/internal/flags.d.ts.map +1 -0
  194. package/dist/internal/flags.js +31 -0
  195. package/dist/internal/flags.js.map +1 -0
  196. package/dist/internal/global-options.d.ts +16 -0
  197. package/dist/internal/global-options.d.ts.map +1 -0
  198. package/dist/internal/global-options.js +57 -0
  199. package/dist/internal/global-options.js.map +1 -0
  200. package/dist/internal/headless.d.ts +69 -0
  201. package/dist/internal/headless.d.ts.map +1 -0
  202. package/dist/internal/headless.js +101 -0
  203. package/dist/internal/headless.js.map +1 -0
  204. package/dist/internal/image-models.d.ts +20 -0
  205. package/dist/internal/image-models.d.ts.map +1 -0
  206. package/dist/internal/image-models.js +40 -0
  207. package/dist/internal/image-models.js.map +1 -0
  208. package/dist/internal/logger.d.ts +14 -0
  209. package/dist/internal/logger.d.ts.map +1 -0
  210. package/dist/internal/logger.js +42 -0
  211. package/dist/internal/logger.js.map +1 -0
  212. package/dist/internal/make-plan.d.ts +41 -0
  213. package/dist/internal/make-plan.d.ts.map +1 -0
  214. package/dist/internal/make-plan.js +67 -0
  215. package/dist/internal/make-plan.js.map +1 -0
  216. package/dist/internal/oauth.d.ts +95 -0
  217. package/dist/internal/oauth.d.ts.map +1 -0
  218. package/dist/internal/oauth.js +365 -0
  219. package/dist/internal/oauth.js.map +1 -0
  220. package/dist/internal/output.d.ts +15 -0
  221. package/dist/internal/output.d.ts.map +1 -0
  222. package/dist/internal/output.js +66 -0
  223. package/dist/internal/output.js.map +1 -0
  224. package/dist/internal/payload.d.ts +9 -0
  225. package/dist/internal/payload.d.ts.map +1 -0
  226. package/dist/internal/payload.js +42 -0
  227. package/dist/internal/payload.js.map +1 -0
  228. package/dist/internal/poll.d.ts +17 -0
  229. package/dist/internal/poll.d.ts.map +1 -0
  230. package/dist/internal/poll.js +27 -0
  231. package/dist/internal/poll.js.map +1 -0
  232. package/dist/internal/pricing.d.ts +23 -0
  233. package/dist/internal/pricing.d.ts.map +1 -0
  234. package/dist/internal/pricing.js +24 -0
  235. package/dist/internal/pricing.js.map +1 -0
  236. package/dist/internal/report.d.ts +40 -0
  237. package/dist/internal/report.d.ts.map +1 -0
  238. package/dist/internal/report.js +48 -0
  239. package/dist/internal/report.js.map +1 -0
  240. package/dist/internal/runtime.d.ts +66 -0
  241. package/dist/internal/runtime.d.ts.map +1 -0
  242. package/dist/internal/runtime.js +160 -0
  243. package/dist/internal/runtime.js.map +1 -0
  244. package/dist/internal/task-command.d.ts +39 -0
  245. package/dist/internal/task-command.d.ts.map +1 -0
  246. package/dist/internal/task-command.js +189 -0
  247. package/dist/internal/task-command.js.map +1 -0
  248. package/dist/internal/update-notifier.d.ts +160 -0
  249. package/dist/internal/update-notifier.d.ts.map +1 -0
  250. package/dist/internal/update-notifier.js +445 -0
  251. package/dist/internal/update-notifier.js.map +1 -0
  252. package/dist/internal/user-agent.d.ts +6 -0
  253. package/dist/internal/user-agent.d.ts.map +1 -0
  254. package/dist/internal/user-agent.js +7 -0
  255. package/dist/internal/user-agent.js.map +1 -0
  256. package/dist/internal/version.d.ts +2 -0
  257. package/dist/internal/version.d.ts.map +1 -0
  258. package/dist/internal/version.js +11 -0
  259. package/dist/internal/version.js.map +1 -0
  260. package/dist/root.d.ts +13 -0
  261. package/dist/root.d.ts.map +1 -0
  262. package/dist/root.js +148 -0
  263. package/dist/root.js.map +1 -0
  264. package/package.json +65 -0
  265. package/skills/meshy-cli/SKILL.md +99 -0
@@ -0,0 +1,72 @@
1
+ /**
2
+ * multi-image-to-3d — https://docs.meshy.ai/en/api/multi-image-to-3d
3
+ */
4
+ import { Option } from "commander";
5
+ import { parseBool, parseCsv } from "../internal/flags.js";
6
+ import { UsageError } from "../internal/errors.js";
7
+ import { buildResourceCommand } from "../internal/task-command.js";
8
+ const spec = {
9
+ name: "multi-image-to-3d",
10
+ description: "Generate a 3D model from 1-4 viewpoint images of a single object. Beta and unstable — " +
11
+ "prefer image-to-3d unless multi-view input is explicitly required. Each input must be a " +
12
+ "separate single-view image, never one grid/collage. Topology/polycount are not tunable " +
13
+ "here — chain `remesh` afterwards",
14
+ create: {
15
+ description: "Create a multi-image-to-3d task",
16
+ configure(cmd) {
17
+ return cmd
18
+ .option("--image-urls <csv>", "1-4 reference images as CSV, ideally front/side/back; each entry is a URL or local file path", parseCsv)
19
+ .option("--input-task-id <id>", "alternative to --image-urls: a SUCCEEDED text-to-image or image-to-image task (e.g. multi-view output) whose images become the source views")
20
+ .option("--should-texture <bool>", "generate textures (default: false — draft white mesh; texture later with retexture)", parseBool)
21
+ .option("--enable-pbr <bool>", "generate normal/metallic/roughness/emission maps (default: true, so game-engine imports carry the full map set)", parseBool)
22
+ .option("--texture-prompt <text>", "text guidance for texturing (max 600 chars)")
23
+ .addOption(new Option("--texture-resolution <res>", "base color texture size (default: 4k)").choices(["2k", "4k", "8k"]))
24
+ .option("--remove-lighting <bool>", "strip baked lighting from the base color (default: true)", parseBool)
25
+ .option("--target-formats <csv>", "glb,obj,fbx,stl,usdz,3mf (default: glb)", parseCsv);
26
+ },
27
+ toPayload(opts) {
28
+ const urls = opts.imageUrls;
29
+ if (!opts.inputTaskId && (!urls || urls.length < 1 || urls.length > 4) && !opts.data) {
30
+ throw new UsageError("provide --image-urls (CSV of 1-4) or --input-task-id");
31
+ }
32
+ // The API rejects texture knobs on untextured runs; catch it before the wire.
33
+ if (opts.shouldTexture !== true && !opts.data) {
34
+ for (const [flag, value] of [
35
+ ["--enable-pbr", opts.enablePbr],
36
+ ["--texture-resolution", opts.textureResolution],
37
+ ["--texture-prompt", opts.texturePrompt],
38
+ ]) {
39
+ if (value !== undefined) {
40
+ throw new UsageError(`${flag} requires --should-texture true (the default output is an untextured draft mesh)`);
41
+ }
42
+ }
43
+ }
44
+ return {
45
+ image_urls: urls,
46
+ input_task_id: opts.inputTaskId,
47
+ should_texture: opts.shouldTexture,
48
+ enable_pbr: opts.enablePbr,
49
+ texture_prompt: opts.texturePrompt,
50
+ texture_resolution: opts.textureResolution,
51
+ remove_lighting: opts.removeLighting,
52
+ target_formats: opts.targetFormats,
53
+ };
54
+ },
55
+ toDefaults(opts) {
56
+ // Draft-first, matching image-to-3d: white mesh by default, texturing
57
+ // is its own step; texture knobs ride only when texturing is on (the
58
+ // API rejects them otherwise), then game-ready values apply. No model
59
+ // choice — the server default (latest = meshy-6) applies.
60
+ const texturing = opts.shouldTexture === true;
61
+ return {
62
+ should_texture: false,
63
+ enable_pbr: texturing ? true : undefined,
64
+ texture_resolution: texturing ? "4k" : undefined,
65
+ target_formats: ["glb"],
66
+ };
67
+ },
68
+ },
69
+ endpointOf: (c) => c.multiImageTo3d,
70
+ };
71
+ export const multiImageTo3dCommand = buildResourceCommand(spec);
72
+ //# sourceMappingURL=multi-image-to-3d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-image-to-3d.js","sourceRoot":"","sources":["../../src/cmd/multi-image-to-3d.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAA4B,MAAM,6BAA6B,CAAC;AAE7F,MAAM,IAAI,GAAwB;IAChC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,wFAAwF;QACxF,0FAA0F;QAC1F,yFAAyF;QACzF,kCAAkC;IACpC,MAAM,EAAE;QACN,WAAW,EAAE,iCAAiC;QAC9C,SAAS,CAAC,GAAG;YACX,OAAO,GAAG;iBACP,MAAM,CACL,oBAAoB,EACpB,8FAA8F,EAC9F,QAAQ,CACT;iBACA,MAAM,CACL,sBAAsB,EACtB,6IAA6I,CAC9I;iBACA,MAAM,CACL,yBAAyB,EACzB,qFAAqF,EACrF,SAAS,CACV;iBACA,MAAM,CACL,qBAAqB,EACrB,iHAAiH,EACjH,SAAS,CACV;iBACA,MAAM,CAAC,yBAAyB,EAAE,6CAA6C,CAAC;iBAChF,SAAS,CACR,IAAI,MAAM,CACR,4BAA4B,EAC5B,uCAAuC,CACxC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAC9B;iBACA,MAAM,CACL,0BAA0B,EAC1B,0DAA0D,EAC1D,SAAS,CACV;iBACA,MAAM,CAAC,wBAAwB,EAAE,yCAAyC,EAAE,QAAQ,CAAC,CAAC;QAC3F,CAAC;QACD,SAAS,CAAC,IAAI;YACZ,MAAM,IAAI,GAAG,IAAI,CAAC,SAAiC,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrF,MAAM,IAAI,UAAU,CAAC,sDAAsD,CAAC,CAAC;YAC/E,CAAC;YACD,8EAA8E;YAC9E,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC9C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI;oBAC1B,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC;oBAChC,CAAC,sBAAsB,EAAE,IAAI,CAAC,iBAAiB,CAAC;oBAChD,CAAC,kBAAkB,EAAE,IAAI,CAAC,aAAa,CAAC;iBAChC,EAAE,CAAC;oBACX,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,MAAM,IAAI,UAAU,CAClB,GAAG,IAAI,kFAAkF,CAC1F,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO;gBACL,UAAU,EAAE,IAAI;gBAChB,aAAa,EAAE,IAAI,CAAC,WAAW;gBAC/B,cAAc,EAAE,IAAI,CAAC,aAAa;gBAClC,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,cAAc,EAAE,IAAI,CAAC,aAAa;gBAClC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB;gBAC1C,eAAe,EAAE,IAAI,CAAC,cAAc;gBACpC,cAAc,EAAE,IAAI,CAAC,aAAa;aACnC,CAAC;QACJ,CAAC;QACD,UAAU,CAAC,IAAI;YACb,sEAAsE;YACtE,qEAAqE;YACrE,sEAAsE;YACtE,0DAA0D;YAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC;YAC9C,OAAO;gBACL,cAAc,EAAE,KAAK;gBACrB,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBACxC,kBAAkB,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBAChD,cAAc,EAAE,CAAC,KAAK,CAAC;aACxB,CAAC;QACJ,CAAC;KACF;IACD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc;CACpC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * remesh — https://docs.meshy.ai/en/api/remesh
3
+ *
4
+ * Geometry only: topology and polycount. Format-only conversion is the
5
+ * standalone `convert` command; size changes are `resize`.
6
+ */
7
+ export declare const remeshCommand: import("commander").Command;
8
+ //# sourceMappingURL=remesh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remesh.d.ts","sourceRoot":"","sources":["../../src/cmd/remesh.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyDH,eAAO,MAAM,aAAa,6BAA6B,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * remesh — https://docs.meshy.ai/en/api/remesh
3
+ *
4
+ * Geometry only: topology and polycount. Format-only conversion is the
5
+ * standalone `convert` command; size changes are `resize`.
6
+ */
7
+ import { Option } from "commander";
8
+ import { parseCsv, parseInt10 } from "../internal/flags.js";
9
+ import { UsageError } from "../internal/errors.js";
10
+ import { buildResourceCommand } from "../internal/task-command.js";
11
+ const spec = {
12
+ name: "remesh",
13
+ description: "Regenerate the geometry of a 3D model — change topology (quad/triangle) and polygon " +
14
+ "count; textures and position are preserved. For format-only changes use `convert`; " +
15
+ "for size changes use `resize`",
16
+ create: {
17
+ description: "Create a remesh task",
18
+ configure(cmd) {
19
+ return cmd
20
+ .option("--input-task-id <id>", "source Meshy task id (takes priority over --model-url)")
21
+ .option("--model-url <src>", "3D model as http(s) URL or local file path (.glb/.gltf/.obj/.fbx/.stl)")
22
+ .addOption(new Option("--topology <kind>", "quad (rigging/CAD/subdivision-friendly) | triangle (default; native engine topology)").choices(["quad", "triangle"]))
23
+ .option("--target-polycount <n>", "100-300000 (default: 30000). Rigging tip: ~10000 rigs well", parseInt10)
24
+ .addOption(new Option("--decimation-mode <level>", "adaptive 1|2|3|4; when set, overrides --target-polycount")
25
+ .choices(["1", "2", "3", "4"]))
26
+ .option("--target-formats <csv>", "glb,fbx,obj,usdz,blend,stl,3mf (default: glb)", parseCsv);
27
+ },
28
+ toPayload(opts) {
29
+ if (!opts.inputTaskId && !opts.modelUrl && !opts.data) {
30
+ throw new UsageError("provide --input-task-id or --model-url");
31
+ }
32
+ return {
33
+ input_task_id: opts.inputTaskId,
34
+ model_url: opts.modelUrl,
35
+ topology: opts.topology,
36
+ target_polycount: opts.targetPolycount,
37
+ decimation_mode: opts.decimationMode == null ? undefined : Number(opts.decimationMode),
38
+ target_formats: opts.targetFormats,
39
+ };
40
+ },
41
+ toDefaults() {
42
+ // GLB only unless asked otherwise.
43
+ return { target_formats: ["glb"] };
44
+ },
45
+ },
46
+ endpointOf: (c) => c.remesh,
47
+ };
48
+ export const remeshCommand = buildResourceCommand(spec);
49
+ //# sourceMappingURL=remesh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remesh.js","sourceRoot":"","sources":["../../src/cmd/remesh.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAA4B,MAAM,6BAA6B,CAAC;AAE7F,MAAM,IAAI,GAAwB;IAChC,IAAI,EAAE,QAAQ;IACd,WAAW,EACT,sFAAsF;QACtF,qFAAqF;QACrF,+BAA+B;IACjC,MAAM,EAAE;QACN,WAAW,EAAE,sBAAsB;QACnC,SAAS,CAAC,GAAG;YACX,OAAO,GAAG;iBACP,MAAM,CAAC,sBAAsB,EAAE,wDAAwD,CAAC;iBACxF,MAAM,CAAC,mBAAmB,EAAE,wEAAwE,CAAC;iBACrG,SAAS,CACR,IAAI,MAAM,CACR,mBAAmB,EACnB,sFAAsF,CACvF,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAChC;iBACA,MAAM,CACL,wBAAwB,EACxB,4DAA4D,EAC5D,UAAU,CACX;iBACA,SAAS,CACR,IAAI,MAAM,CAAC,2BAA2B,EAAE,0DAA0D,CAAC;iBAChG,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CACjC;iBACA,MAAM,CAAC,wBAAwB,EAAE,+CAA+C,EAAE,QAAQ,CAAC,CAAC;QACjG,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,OAAO;gBACL,aAAa,EAAE,IAAI,CAAC,WAAW;gBAC/B,SAAS,EAAE,IAAI,CAAC,QAAQ;gBACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,gBAAgB,EAAE,IAAI,CAAC,eAAe;gBACtC,eAAe,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;gBACtF,cAAc,EAAE,IAAI,CAAC,aAAa;aACnC,CAAC;QACJ,CAAC;QACD,UAAU;YACR,mCAAmC;YACnC,OAAO,EAAE,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,CAAC;KACF;IACD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * repair-printability — https://docs.meshy.ai/en/api/repair-printability
3
+ * Fix non-watertight / non-manifold geometry. Existing textures are removed
4
+ * (re-run retexture afterward if needed). Costs 10 credits on success.
5
+ */
6
+ export declare const repairPrintabilityCommand: import("commander").Command;
7
+ //# sourceMappingURL=repair-printability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repair-printability.d.ts","sourceRoot":"","sources":["../../src/cmd/repair-printability.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA8BH,eAAO,MAAM,yBAAyB,6BAA6B,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * repair-printability — https://docs.meshy.ai/en/api/repair-printability
3
+ * Fix non-watertight / non-manifold geometry. Existing textures are removed
4
+ * (re-run retexture afterward if needed). Costs 10 credits on success.
5
+ */
6
+ import { UsageError } from "../internal/errors.js";
7
+ import { buildResourceCommand } from "../internal/task-command.js";
8
+ const spec = {
9
+ name: "repair-printability",
10
+ description: "Repair geometric defects (non-manifold edges, holes, degenerate faces) so a model can " +
11
+ "be 3D-printed. Textures are dropped — re-run retexture afterwards if needed",
12
+ create: {
13
+ description: "Create a repair-printability task",
14
+ configure(cmd) {
15
+ return cmd
16
+ .option("--input-task-id <id>", "source SUCCEEDED task (image-to-3d, multi-image-to-3d, text-to-3d, remesh, or retexture) — takes priority over --model-url")
17
+ .option("--model-url <src>", "3D model as http(s) URL or local file path (.glb/.stl/.obj only, max 100MB)");
18
+ },
19
+ toPayload(opts) {
20
+ if (!opts.inputTaskId && !opts.modelUrl && !opts.data) {
21
+ throw new UsageError("provide --input-task-id or --model-url");
22
+ }
23
+ return {
24
+ input_task_id: opts.inputTaskId,
25
+ model_url: opts.modelUrl,
26
+ };
27
+ },
28
+ },
29
+ endpointOf: (c) => c.repairPrintability,
30
+ };
31
+ export const repairPrintabilityCommand = buildResourceCommand(spec);
32
+ //# sourceMappingURL=repair-printability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repair-printability.js","sourceRoot":"","sources":["../../src/cmd/repair-printability.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAA4B,MAAM,6BAA6B,CAAC;AAE7F,MAAM,IAAI,GAAwB;IAChC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,wFAAwF;QACxF,6EAA6E;IAC/E,MAAM,EAAE;QACN,WAAW,EAAE,mCAAmC;QAChD,SAAS,CAAC,GAAG;YACX,OAAO,GAAG;iBACP,MAAM,CAAC,sBAAsB,EAAE,4HAA4H,CAAC;iBAC5J,MAAM,CAAC,mBAAmB,EAAE,6EAA6E,CAAC,CAAC;QAChH,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,OAAO;gBACL,aAAa,EAAE,IAAI,CAAC,WAAW;gBAC/B,SAAS,EAAE,IAAI,CAAC,QAAQ;aACzB,CAAC;QACJ,CAAC;KACF;IACD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB;CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * resize — https://docs.meshy.ai/en/api/resize
3
+ *
4
+ * Standalone model resizing (extracted from remesh by Meshy in May 2026).
5
+ * Exactly one sizing mode per task.
6
+ */
7
+ export declare const resizeCommand: import("commander").Command;
8
+ //# sourceMappingURL=resize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resize.d.ts","sourceRoot":"","sources":["../../src/cmd/resize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoDH,eAAO,MAAM,aAAa,6BAA6B,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * resize — https://docs.meshy.ai/en/api/resize
3
+ *
4
+ * Standalone model resizing (extracted from remesh by Meshy in May 2026).
5
+ * Exactly one sizing mode per task.
6
+ */
7
+ import { Option } from "commander";
8
+ import { parseBool, parseNumber } from "../internal/flags.js";
9
+ import { UsageError } from "../internal/errors.js";
10
+ import { buildResourceCommand } from "../internal/task-command.js";
11
+ const spec = {
12
+ name: "resize",
13
+ description: "Resize a 3D model to real-world dimensions — set a target height, a longest-side " +
14
+ "length, or let AI estimate the real size",
15
+ create: {
16
+ description: "Create a resize task",
17
+ configure(cmd) {
18
+ return cmd
19
+ .option("--input-task-id <id>", "source Meshy task id (takes priority over --model-url)")
20
+ .option("--model-url <src>", "3D model as http(s) URL or local file path")
21
+ .option("--resize-height <m>", "target height in meters (one sizing mode required)", parseNumber)
22
+ .option("--resize-longest-side <m>", "target longest dimension in meters", parseNumber)
23
+ .option("--auto-size <bool>", "AI-estimate the real-world size", parseBool)
24
+ .addOption(new Option("--origin-at <where>", "bottom (default) | center").choices(["bottom", "center"]));
25
+ },
26
+ toPayload(opts) {
27
+ if (!opts.inputTaskId && !opts.modelUrl && !opts.data) {
28
+ throw new UsageError("provide --input-task-id or --model-url");
29
+ }
30
+ const modes = [
31
+ opts.resizeHeight != null,
32
+ opts.resizeLongestSide != null,
33
+ opts.autoSize === true,
34
+ ].filter(Boolean).length;
35
+ if (modes !== 1 && !opts.data) {
36
+ throw new UsageError("provide exactly one sizing mode: --resize-height, --resize-longest-side, or --auto-size true");
37
+ }
38
+ return {
39
+ input_task_id: opts.inputTaskId,
40
+ model_url: opts.modelUrl,
41
+ resize_height: opts.resizeHeight,
42
+ resize_longest_side: opts.resizeLongestSide,
43
+ auto_size: opts.autoSize,
44
+ origin_at: opts.originAt,
45
+ };
46
+ },
47
+ },
48
+ endpointOf: (c) => c.resize,
49
+ };
50
+ export const resizeCommand = buildResourceCommand(spec);
51
+ //# sourceMappingURL=resize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resize.js","sourceRoot":"","sources":["../../src/cmd/resize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAA4B,MAAM,6BAA6B,CAAC;AAE7F,MAAM,IAAI,GAAwB;IAChC,IAAI,EAAE,QAAQ;IACd,WAAW,EACT,mFAAmF;QACnF,0CAA0C;IAC5C,MAAM,EAAE;QACN,WAAW,EAAE,sBAAsB;QACnC,SAAS,CAAC,GAAG;YACX,OAAO,GAAG;iBACP,MAAM,CAAC,sBAAsB,EAAE,wDAAwD,CAAC;iBACxF,MAAM,CAAC,mBAAmB,EAAE,4CAA4C,CAAC;iBACzE,MAAM,CAAC,qBAAqB,EAAE,oDAAoD,EAAE,WAAW,CAAC;iBAChG,MAAM,CAAC,2BAA2B,EAAE,oCAAoC,EAAE,WAAW,CAAC;iBACtF,MAAM,CAAC,oBAAoB,EAAE,iCAAiC,EAAE,SAAS,CAAC;iBAC1E,SAAS,CACR,IAAI,MAAM,CAAC,qBAAqB,EAAE,2BAA2B,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAC7F,CAAC;QACN,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,KAAK,GAAG;gBACZ,IAAI,CAAC,YAAY,IAAI,IAAI;gBACzB,IAAI,CAAC,iBAAiB,IAAI,IAAI;gBAC9B,IAAI,CAAC,QAAQ,KAAK,IAAI;aACvB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YACzB,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,UAAU,CAClB,8FAA8F,CAC/F,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,aAAa,EAAE,IAAI,CAAC,WAAW;gBAC/B,SAAS,EAAE,IAAI,CAAC,QAAQ;gBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;gBAChC,mBAAmB,EAAE,IAAI,CAAC,iBAAiB;gBAC3C,SAAS,EAAE,IAAI,CAAC,QAAQ;gBACxB,SAAS,EAAE,IAAI,CAAC,QAAQ;aACzB,CAAC;QACJ,CAAC;KACF;IACD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * resources — the index for the per-endpoint commands.
3
+ *
4
+ * Those commands stay registered and stay supported; they are simply not what
5
+ * the root help leads with. An agent that reads `--help` on every invocation
6
+ * pays for the whole surface every time, so the root lists the one verb most
7
+ * callers need and points here for the rest.
8
+ */
9
+ import { Command } from "commander";
10
+ interface ResourceEntry {
11
+ name: string;
12
+ summary: string;
13
+ }
14
+ /** Kept in registration order, matching root.ts. */
15
+ export declare const RESOURCES: ResourceEntry[];
16
+ export declare const resourcesCommand: Command;
17
+ export {};
18
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/cmd/resources.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oDAAoD;AACpD,eAAO,MAAM,SAAS,EAAE,aAAa,EAiBpC,CAAC;AAkBF,eAAO,MAAM,gBAAgB,SAYzB,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * resources — the index for the per-endpoint commands.
3
+ *
4
+ * Those commands stay registered and stay supported; they are simply not what
5
+ * the root help leads with. An agent that reads `--help` on every invocation
6
+ * pays for the whole surface every time, so the root lists the one verb most
7
+ * callers need and points here for the rest.
8
+ */
9
+ import { Command } from "commander";
10
+ import { emit } from "../internal/output.js";
11
+ import { readGlobalFlags } from "../internal/runtime.js";
12
+ /** Kept in registration order, matching root.ts. */
13
+ export const RESOURCES = [
14
+ { name: "text-to-3d", summary: "two-stage 3D generation from text (preview → refine)" },
15
+ { name: "image-to-3d", summary: "3D from a single image (standard or smart-topology low-poly)" },
16
+ { name: "multi-image-to-3d", summary: "3D from multiple views (beta; prefer image-to-3d)" },
17
+ { name: "remesh", summary: "retopologize / change polycount" },
18
+ { name: "convert", summary: "change file format only" },
19
+ { name: "resize", summary: "resize to real-world dimensions" },
20
+ { name: "rigging", summary: "rig a humanoid mesh (+ bundled walk/run animations)" },
21
+ { name: "animate", summary: "apply an animation clip to a rigged mesh" },
22
+ { name: "retexture", summary: "regenerate textures" },
23
+ { name: "text-to-image", summary: "2D image generation" },
24
+ { name: "image-to-image", summary: "2D image editing" },
25
+ { name: "multi-color-print", summary: "color-separated 3D print output" },
26
+ { name: "analyze-printability", summary: "inspect a model for 3D-printing issues (free)" },
27
+ { name: "repair-printability", summary: "fix non-watertight / non-manifold geometry" },
28
+ { name: "balance", summary: "remaining credit balance" },
29
+ { name: "delete", summary: "delete any task, whatever its resource" },
30
+ ];
31
+ const VERBS = `Every resource carries the same verbs:
32
+
33
+ meshy <resource> create [flags] [--data '<json>'] [--async] [--timeout <s>]
34
+ meshy <resource> get <task-id>
35
+ meshy <resource> list [--page <n>] [--page-size <n>] [--sort-by <field>]
36
+ meshy <resource> wait <task-id> [--timeout <s>]
37
+ meshy <resource> delete <task-id>
38
+
39
+ \`create\` is sync by default — it blocks until the task is terminal. Pass
40
+ --async for the task id straight away, then \`wait\`/\`get\` it later.
41
+
42
+ Endpoints without a dedicated command are reachable through the passthrough:
43
+
44
+ meshy api GET /balance
45
+ meshy api POST /text-to-3d --data '{"mode":"preview","prompt":"car"}'`;
46
+ export const resourcesCommand = new Command("resources")
47
+ .description("List the per-endpoint commands and the verbs they share")
48
+ .addHelpText("after", `\n${VERBS}\n`)
49
+ .action((_opts, thisCmd) => {
50
+ const { format } = readGlobalFlags(thisCmd);
51
+ if (format === "pretty") {
52
+ const width = Math.max(...RESOURCES.map((r) => r.name.length));
53
+ const lines = RESOURCES.map((r) => ` ${r.name.padEnd(width)} ${r.summary}`);
54
+ process.stdout.write(`${lines.join("\n")}\n\n${VERBS}\n`);
55
+ return;
56
+ }
57
+ emit(RESOURCES, { format });
58
+ });
59
+ //# sourceMappingURL=resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/cmd/resources.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAOzD,oDAAoD;AACpD,MAAM,CAAC,MAAM,SAAS,GAAoB;IACxC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,sDAAsD,EAAE;IACvF,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,8DAA8D,EAAE;IAChG,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,mDAAmD,EAAE;IAC3F,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iCAAiC,EAAE;IAC9D,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,yBAAyB,EAAE;IACvD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iCAAiC,EAAE;IAC9D,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,qDAAqD,EAAE;IACnF,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,0CAA0C,EAAE;IACxE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,qBAAqB,EAAE;IACrD,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,qBAAqB,EAAE;IACzD,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,EAAE;IACvD,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,iCAAiC,EAAE;IACzE,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,+CAA+C,EAAE;IAC1F,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,4CAA4C,EAAE;IACtF,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,0BAA0B,EAAE;IACxD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,wCAAwC,EAAE;CACtE,CAAC;AAEF,MAAM,KAAK,GAAG;;;;;;;;;;;;;;0EAc4D,CAAC;AAE3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC;KACrD,WAAW,CAAC,yDAAyD,CAAC;KACtE,WAAW,CAAC,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC;KACpC,MAAM,CAAC,CAAC,KAA8B,EAAE,OAAgB,EAAE,EAAE;IAC3D,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * retexture — https://docs.meshy.ai/en/api/retexture
3
+ */
4
+ export declare const retextureCommand: import("commander").Command;
5
+ //# sourceMappingURL=retexture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retexture.d.ts","sourceRoot":"","sources":["../../src/cmd/retexture.ts"],"names":[],"mappings":"AAAA;;GAEG;AA6EH,eAAO,MAAM,gBAAgB,6BAA6B,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * retexture — https://docs.meshy.ai/en/api/retexture
3
+ */
4
+ import { Option } from "commander";
5
+ import { parseBool, parseCsv } from "../internal/flags.js";
6
+ import { UsageError } from "../internal/errors.js";
7
+ import { buildResourceCommand } from "../internal/task-command.js";
8
+ const spec = {
9
+ name: "retexture",
10
+ description: "Regenerate the textures of a 3D model from a style prompt or a style image — prefer a " +
11
+ "reference image showing the desired final look",
12
+ create: {
13
+ description: "Create a retexture task",
14
+ configure(cmd) {
15
+ return cmd
16
+ .option("--input-task-id <id>", "source Meshy task id (takes priority over --model-url)")
17
+ .option("--model-url <src>", "3D model as http(s) URL or local file path (.glb/.gltf/.obj/.fbx/.stl)")
18
+ .option("--text-style-prompt <text>", "text style description; mutually exclusive with --image-style-url")
19
+ .option("--image-style-url <src>", "style reference image (URL or local path); mutually exclusive with --text-style-prompt")
20
+ .option("--enable-original-uv <bool>", "reuse the model's original UVs (default: true)", parseBool)
21
+ .option("--enable-pbr <bool>", "generate normal/metallic/roughness/emission maps (default: true, so game-engine imports carry the full map set)", parseBool)
22
+ .addOption(new Option("--texture-resolution <res>", "base color texture size (default: 4k)").choices([
23
+ "2k",
24
+ "4k",
25
+ "8k",
26
+ ]))
27
+ .option("--remove-lighting <bool>", "strip baked lighting from the base color (default: true)", parseBool)
28
+ .option("--target-formats <csv>", "glb,obj,fbx,stl,usdz,3mf (default: glb)", parseCsv);
29
+ },
30
+ toPayload(opts) {
31
+ if (!opts.inputTaskId && !opts.modelUrl && !opts.data) {
32
+ throw new UsageError("provide --input-task-id or --model-url");
33
+ }
34
+ if (!opts.textStylePrompt && !opts.imageStyleUrl && !opts.data) {
35
+ throw new UsageError("provide --text-style-prompt or --image-style-url");
36
+ }
37
+ if (opts.textStylePrompt && opts.imageStyleUrl) {
38
+ throw new UsageError("--text-style-prompt and --image-style-url are mutually exclusive");
39
+ }
40
+ return {
41
+ input_task_id: opts.inputTaskId,
42
+ model_url: opts.modelUrl,
43
+ text_style_prompt: opts.textStylePrompt,
44
+ image_style_url: opts.imageStyleUrl,
45
+ enable_original_uv: opts.enableOriginalUv,
46
+ enable_pbr: opts.enablePbr,
47
+ texture_resolution: opts.textureResolution,
48
+ remove_lighting: opts.removeLighting,
49
+ target_formats: opts.targetFormats,
50
+ };
51
+ },
52
+ toDefaults() {
53
+ // Game-ready defaults (agent-ts parity); see image-to-3d.
54
+ return {
55
+ enable_pbr: true,
56
+ texture_resolution: "4k",
57
+ target_formats: ["glb"],
58
+ };
59
+ },
60
+ },
61
+ endpointOf: (c) => c.retexture,
62
+ };
63
+ export const retextureCommand = buildResourceCommand(spec);
64
+ //# sourceMappingURL=retexture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retexture.js","sourceRoot":"","sources":["../../src/cmd/retexture.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAA4B,MAAM,6BAA6B,CAAC;AAE7F,MAAM,IAAI,GAAwB;IAChC,IAAI,EAAE,WAAW;IACjB,WAAW,EACT,wFAAwF;QACxF,gDAAgD;IAClD,MAAM,EAAE;QACN,WAAW,EAAE,yBAAyB;QACtC,SAAS,CAAC,GAAG;YACX,OAAO,GAAG;iBACP,MAAM,CAAC,sBAAsB,EAAE,wDAAwD,CAAC;iBACxF,MAAM,CAAC,mBAAmB,EAAE,wEAAwE,CAAC;iBACrG,MAAM,CAAC,4BAA4B,EAAE,mEAAmE,CAAC;iBACzG,MAAM,CACL,yBAAyB,EACzB,wFAAwF,CACzF;iBACA,MAAM,CAAC,6BAA6B,EAAE,gDAAgD,EAAE,SAAS,CAAC;iBAClG,MAAM,CACL,qBAAqB,EACrB,iHAAiH,EACjH,SAAS,CACV;iBACA,SAAS,CACR,IAAI,MAAM,CAAC,4BAA4B,EAAE,uCAAuC,CAAC,CAAC,OAAO,CAAC;gBACxF,IAAI;gBACJ,IAAI;gBACJ,IAAI;aACL,CAAC,CACH;iBACA,MAAM,CACL,0BAA0B,EAC1B,0DAA0D,EAC1D,SAAS,CACV;iBACA,MAAM,CAAC,wBAAwB,EAAE,yCAAyC,EAAE,QAAQ,CAAC,CAAC;QAC3F,CAAC;QACD,SAAS,CAAC,IAAI;YACZ,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,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC/D,MAAM,IAAI,UAAU,CAAC,kDAAkD,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC/C,MAAM,IAAI,UAAU,CAAC,kEAAkE,CAAC,CAAC;YAC3F,CAAC;YACD,OAAO;gBACL,aAAa,EAAE,IAAI,CAAC,WAAW;gBAC/B,SAAS,EAAE,IAAI,CAAC,QAAQ;gBACxB,iBAAiB,EAAE,IAAI,CAAC,eAAe;gBACvC,eAAe,EAAE,IAAI,CAAC,aAAa;gBACnC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB;gBACzC,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,kBAAkB,EAAE,IAAI,CAAC,iBAAiB;gBAC1C,eAAe,EAAE,IAAI,CAAC,cAAc;gBACpC,cAAc,EAAE,IAAI,CAAC,aAAa;aACnC,CAAC;QACJ,CAAC;QACD,UAAU;YACR,0DAA0D;YAC1D,OAAO;gBACL,UAAU,EAAE,IAAI;gBAChB,kBAAkB,EAAE,IAAI;gBACxB,cAAc,EAAE,CAAC,KAAK,CAAC;aACxB,CAAC;QACJ,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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * rigging — https://docs.meshy.ai/en/api/rigging
3
+ * Note: Meshy does not expose a list endpoint for rigging.
4
+ */
5
+ export declare const riggingCommand: import("commander").Command;
6
+ //# sourceMappingURL=rigging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rigging.d.ts","sourceRoot":"","sources":["../../src/cmd/rigging.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2CH,eAAO,MAAM,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * rigging — https://docs.meshy.ai/en/api/rigging
3
+ * Note: Meshy does not expose a list endpoint for rigging.
4
+ */
5
+ import { parseNumber } from "../internal/flags.js";
6
+ import { UsageError } from "../internal/errors.js";
7
+ import { buildResourceCommand } from "../internal/task-command.js";
8
+ const spec = {
9
+ name: "rigging",
10
+ description: "Rig a 3D model with a bipedal humanoid skeleton (skinning included). Returns the rigged " +
11
+ "character as GLB + FBX plus bundled walking and running animations at no extra cost. " +
12
+ "Input must be GLB with under 300k faces — remesh to ~10000 first if denser. Not suitable " +
13
+ "for non-humanoid assets or models with unclear limb structure",
14
+ supportsList: false,
15
+ create: {
16
+ description: "Create a rigging task",
17
+ configure(cmd) {
18
+ return cmd
19
+ .option("--input-task-id <id>", "source Meshy task id (takes priority over --model-url)")
20
+ .option("--model-url <src>", "textured humanoid .glb as http(s) URL or local file path")
21
+ .option("--height-meters <m>", "approximate character height in meters (default: 1.7) — drives bone proportions", parseNumber);
22
+ },
23
+ toPayload(opts) {
24
+ if (!opts.inputTaskId && !opts.modelUrl && !opts.data) {
25
+ throw new UsageError("provide --input-task-id or --model-url");
26
+ }
27
+ return {
28
+ input_task_id: opts.inputTaskId,
29
+ model_url: opts.modelUrl,
30
+ height_meters: opts.heightMeters,
31
+ };
32
+ },
33
+ toDefaults() {
34
+ return { height_meters: 1.7 };
35
+ },
36
+ },
37
+ endpointOf: (c) => c.rigging,
38
+ };
39
+ export const riggingCommand = buildResourceCommand(spec);
40
+ //# sourceMappingURL=rigging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rigging.js","sourceRoot":"","sources":["../../src/cmd/rigging.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,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,0FAA0F;QAC1F,uFAAuF;QACvF,2FAA2F;QAC3F,+DAA+D;IACjE,YAAY,EAAE,KAAK;IACnB,MAAM,EAAE;QACN,WAAW,EAAE,uBAAuB;QACpC,SAAS,CAAC,GAAG;YACX,OAAO,GAAG;iBACP,MAAM,CAAC,sBAAsB,EAAE,wDAAwD,CAAC;iBACxF,MAAM,CAAC,mBAAmB,EAAE,0DAA0D,CAAC;iBACvF,MAAM,CACL,qBAAqB,EACrB,iFAAiF,EACjF,WAAW,CACZ,CAAC;QACN,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,OAAO;gBACL,aAAa,EAAE,IAAI,CAAC,WAAW;gBAC/B,SAAS,EAAE,IAAI,CAAC,QAAQ;gBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;aACjC,CAAC;QACJ,CAAC;QACD,UAAU;YACR,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC;QAChC,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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * text-to-3d — https://docs.meshy.ai/en/api/text-to-3d
3
+ *
4
+ * Two-stage flow: `--mode preview` generates geometry, then
5
+ * `--mode refine --preview-task-id <id>` textures it.
6
+ *
7
+ * The flag surface is deliberately minimal: topology and polycount are
8
+ * remesh's job, resizing is resize's job, deprecated parameters
9
+ * (symmetry_mode, lowpoly) are gone, and there is no model choice — the
10
+ * server default (latest = meshy-6) applies. The `--data` escape hatch
11
+ * still reaches anything the API accepts.
12
+ */
13
+ export declare const textTo3dCommand: import("commander").Command;
14
+ //# sourceMappingURL=text-to-3d.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-to-3d.d.ts","sourceRoot":"","sources":["../../src/cmd/text-to-3d.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAwFH,eAAO,MAAM,eAAe,6BAA6B,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * text-to-3d — https://docs.meshy.ai/en/api/text-to-3d
3
+ *
4
+ * Two-stage flow: `--mode preview` generates geometry, then
5
+ * `--mode refine --preview-task-id <id>` textures it.
6
+ *
7
+ * The flag surface is deliberately minimal: topology and polycount are
8
+ * remesh's job, resizing is resize's job, deprecated parameters
9
+ * (symmetry_mode, lowpoly) are gone, and there is no model choice — the
10
+ * server default (latest = meshy-6) applies. The `--data` escape hatch
11
+ * still reaches anything the API accepts.
12
+ */
13
+ import { Option } from "commander";
14
+ import { parseBool, parseCsv } from "../internal/flags.js";
15
+ import { UsageError } from "../internal/errors.js";
16
+ import { buildResourceCommand } from "../internal/task-command.js";
17
+ const spec = {
18
+ name: "text-to-3d",
19
+ description: "Generate 3D models from text prompts (two-stage: preview → refine). " +
20
+ "Topology/polycount are not tunable here — chain `remesh` afterwards",
21
+ create: {
22
+ description: "Create a text-to-3d task",
23
+ configure(cmd) {
24
+ return cmd
25
+ .addOption(new Option("--mode <mode>", "preview | refine").choices(["preview", "refine"]))
26
+ .option("--prompt <text>", "required in preview mode; max 600 chars")
27
+ .option("--preview-task-id <id>", "required in refine mode. Must be a SUCCEEDED text-to-3d preview task — refine " +
28
+ "consumes the preview's latents, so uploaded models or image-to-3d/remesh outputs " +
29
+ "cannot be refined (use retexture for those)")
30
+ .addOption(new Option("--pose-mode <pose>", "preview only. a-pose | t-pose pre-pose characters for rigging; auto (default) lets the model decide").choices(["a-pose", "t-pose", "auto"]))
31
+ .option("--enable-pbr <bool>", "refine only. Generate normal/metallic/roughness/emission maps (default: true, so game-engine imports carry the full map set)", parseBool)
32
+ .option("--texture-prompt <text>", "refine only. Extra texture guidance (max 600 chars)")
33
+ .addOption(new Option("--texture-resolution <res>", "refine only. Base color texture size (default: 4k)").choices(["2k", "4k", "8k"]))
34
+ .option("--remove-lighting <bool>", "refine only. Strip baked lighting from the base color (default: true)", parseBool)
35
+ .option("--target-formats <csv>", "glb,obj,fbx,stl,usdz,3mf (default: glb)", parseCsv);
36
+ },
37
+ toPayload(opts) {
38
+ const mode = opts.mode;
39
+ if (mode === "preview" && !opts.prompt) {
40
+ throw new UsageError("--mode preview requires --prompt");
41
+ }
42
+ if (mode === "refine" && !opts.previewTaskId) {
43
+ throw new UsageError("--mode refine requires --preview-task-id");
44
+ }
45
+ return {
46
+ mode,
47
+ prompt: opts.prompt,
48
+ preview_task_id: opts.previewTaskId,
49
+ // "auto" means "let the model decide" — the API's default, expressed by omission.
50
+ pose_mode: opts.poseMode === "auto" ? undefined : opts.poseMode,
51
+ enable_pbr: opts.enablePbr,
52
+ texture_prompt: opts.texturePrompt,
53
+ texture_resolution: opts.textureResolution,
54
+ remove_lighting: opts.removeLighting,
55
+ target_formats: opts.targetFormats,
56
+ };
57
+ },
58
+ toDefaults(opts) {
59
+ // Game-ready refine defaults: full PBR map set and 4k textures, priced
60
+ // the same as the API's bare defaults. The model is not a choice —
61
+ // the server default (latest = meshy-6) applies; override via --data.
62
+ // GLB-only output — omitting target_formats makes the API produce
63
+ // every format.
64
+ const refine = opts.mode === "refine";
65
+ return {
66
+ enable_pbr: refine ? true : undefined,
67
+ texture_resolution: refine ? "4k" : undefined,
68
+ remove_lighting: refine ? true : undefined,
69
+ target_formats: ["glb"],
70
+ };
71
+ },
72
+ },
73
+ endpointOf: (c) => c.textTo3d,
74
+ };
75
+ export const textTo3dCommand = buildResourceCommand(spec);
76
+ //# sourceMappingURL=text-to-3d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-to-3d.js","sourceRoot":"","sources":["../../src/cmd/text-to-3d.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * text-to-image — https://docs.meshy.ai/en/api/text-to-image
3
+ */
4
+ export declare const textToImageCommand: import("commander").Command;
5
+ //# sourceMappingURL=text-to-image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-to-image.d.ts","sourceRoot":"","sources":["../../src/cmd/text-to-image.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkEH,eAAO,MAAM,kBAAkB,6BAA6B,CAAC"}