@nodaro/sdk 2.54.0 → 2.55.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 (193) hide show
  1. package/dist/{chunk-BQAW4RX2.js → chunk-24JE54FQ.js} +24 -6
  2. package/dist/chunk-24JE54FQ.js.map +1 -0
  3. package/dist/{chunk-P6AM42UB.cjs → chunk-2KX5ZE6M.cjs} +2 -2
  4. package/dist/chunk-2KX5ZE6M.cjs.map +1 -0
  5. package/dist/{chunk-W5RMFTPA.cjs → chunk-57GANTLV.cjs} +2 -2
  6. package/dist/chunk-57GANTLV.cjs.map +1 -0
  7. package/dist/{chunk-HK5FSTKG.cjs → chunk-A3XA6UNM.cjs} +2 -2
  8. package/dist/chunk-A3XA6UNM.cjs.map +1 -0
  9. package/dist/{chunk-PBFODIFT.js → chunk-CBDUHYTR.js} +2 -2
  10. package/dist/chunk-CBDUHYTR.js.map +1 -0
  11. package/dist/{chunk-AN36M6HO.js → chunk-CV2ZZAUO.js} +4 -4
  12. package/dist/chunk-CV2ZZAUO.js.map +1 -0
  13. package/dist/{chunk-QGVOAPUI.js → chunk-GIQDM2MH.js} +2 -2
  14. package/dist/chunk-GIQDM2MH.js.map +1 -0
  15. package/dist/{chunk-HAVIVOLO.js → chunk-HFYNZ4SO.js} +2 -2
  16. package/dist/chunk-HFYNZ4SO.js.map +1 -0
  17. package/dist/{chunk-THLTFB6I.js → chunk-HJLSOT5C.js} +2 -2
  18. package/dist/chunk-HJLSOT5C.js.map +1 -0
  19. package/dist/{chunk-JOVJAKBT.cjs → chunk-HRV3VX22.cjs} +4 -4
  20. package/dist/chunk-HRV3VX22.cjs.map +1 -0
  21. package/dist/{chunk-HWSYNUSC.js → chunk-HUYI5G3D.js} +2 -2
  22. package/dist/chunk-HUYI5G3D.js.map +1 -0
  23. package/dist/{chunk-XZRBRXGJ.cjs → chunk-I6Q4UDS2.cjs} +18 -18
  24. package/dist/{chunk-XZRBRXGJ.cjs.map → chunk-I6Q4UDS2.cjs.map} +1 -1
  25. package/dist/{chunk-EZXFDCII.js → chunk-LUHAB7UJ.js} +10 -10
  26. package/dist/{chunk-EZXFDCII.js.map → chunk-LUHAB7UJ.js.map} +1 -1
  27. package/dist/{chunk-JVDUGVLX.cjs → chunk-MIXRL6I2.cjs} +2 -2
  28. package/dist/chunk-MIXRL6I2.cjs.map +1 -0
  29. package/dist/{chunk-DAONQZPI.cjs → chunk-PDX742CC.cjs} +2 -2
  30. package/dist/chunk-PDX742CC.cjs.map +1 -0
  31. package/dist/{chunk-22P4X3N5.cjs → chunk-XALPYUZI.cjs} +24 -6
  32. package/dist/chunk-XALPYUZI.cjs.map +1 -0
  33. package/dist/{chunk-I3MEBVLP.js → chunk-XZPSJG2X.js} +2 -2
  34. package/dist/chunk-XZPSJG2X.js.map +1 -0
  35. package/dist/{chunk-O74MSMFH.cjs → chunk-XZQ6Z4T6.cjs} +2 -2
  36. package/dist/chunk-XZQ6Z4T6.cjs.map +1 -0
  37. package/dist/{developer-apps-zSQXWmEG.d.ts → developer-apps-CMUzKpE9.d.cts} +2 -0
  38. package/dist/{developer-apps-zSQXWmEG.d.cts → developer-apps-CMUzKpE9.d.ts} +2 -0
  39. package/dist/entries/apps.d.cts +1 -1
  40. package/dist/entries/apps.d.ts +1 -1
  41. package/dist/entries/audio.d.cts +1 -1
  42. package/dist/entries/audio.d.ts +1 -1
  43. package/dist/entries/billing.d.cts +1 -1
  44. package/dist/entries/billing.d.ts +1 -1
  45. package/dist/entries/cast-swap.d.cts +1 -1
  46. package/dist/entries/cast-swap.d.ts +1 -1
  47. package/dist/entries/catalogs.d.cts +1 -1
  48. package/dist/entries/catalogs.d.ts +1 -1
  49. package/dist/entries/characters.cjs +10 -10
  50. package/dist/entries/characters.d.cts +11 -3
  51. package/dist/entries/characters.d.ts +11 -3
  52. package/dist/entries/characters.js +1 -1
  53. package/dist/entries/client.cjs +14 -14
  54. package/dist/entries/client.d.cts +5 -5
  55. package/dist/entries/client.d.ts +5 -5
  56. package/dist/entries/client.js +9 -9
  57. package/dist/entries/collections.d.cts +1 -1
  58. package/dist/entries/collections.d.ts +1 -1
  59. package/dist/entries/community.d.cts +1 -1
  60. package/dist/entries/community.d.ts +1 -1
  61. package/dist/entries/competitors.d.cts +1 -1
  62. package/dist/entries/competitors.d.ts +1 -1
  63. package/dist/entries/copilot.d.cts +1 -1
  64. package/dist/entries/copilot.d.ts +1 -1
  65. package/dist/entries/core.cjs +5 -5
  66. package/dist/entries/core.d.cts +1 -1
  67. package/dist/entries/core.d.ts +1 -1
  68. package/dist/entries/core.js +1 -1
  69. package/dist/entries/creatures.cjs +6 -6
  70. package/dist/entries/creatures.d.cts +11 -3
  71. package/dist/entries/creatures.d.ts +11 -3
  72. package/dist/entries/creatures.js +1 -1
  73. package/dist/entries/credits.d.cts +1 -1
  74. package/dist/entries/credits.d.ts +1 -1
  75. package/dist/entries/developer-apps.d.cts +1 -1
  76. package/dist/entries/developer-apps.d.ts +1 -1
  77. package/dist/entries/edit.d.cts +1 -1
  78. package/dist/entries/edit.d.ts +1 -1
  79. package/dist/entries/errors.d.cts +2 -2
  80. package/dist/entries/errors.d.ts +2 -2
  81. package/dist/entries/executions.d.cts +1 -1
  82. package/dist/entries/executions.d.ts +1 -1
  83. package/dist/entries/gallery.d.cts +1 -1
  84. package/dist/entries/gallery.d.ts +1 -1
  85. package/dist/entries/jobs.cjs +2 -2
  86. package/dist/entries/jobs.d.cts +7 -4
  87. package/dist/entries/jobs.d.ts +7 -4
  88. package/dist/entries/jobs.js +1 -1
  89. package/dist/entries/keepers.d.cts +1 -1
  90. package/dist/entries/keepers.d.ts +1 -1
  91. package/dist/entries/library.d.cts +1 -1
  92. package/dist/entries/library.d.ts +1 -1
  93. package/dist/entries/llm.d.cts +1 -1
  94. package/dist/entries/llm.d.ts +1 -1
  95. package/dist/entries/locations.cjs +5 -5
  96. package/dist/entries/locations.d.cts +11 -3
  97. package/dist/entries/locations.d.ts +11 -3
  98. package/dist/entries/locations.js +1 -1
  99. package/dist/entries/media.cjs +2 -2
  100. package/dist/entries/media.d.cts +34 -5
  101. package/dist/entries/media.d.ts +34 -5
  102. package/dist/entries/media.js +1 -1
  103. package/dist/entries/models.d.cts +1 -1
  104. package/dist/entries/models.d.ts +1 -1
  105. package/dist/entries/moodboards.d.cts +1 -1
  106. package/dist/entries/moodboards.d.ts +1 -1
  107. package/dist/entries/node-presets.d.cts +1 -1
  108. package/dist/entries/node-presets.d.ts +1 -1
  109. package/dist/entries/nodes.d.cts +3 -3
  110. package/dist/entries/nodes.d.ts +3 -3
  111. package/dist/entries/oauth.d.cts +1 -1
  112. package/dist/entries/oauth.d.ts +1 -1
  113. package/dist/entries/objects.cjs +6 -6
  114. package/dist/entries/objects.d.cts +11 -3
  115. package/dist/entries/objects.d.ts +11 -3
  116. package/dist/entries/objects.js +1 -1
  117. package/dist/entries/organizations.d.cts +1 -1
  118. package/dist/entries/organizations.d.ts +1 -1
  119. package/dist/entries/palettes.d.cts +1 -1
  120. package/dist/entries/palettes.d.ts +1 -1
  121. package/dist/entries/picker-catalogs.d.cts +1 -1
  122. package/dist/entries/picker-catalogs.d.ts +1 -1
  123. package/dist/entries/pipelines.d.cts +1 -1
  124. package/dist/entries/pipelines.d.ts +1 -1
  125. package/dist/entries/projects.d.cts +1 -1
  126. package/dist/entries/projects.d.ts +1 -1
  127. package/dist/entries/prompt-helper.d.cts +1 -1
  128. package/dist/entries/prompt-helper.d.ts +1 -1
  129. package/dist/entries/recast.d.cts +1 -1
  130. package/dist/entries/recast.d.ts +1 -1
  131. package/dist/entries/reduce.d.cts +1 -1
  132. package/dist/entries/reduce.d.ts +1 -1
  133. package/dist/entries/saved-posts.d.cts +1 -1
  134. package/dist/entries/saved-posts.d.ts +1 -1
  135. package/dist/entries/scene3d.d.cts +4 -4
  136. package/dist/entries/scene3d.d.ts +4 -4
  137. package/dist/entries/sessions.d.cts +1 -1
  138. package/dist/entries/sessions.d.ts +1 -1
  139. package/dist/entries/shots.d.cts +1 -1
  140. package/dist/entries/shots.d.ts +1 -1
  141. package/dist/entries/studio.d.cts +3 -3
  142. package/dist/entries/studio.d.ts +3 -3
  143. package/dist/entries/templates.d.cts +1 -1
  144. package/dist/entries/templates.d.ts +1 -1
  145. package/dist/entries/trash.d.cts +1 -1
  146. package/dist/entries/trash.d.ts +1 -1
  147. package/dist/entries/trends.cjs +2 -2
  148. package/dist/entries/trends.d.cts +37 -17
  149. package/dist/entries/trends.d.ts +37 -17
  150. package/dist/entries/trends.js +1 -1
  151. package/dist/entries/tutorials.d.cts +1 -1
  152. package/dist/entries/tutorials.d.ts +1 -1
  153. package/dist/entries/uploads.d.cts +1 -1
  154. package/dist/entries/uploads.d.ts +1 -1
  155. package/dist/entries/user-settings.d.cts +1 -1
  156. package/dist/entries/user-settings.d.ts +1 -1
  157. package/dist/entries/video-pro.d.cts +1 -1
  158. package/dist/entries/video-pro.d.ts +1 -1
  159. package/dist/entries/voices.d.cts +1 -1
  160. package/dist/entries/voices.d.ts +1 -1
  161. package/dist/entries/webhooks.d.cts +3 -3
  162. package/dist/entries/webhooks.d.ts +3 -3
  163. package/dist/entries/workflows.d.cts +1 -1
  164. package/dist/entries/workflows.d.ts +1 -1
  165. package/dist/entries/workspaces.d.cts +1 -1
  166. package/dist/entries/workspaces.d.ts +1 -1
  167. package/dist/index.cjs +41 -41
  168. package/dist/index.d.cts +5 -5
  169. package/dist/index.d.ts +5 -5
  170. package/dist/index.js +9 -9
  171. package/dist/{nodes-DuXF6XVv.d.ts → nodes-B74WaY9r.d.ts} +1 -1
  172. package/dist/{nodes-bY51Z1Os.d.cts → nodes-Ceetyyh0.d.cts} +1 -1
  173. package/dist/{studio-productions-r2-VZsKj.d.cts → studio-productions-CMiS827q.d.cts} +1 -1
  174. package/dist/{studio-productions-DtTE8mdl.d.ts → studio-productions-DkI51Z9M.d.ts} +1 -1
  175. package/dist/{webhooks-BJawEIz8.d.ts → webhooks-C2DZTK4n.d.ts} +1 -1
  176. package/dist/{webhooks-Dn_DtNTD.d.cts → webhooks-tg3VN39V.d.cts} +1 -1
  177. package/package.json +3 -3
  178. package/dist/chunk-22P4X3N5.cjs.map +0 -1
  179. package/dist/chunk-AN36M6HO.js.map +0 -1
  180. package/dist/chunk-BQAW4RX2.js.map +0 -1
  181. package/dist/chunk-DAONQZPI.cjs.map +0 -1
  182. package/dist/chunk-HAVIVOLO.js.map +0 -1
  183. package/dist/chunk-HK5FSTKG.cjs.map +0 -1
  184. package/dist/chunk-HWSYNUSC.js.map +0 -1
  185. package/dist/chunk-I3MEBVLP.js.map +0 -1
  186. package/dist/chunk-JOVJAKBT.cjs.map +0 -1
  187. package/dist/chunk-JVDUGVLX.cjs.map +0 -1
  188. package/dist/chunk-O74MSMFH.cjs.map +0 -1
  189. package/dist/chunk-P6AM42UB.cjs.map +0 -1
  190. package/dist/chunk-PBFODIFT.js.map +0 -1
  191. package/dist/chunk-QGVOAPUI.js.map +0 -1
  192. package/dist/chunk-THLTFB6I.js.map +0 -1
  193. package/dist/chunk-W5RMFTPA.cjs.map +0 -1
package/dist/index.cjs CHANGED
@@ -54,7 +54,7 @@ require('./chunk-IS26FJO7.cjs');
54
54
  require('./chunk-RQSGS7ZK.cjs');
55
55
  require('./chunk-43NO4SGC.cjs');
56
56
  require('./chunk-JOX5BJ6K.cjs');
57
- var chunkXZRBRXGJ_cjs = require('./chunk-XZRBRXGJ.cjs');
57
+ var chunkI6Q4UDS2_cjs = require('./chunk-I6Q4UDS2.cjs');
58
58
  var chunkKMNSPC72_cjs = require('./chunk-KMNSPC72.cjs');
59
59
  var chunkJTOEHQQJ_cjs = require('./chunk-JTOEHQQJ.cjs');
60
60
  var chunkUIDVH3GP_cjs = require('./chunk-UIDVH3GP.cjs');
@@ -70,7 +70,7 @@ var chunkMBFUMWI5_cjs = require('./chunk-MBFUMWI5.cjs');
70
70
  var chunkNKH2UFSD_cjs = require('./chunk-NKH2UFSD.cjs');
71
71
  var chunkUIBYZNDR_cjs = require('./chunk-UIBYZNDR.cjs');
72
72
  var chunkLTZKNAXM_cjs = require('./chunk-LTZKNAXM.cjs');
73
- var chunkDAONQZPI_cjs = require('./chunk-DAONQZPI.cjs');
73
+ var chunkPDX742CC_cjs = require('./chunk-PDX742CC.cjs');
74
74
  var chunkJ5LGGCAS_cjs = require('./chunk-J5LGGCAS.cjs');
75
75
  var chunkNBVARNVA_cjs = require('./chunk-NBVARNVA.cjs');
76
76
  var chunk7YHIFCJ4_cjs = require('./chunk-7YHIFCJ4.cjs');
@@ -79,18 +79,18 @@ var chunkLAWYFC4G_cjs = require('./chunk-LAWYFC4G.cjs');
79
79
  var chunkTCLNSVYA_cjs = require('./chunk-TCLNSVYA.cjs');
80
80
  var chunkKXEWTYS4_cjs = require('./chunk-KXEWTYS4.cjs');
81
81
  var chunkGB6C5OEZ_cjs = require('./chunk-GB6C5OEZ.cjs');
82
- var chunkJVDUGVLX_cjs = require('./chunk-JVDUGVLX.cjs');
83
- var chunk22P4X3N5_cjs = require('./chunk-22P4X3N5.cjs');
82
+ var chunkMIXRL6I2_cjs = require('./chunk-MIXRL6I2.cjs');
83
+ var chunkXALPYUZI_cjs = require('./chunk-XALPYUZI.cjs');
84
84
  var chunk7QOCWJKD_cjs = require('./chunk-7QOCWJKD.cjs');
85
85
  var chunkZCWKX4V6_cjs = require('./chunk-ZCWKX4V6.cjs');
86
86
  var chunkQ45PC4YD_cjs = require('./chunk-Q45PC4YD.cjs');
87
87
  var chunkVHTDOACT_cjs = require('./chunk-VHTDOACT.cjs');
88
88
  var chunkGVIFLUYZ_cjs = require('./chunk-GVIFLUYZ.cjs');
89
- var chunkW5RMFTPA_cjs = require('./chunk-W5RMFTPA.cjs');
89
+ var chunk57GANTLV_cjs = require('./chunk-57GANTLV.cjs');
90
90
  var chunkSF2CMKWA_cjs = require('./chunk-SF2CMKWA.cjs');
91
91
  var chunkSBV5MWEL_cjs = require('./chunk-SBV5MWEL.cjs');
92
92
  var chunkWUKIJJG2_cjs = require('./chunk-WUKIJJG2.cjs');
93
- var chunkP6AM42UB_cjs = require('./chunk-P6AM42UB.cjs');
93
+ var chunk2KX5ZE6M_cjs = require('./chunk-2KX5ZE6M.cjs');
94
94
  var chunkRR45WBME_cjs = require('./chunk-RR45WBME.cjs');
95
95
  var chunk2DZWWIJ4_cjs = require('./chunk-2DZWWIJ4.cjs');
96
96
  var chunkSS3B6PHT_cjs = require('./chunk-SS3B6PHT.cjs');
@@ -99,9 +99,9 @@ var chunk43FVH6LJ_cjs = require('./chunk-43FVH6LJ.cjs');
99
99
  var chunkYFS2LMG4_cjs = require('./chunk-YFS2LMG4.cjs');
100
100
  var chunkOSMKIRKI_cjs = require('./chunk-OSMKIRKI.cjs');
101
101
  require('./chunk-FRQJNGJS.cjs');
102
- var chunkJOVJAKBT_cjs = require('./chunk-JOVJAKBT.cjs');
102
+ var chunkHRV3VX22_cjs = require('./chunk-HRV3VX22.cjs');
103
103
  var chunkFM2KM5TY_cjs = require('./chunk-FM2KM5TY.cjs');
104
- var chunkHK5FSTKG_cjs = require('./chunk-HK5FSTKG.cjs');
104
+ var chunkA3XA6UNM_cjs = require('./chunk-A3XA6UNM.cjs');
105
105
  var chunk4BAHF762_cjs = require('./chunk-4BAHF762.cjs');
106
106
  var chunkA3S55XGF_cjs = require('./chunk-A3S55XGF.cjs');
107
107
  var chunkJOXZ4ZIF_cjs = require('./chunk-JOXZ4ZIF.cjs');
@@ -109,7 +109,7 @@ var chunkGA4LZZKQ_cjs = require('./chunk-GA4LZZKQ.cjs');
109
109
  var chunkTVPYDC5T_cjs = require('./chunk-TVPYDC5T.cjs');
110
110
  var chunk65VIIZEF_cjs = require('./chunk-65VIIZEF.cjs');
111
111
  var chunkBPWUWUZ3_cjs = require('./chunk-BPWUWUZ3.cjs');
112
- var chunkO74MSMFH_cjs = require('./chunk-O74MSMFH.cjs');
112
+ var chunkXZQ6Z4T6_cjs = require('./chunk-XZQ6Z4T6.cjs');
113
113
 
114
114
 
115
115
 
@@ -147,11 +147,11 @@ Object.defineProperty(exports, "unwrapEditPlanOutput", {
147
147
  });
148
148
  Object.defineProperty(exports, "NodaroClient", {
149
149
  enumerable: true,
150
- get: function () { return chunkXZRBRXGJ_cjs.NodaroClient; }
150
+ get: function () { return chunkI6Q4UDS2_cjs.NodaroClient; }
151
151
  });
152
152
  Object.defineProperty(exports, "createClient", {
153
153
  enumerable: true,
154
- get: function () { return chunkXZRBRXGJ_cjs.createClient; }
154
+ get: function () { return chunkI6Q4UDS2_cjs.createClient; }
155
155
  });
156
156
  Object.defineProperty(exports, "TutorialsResource", {
157
157
  enumerable: true,
@@ -227,7 +227,7 @@ Object.defineProperty(exports, "TrashResource", {
227
227
  });
228
228
  Object.defineProperty(exports, "TrendsResource", {
229
229
  enumerable: true,
230
- get: function () { return chunkDAONQZPI_cjs.TrendsResource; }
230
+ get: function () { return chunkPDX742CC_cjs.TrendsResource; }
231
231
  });
232
232
  Object.defineProperty(exports, "OrganizationsResource", {
233
233
  enumerable: true,
@@ -271,23 +271,23 @@ Object.defineProperty(exports, "ReduceResource", {
271
271
  });
272
272
  Object.defineProperty(exports, "LOCATION_ASSET_TYPES", {
273
273
  enumerable: true,
274
- get: function () { return chunkJVDUGVLX_cjs.LOCATION_ASSET_TYPES; }
274
+ get: function () { return chunkMIXRL6I2_cjs.LOCATION_ASSET_TYPES; }
275
275
  });
276
276
  Object.defineProperty(exports, "LOCATION_ATTACH_COLUMNS", {
277
277
  enumerable: true,
278
- get: function () { return chunkJVDUGVLX_cjs.LOCATION_ATTACH_COLUMNS; }
278
+ get: function () { return chunkMIXRL6I2_cjs.LOCATION_ATTACH_COLUMNS; }
279
279
  });
280
280
  Object.defineProperty(exports, "LocationsResource", {
281
281
  enumerable: true,
282
- get: function () { return chunkJVDUGVLX_cjs.LocationsResource; }
282
+ get: function () { return chunkMIXRL6I2_cjs.LocationsResource; }
283
283
  });
284
284
  Object.defineProperty(exports, "SURROUND_DIRECTIONS", {
285
285
  enumerable: true,
286
- get: function () { return chunkJVDUGVLX_cjs.SURROUND_DIRECTIONS; }
286
+ get: function () { return chunkMIXRL6I2_cjs.SURROUND_DIRECTIONS; }
287
287
  });
288
288
  Object.defineProperty(exports, "MediaResource", {
289
289
  enumerable: true,
290
- get: function () { return chunk22P4X3N5_cjs.MediaResource; }
290
+ get: function () { return chunkXALPYUZI_cjs.MediaResource; }
291
291
  });
292
292
  Object.defineProperty(exports, "ModelsResource", {
293
293
  enumerable: true,
@@ -319,23 +319,23 @@ Object.defineProperty(exports, "OAuthResource", {
319
319
  });
320
320
  Object.defineProperty(exports, "OBJECT_ASPECT_DEFAULTS", {
321
321
  enumerable: true,
322
- get: function () { return chunkW5RMFTPA_cjs.OBJECT_ASPECT_DEFAULTS; }
322
+ get: function () { return chunk57GANTLV_cjs.OBJECT_ASPECT_DEFAULTS; }
323
323
  });
324
324
  Object.defineProperty(exports, "OBJECT_ASPECT_OPTIONS", {
325
325
  enumerable: true,
326
- get: function () { return chunkW5RMFTPA_cjs.OBJECT_ASPECT_OPTIONS; }
326
+ get: function () { return chunk57GANTLV_cjs.OBJECT_ASPECT_OPTIONS; }
327
327
  });
328
328
  Object.defineProperty(exports, "OBJECT_ASSET_TYPES", {
329
329
  enumerable: true,
330
- get: function () { return chunkW5RMFTPA_cjs.OBJECT_ASSET_TYPES; }
330
+ get: function () { return chunk57GANTLV_cjs.OBJECT_ASSET_TYPES; }
331
331
  });
332
332
  Object.defineProperty(exports, "OBJECT_ATTACH_COLUMNS", {
333
333
  enumerable: true,
334
- get: function () { return chunkW5RMFTPA_cjs.OBJECT_ATTACH_COLUMNS; }
334
+ get: function () { return chunk57GANTLV_cjs.OBJECT_ATTACH_COLUMNS; }
335
335
  });
336
336
  Object.defineProperty(exports, "ObjectsResource", {
337
337
  enumerable: true,
338
- get: function () { return chunkW5RMFTPA_cjs.ObjectsResource; }
338
+ get: function () { return chunk57GANTLV_cjs.ObjectsResource; }
339
339
  });
340
340
  Object.defineProperty(exports, "CLIP_PACK_MAX_TARGET_SEC", {
341
341
  enumerable: true,
@@ -375,7 +375,7 @@ Object.defineProperty(exports, "GalleryResource", {
375
375
  });
376
376
  Object.defineProperty(exports, "JobsResource", {
377
377
  enumerable: true,
378
- get: function () { return chunkP6AM42UB_cjs.JobsResource; }
378
+ get: function () { return chunk2KX5ZE6M_cjs.JobsResource; }
379
379
  });
380
380
  Object.defineProperty(exports, "KEEPER_KINDS", {
381
381
  enumerable: true,
@@ -411,19 +411,19 @@ Object.defineProperty(exports, "CopilotResource", {
411
411
  });
412
412
  Object.defineProperty(exports, "CallbackAuth", {
413
413
  enumerable: true,
414
- get: function () { return chunkJOVJAKBT_cjs.CallbackAuth; }
414
+ get: function () { return chunkHRV3VX22_cjs.CallbackAuth; }
415
415
  });
416
416
  Object.defineProperty(exports, "NodaroClientCore", {
417
417
  enumerable: true,
418
- get: function () { return chunkJOVJAKBT_cjs.NodaroClientCore; }
418
+ get: function () { return chunkHRV3VX22_cjs.NodaroClientCore; }
419
419
  });
420
420
  Object.defineProperty(exports, "StaticTokenAuth", {
421
421
  enumerable: true,
422
- get: function () { return chunkJOVJAKBT_cjs.StaticTokenAuth; }
422
+ get: function () { return chunkHRV3VX22_cjs.StaticTokenAuth; }
423
423
  });
424
424
  Object.defineProperty(exports, "supabaseAuth", {
425
425
  enumerable: true,
426
- get: function () { return chunkJOVJAKBT_cjs.supabaseAuth; }
426
+ get: function () { return chunkHRV3VX22_cjs.supabaseAuth; }
427
427
  });
428
428
  Object.defineProperty(exports, "AlreadyRunningError", {
429
429
  enumerable: true,
@@ -519,23 +519,23 @@ Object.defineProperty(exports, "throwFromResponse", {
519
519
  });
520
520
  Object.defineProperty(exports, "CREATURE_ASPECT_DEFAULTS", {
521
521
  enumerable: true,
522
- get: function () { return chunkHK5FSTKG_cjs.OBJECT_ASPECT_DEFAULTS; }
522
+ get: function () { return chunkA3XA6UNM_cjs.OBJECT_ASPECT_DEFAULTS; }
523
523
  });
524
524
  Object.defineProperty(exports, "CREATURE_ASPECT_OPTIONS", {
525
525
  enumerable: true,
526
- get: function () { return chunkHK5FSTKG_cjs.OBJECT_ASPECT_OPTIONS; }
526
+ get: function () { return chunkA3XA6UNM_cjs.OBJECT_ASPECT_OPTIONS; }
527
527
  });
528
528
  Object.defineProperty(exports, "CREATURE_ASSET_TYPES", {
529
529
  enumerable: true,
530
- get: function () { return chunkHK5FSTKG_cjs.CREATURE_ASSET_TYPES; }
530
+ get: function () { return chunkA3XA6UNM_cjs.CREATURE_ASSET_TYPES; }
531
531
  });
532
532
  Object.defineProperty(exports, "CREATURE_ATTACH_COLUMNS", {
533
533
  enumerable: true,
534
- get: function () { return chunkHK5FSTKG_cjs.CREATURE_ATTACH_COLUMNS; }
534
+ get: function () { return chunkA3XA6UNM_cjs.CREATURE_ATTACH_COLUMNS; }
535
535
  });
536
536
  Object.defineProperty(exports, "CreaturesResource", {
537
537
  enumerable: true,
538
- get: function () { return chunkHK5FSTKG_cjs.CreaturesResource; }
538
+ get: function () { return chunkA3XA6UNM_cjs.CreaturesResource; }
539
539
  });
540
540
  Object.defineProperty(exports, "CreditsResource", {
541
541
  enumerable: true,
@@ -567,39 +567,39 @@ Object.defineProperty(exports, "CatalogsResource", {
567
567
  });
568
568
  Object.defineProperty(exports, "CHARACTER_ASPECT_DEFAULTS", {
569
569
  enumerable: true,
570
- get: function () { return chunkO74MSMFH_cjs.CHARACTER_ASPECT_DEFAULTS; }
570
+ get: function () { return chunkXZQ6Z4T6_cjs.CHARACTER_ASPECT_DEFAULTS; }
571
571
  });
572
572
  Object.defineProperty(exports, "CHARACTER_ASPECT_OPTIONS", {
573
573
  enumerable: true,
574
- get: function () { return chunkO74MSMFH_cjs.CHARACTER_ASPECT_OPTIONS; }
574
+ get: function () { return chunkXZQ6Z4T6_cjs.CHARACTER_ASPECT_OPTIONS; }
575
575
  });
576
576
  Object.defineProperty(exports, "CHARACTER_STYLES", {
577
577
  enumerable: true,
578
- get: function () { return chunkO74MSMFH_cjs.CHARACTER_STYLES; }
578
+ get: function () { return chunkXZQ6Z4T6_cjs.CHARACTER_STYLES; }
579
579
  });
580
580
  Object.defineProperty(exports, "CharactersResource", {
581
581
  enumerable: true,
582
- get: function () { return chunkO74MSMFH_cjs.CharactersResource; }
582
+ get: function () { return chunkXZQ6Z4T6_cjs.CharactersResource; }
583
583
  });
584
584
  Object.defineProperty(exports, "PEOPLE", {
585
585
  enumerable: true,
586
- get: function () { return chunkO74MSMFH_cjs.PEOPLE; }
586
+ get: function () { return chunkXZQ6Z4T6_cjs.PEOPLE; }
587
587
  });
588
588
  Object.defineProperty(exports, "PERSON_DIMENSION_LABELS", {
589
589
  enumerable: true,
590
- get: function () { return chunkO74MSMFH_cjs.PERSON_DIMENSION_LABELS; }
590
+ get: function () { return chunkXZQ6Z4T6_cjs.PERSON_DIMENSION_LABELS; }
591
591
  });
592
592
  Object.defineProperty(exports, "PERSON_DIMENSION_ORDER", {
593
593
  enumerable: true,
594
- get: function () { return chunkO74MSMFH_cjs.PERSON_DIMENSION_ORDER; }
594
+ get: function () { return chunkXZQ6Z4T6_cjs.PERSON_DIMENSION_ORDER; }
595
595
  });
596
596
  Object.defineProperty(exports, "buildPersonHints", {
597
597
  enumerable: true,
598
- get: function () { return chunkO74MSMFH_cjs.buildPersonHints; }
598
+ get: function () { return chunkXZQ6Z4T6_cjs.buildPersonHints; }
599
599
  });
600
600
  Object.defineProperty(exports, "buildPersonSeedPrompt", {
601
601
  enumerable: true,
602
- get: function () { return chunkO74MSMFH_cjs.buildPersonSeedPrompt; }
602
+ get: function () { return chunkXZQ6Z4T6_cjs.buildPersonSeedPrompt; }
603
603
  });
604
604
  //# sourceMappingURL=index.cjs.map
605
605
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.cts CHANGED
@@ -5,7 +5,7 @@ export { CastSwapEngine, CastSwapEngineLegacyId, CastSwapEstimate, CastSwapFaceM
5
5
  export { CatalogsListResponse, CatalogsResource, ProjectedCatalog, ProjectedCatalogDimension, ProjectedCatalogOption, ProjectedCatalogSection } from './entries/catalogs.cjs';
6
6
  export { ApprovePortraitResult, Character, CharacterDetail, CharacterTrainingState, CharacterTrainingStatus, CharacterUsage, CharactersResource, DuplicateCharacterInput, GenerateAssetInput, GenerateCharacterInput, GenerateCharacterResult, GenerateMotionInput, GetCharacterOptions, ListCharactersParams, ListCharactersResult, RecaptionResult, ReferencePhoto, ReferencePhotoKind, TrainCharacterInput, TrainCharacterRefusalCode, TrainCharacterResult, UpsertCharacterInput, UpsertCharacterResult, buildPersonSeedPrompt } from './entries/characters.cjs';
7
7
  export { NodaroClient, createClient } from './entries/client.cjs';
8
- export { A as Auth, C as CallbackAuth, a as ClientOptions, b as ConnectedApp, c as CreateDeveloperAppInput, d as CreateDeveloperAppResult, D as DeveloperApp, e as DeveloperAppKind, f as DeveloperAppScope, g as DeveloperAppStatus, h as DeveloperAppsResource, N as NodaroClientCore, R as RotateSecretResult, S as StaticTokenAuth, U as UpdateDeveloperAppInput, i as UserIdentity, s as supabaseAuth } from './developer-apps-zSQXWmEG.cjs';
8
+ export { A as Auth, C as CallbackAuth, a as ClientOptions, b as ConnectedApp, c as CreateDeveloperAppInput, d as CreateDeveloperAppResult, D as DeveloperApp, e as DeveloperAppKind, f as DeveloperAppScope, g as DeveloperAppStatus, h as DeveloperAppsResource, N as NodaroClientCore, R as RotateSecretResult, S as StaticTokenAuth, U as UpdateDeveloperAppInput, i as UserIdentity, s as supabaseAuth } from './developer-apps-CMUzKpE9.cjs';
9
9
  export { AddCollectionRecordInput, AddCollectionRecordResult, Collection, CollectionCaps, CollectionDigestFormat, CollectionExportFormat, CollectionFieldValue, CollectionLimits, CollectionMedia, CollectionMediaType, CollectionRecord, CollectionRecordSource, CollectionWriteOutcome, CreateCollectionInput, ListCollectionRecordsParams, ListCollectionRecordsResult, ListCollectionsResult, PROMPT_PREFIX_KEY, PROMPT_SUFFIX_KEY, PromptAffixFields, USE_CASE_NODE_TYPES, UpdateCollectionInput, UseCaseNodeType } from '@nodaro/shared/nodes';
10
10
  export { CollectionsResource } from './entries/collections.cjs';
11
11
  export { CommunityResource } from './entries/community.cjs';
@@ -24,7 +24,7 @@ export { CopyKeeperResult, KEEPER_KINDS, KeeperCatalogItem, KeeperCatalogPage, K
24
24
  export { LibraryAsset, LibraryResource, ListLibraryParams, ListLibraryResult } from './entries/library.cjs';
25
25
  export { LlmResource, LlmStructuredInput, LlmStructuredJobInput, LlmStructuredJobOutput, LlmStructuredResult } from './entries/llm.cjs';
26
26
  export { ApproveMainImageResult, CreateLocationInput, GenerateLocationAssetInput, GenerateLocationInput, GenerateLocationMotionInput, GenerateLocationResult, GenerateSurroundContinuationInput, ListLocationsParams, Location, LocationDetail, LocationReferencePhoto, LocationReferencePhotoKind, LocationsResource, RecaptionLocationResult, UpdateLocationInput, UpdateLocationResult } from './entries/locations.cjs';
27
- export { AddCaptionsInput, CaptionEntry, CaptionLookInput, CaptionSegmentInput, DownloadVideoProgress, MediaProcessInput, MediaProcessResult, MediaResource, OverlayPlacement, SplitMediaInput, SplitMediaOutput, VideoMetadata } from './entries/media.cjs';
27
+ export { AddCaptionsInput, CaptionEntry, CaptionLookInput, CaptionSegmentInput, DownloadVideoProgress, MediaDiscardResult, MediaProcessInput, MediaProcessResult, MediaResource, OverlayPlacement, SplitMediaInput, SplitMediaOutput, VideoMetadata } from './entries/media.cjs';
28
28
  export { GeminiOmniVoicePresetId, ImageAspectRatio, ImageEditProvider, ImageEditTargetResolution, ImageQuality, ImageRenderingSpeed, ImageResolution, ModifyImageProvider, TaskChainedEditProvider, TranscribeLane, TranscribeProvider } from '@nodaro/shared/models';
29
29
  export { ListModelsOptions, ModelFamilyGroup, ModelMaker, ModelSummary, ModelsListResult, ModelsResource } from './entries/models.cjs';
30
30
  export { CreateMoodboardInput, ListMoodboardsParams, MOODBOARD_DIRECTION_PREFIX, Moodboard, MoodboardImage, MoodboardPage, MoodboardsResource, UpdateMoodboardInput, moodboardDirectionId } from './entries/moodboards.cjs';
@@ -32,7 +32,7 @@ export { CreateNodePresetGroupInput, CreateNodePresetInput, FactoryPresetEntry,
32
32
  export { ConnectedReference, DescribedReference, GenericEdge, GenericNode } from '@nodaro/shared/types';
33
33
  export { VideoCharacterReference, VideoCharacterVoice } from '@nodaro/shared/video';
34
34
  export { AudioFxPreset, GenerateMaskOutput, GenerateMaskRequest, VideoDepthColormap, VideoDepthModelSize, VideoDepthProvider, VideoDepthResolution } from '@nodaro/shared/media';
35
- export { A as AssembleNarratedVideoParams, B as BatchJobOutcome, E as EditImageCommonParams, a as EditImageFromTaskParams, b as EditImageFromUrlParams, c as EditImageParams, d as EditScene3DParams, G as GenerateImageBatchGroup, e as GenerateImageBatchOutput, f as GenerateImageBatchResult, g as GenerateImageParams, h as GenerateMaskJobOutput, i as GenerateMaskParams, j as GenerateScene3DParams, k as GenerateVideoParams, l as GenerationSessionParams, I as ImageJobStarted, m as ImageToImageParams, J as JobOutputImage, N as NodeCategory, n as NodeCreditRate, o as NodeDescriptor, p as NodeInputField, q as NodeInputSchema, r as NodeJobOutput, s as NodeQuote, t as NodesResource, O as OutputType, P as Pro3DRenderJobOutput, u as Pro3DRenderParams, v as Pro3DRenderQuote, w as Pro3DRenderRunOptions, x as Pro3DRenderRunParams, Q as QuoteAdjustment, y as QuoteWarning, R as ReferenceCaptionParams, z as RenderScene3DParams, C as RetainedScene3DEditParams, D as RetainedScene3DEditResult, F as RunAndWaitOptions, H as RunManyResult, K as RunNodeAdjustment, L as RunNodeOptions, M as RunNodeResult, S as RunNodeWarning, T as SCENE3D_DELIVERY_ASSET_USAGE, U as Scene3DAuthoringEngine, V as Scene3DCapabilities, W as Scene3DDelivery, X as Scene3DDeliveryAsset, Y as Scene3DDeliveryAssetKind, Z as Scene3DJobOutput, _ as SocialSearchJobOutput, $ as SplitImageParams, a0 as SplitImageResult, a1 as SplitImageTile, a2 as StructuredReferenceParams, a3 as Subject, a4 as TextToSpeechParams, a5 as TextToVideoParams, a6 as VideoDepthParams, a7 as VideoToVideoParams, a8 as VideoUpscaleParams } from './nodes-bY51Z1Os.cjs';
35
+ export { A as AssembleNarratedVideoParams, B as BatchJobOutcome, E as EditImageCommonParams, a as EditImageFromTaskParams, b as EditImageFromUrlParams, c as EditImageParams, d as EditScene3DParams, G as GenerateImageBatchGroup, e as GenerateImageBatchOutput, f as GenerateImageBatchResult, g as GenerateImageParams, h as GenerateMaskJobOutput, i as GenerateMaskParams, j as GenerateScene3DParams, k as GenerateVideoParams, l as GenerationSessionParams, I as ImageJobStarted, m as ImageToImageParams, J as JobOutputImage, N as NodeCategory, n as NodeCreditRate, o as NodeDescriptor, p as NodeInputField, q as NodeInputSchema, r as NodeJobOutput, s as NodeQuote, t as NodesResource, O as OutputType, P as Pro3DRenderJobOutput, u as Pro3DRenderParams, v as Pro3DRenderQuote, w as Pro3DRenderRunOptions, x as Pro3DRenderRunParams, Q as QuoteAdjustment, y as QuoteWarning, R as ReferenceCaptionParams, z as RenderScene3DParams, C as RetainedScene3DEditParams, D as RetainedScene3DEditResult, F as RunAndWaitOptions, H as RunManyResult, K as RunNodeAdjustment, L as RunNodeOptions, M as RunNodeResult, S as RunNodeWarning, T as SCENE3D_DELIVERY_ASSET_USAGE, U as Scene3DAuthoringEngine, V as Scene3DCapabilities, W as Scene3DDelivery, X as Scene3DDeliveryAsset, Y as Scene3DDeliveryAssetKind, Z as Scene3DJobOutput, _ as SocialSearchJobOutput, $ as SplitImageParams, a0 as SplitImageResult, a1 as SplitImageTile, a2 as StructuredReferenceParams, a3 as Subject, a4 as TextToSpeechParams, a5 as TextToVideoParams, a6 as VideoDepthParams, a7 as VideoToVideoParams, a8 as VideoUpscaleParams } from './nodes-Ceetyyh0.cjs';
36
36
  export { TopazUpscaleFactor } from '@nodaro/shared/credits';
37
37
  export { CHARACTER_ASPECT_DEFAULTS, CHARACTER_ASPECT_OPTIONS, CHARACTER_STYLES, OBJECT_ASPECT_DEFAULTS as CREATURE_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS as CREATURE_ASPECT_OPTIONS, CREATURE_ATTACH_COLUMNS, CharacterAspectRatio, ObjectAspectRatio as CreatureAspectRatio, CreatureAttachColumn, EntityStyle, ImageToImageAttachColumn, LOCATION_ASSET_TYPES, LOCATION_ATTACH_COLUMNS, LocationAssetType, LocationAttachColumn, OBJECT_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS, OBJECT_ASSET_TYPES, OBJECT_ATTACH_COLUMNS, ObjectAspectRatio, ObjectAssetType, ObjectAttachColumn, SURROUND_DIRECTIONS, SurroundDirection } from '@nodaro/shared/entities';
38
38
  export { AccessTokenResponse, ExchangeCodeInput, OAuthAppInfo, OAuthResource } from './entries/oauth.cjs';
@@ -61,13 +61,13 @@ export { UploadJsonResult, UploadResult, UploadsResource } from './entries/uploa
61
61
  export { NodeDoubleClickAction, UserMcpPreferences, UserSettings, UserSettingsLocale, UserSettingsPatch, UserSettingsResource, UserSettingsSaved, UserTextTemplate, VariableDisplayMode } from './entries/user-settings.cjs';
62
62
  export { ContinueVideoProResult, StopVideoProResult, VideoProResource } from './entries/video-pro.cjs';
63
63
  export { DubbingInput, VcpAnalysis, VcpAnalysisSpeaker, VcpAnalyzeInput, VcpExportInput, VcpExportTrack, VoiceChangerProInput, VoiceChangerProVoice, VoiceDesignInput, VoiceRemixInput, VoicesResource } from './entries/voices.cjs';
64
- export { C as CreateWebhookEndpointInput, a as CreatedWebhookEndpoint, J as JobWebhookEvent, L as ListWebhookDeliveriesParams, P as PingWebhookEvent, R as RotateWebhookSecretInput, b as RotatedWebhookSecret, U as UpdateWebhookEndpointInput, W as WebhookDelivery, c as WebhookDeliveryPage, d as WebhookDeliveryStatus, e as WebhookEndpoint, f as WebhookEvent, g as WebhookEventType, h as WebhookJobEvent, i as WebhooksResource } from './webhooks-Dn_DtNTD.cjs';
64
+ export { C as CreateWebhookEndpointInput, a as CreatedWebhookEndpoint, J as JobWebhookEvent, L as ListWebhookDeliveriesParams, P as PingWebhookEvent, R as RotateWebhookSecretInput, b as RotatedWebhookSecret, U as UpdateWebhookEndpointInput, W as WebhookDelivery, c as WebhookDeliveryPage, d as WebhookDeliveryStatus, e as WebhookEndpoint, f as WebhookEvent, g as WebhookEventType, h as WebhookJobEvent, i as WebhooksResource } from './webhooks-tg3VN39V.cjs';
65
65
  export { VerifyWebhookSignatureOptions, WebhookSignatureError, WebhookSignatureErrorCode, verifyWebhookSignature } from './entries/webhooks.cjs';
66
66
  export { ExecutionOutcome, NodeExecutionStatus, NodeSkipReason, OUTPUT_BEARING_NODE_STATUSES, ReduceMeta, ReduceStrategyId, WorkflowExport, WorkflowExportCharacter, WorkflowExportLocation, WorkflowExportObject, nodeStateMayCarryOutput } from '@nodaro/shared/workflow';
67
67
  export { AddCollaboratorInput, Collaborator, CreateWorkflowInput, DroppedCollaborator, ListMcpConversationsParams, ListWorkflowsParams, McpConversation, McpConversationList, RenderFinalParams, RenderFinalQuote, RunWorkflowOptions, RunWorkflowParams, RunWorkflowResult, SharedWorkflow, UpdateWorkflowInput, Workflow, WorkflowsResource } from './entries/workflows.cjs';
68
68
  export { CreateWorkspaceInput, WorkspacesResource } from './entries/workspaces.cjs';
69
69
  export { AnimateSubGate, ChatEnabledStage, PipelineInput, PipelineMode, PipelineStageName, PipelineStatus, ProposedChange, SharedVoice, SubGateName, Voice, VoiceClone, VoiceLibraryParams, VoiceLibraryResponse } from '@nodaro/shared/pipeline';
70
- export { G as GetProductionOptions, L as ListStudioProductionsOptions, S as StudioClientRequestId, a as StudioCloneRequest, b as StudioCreateProductionRequest, c as StudioDescribeRequest, d as StudioExportPlanOptions, e as StudioExportPlanResponse, f as StudioExportStep, g as StudioFrameRequest, h as StudioGenerateEstimate, i as StudioGenerateOptions, j as StudioGenerateRequest, k as StudioGenerateResponse, l as StudioGenerateResult, m as StudioImportSummary, n as StudioJobStartedResponse, o as StudioListProductionsResponse, p as StudioMediaResponse, q as StudioMusicRequest, r as StudioOpClass, s as StudioOpsDryRunReceipt, t as StudioOpsDryRunResponse, u as StudioOpsImpact, v as StudioOpsReceipt, w as StudioOpsRequest, x as StudioOpsResponse, y as StudioOpsText, z as StudioPlanIssue, A as StudioProduction, B as StudioProductionDetail, C as StudioProductionResponse, D as StudioProductionsResource, E as StudioReconcileResponse, F as StudioRevoiceRequest, H as StudioSkillResponse, I as StudioValidatePlanResponse, J as StudioVideoLane, K as StudioVoiceRequest, M as isStudioGenerateEstimate } from './studio-productions-r2-VZsKj.cjs';
70
+ export { G as GetProductionOptions, L as ListStudioProductionsOptions, S as StudioClientRequestId, a as StudioCloneRequest, b as StudioCreateProductionRequest, c as StudioDescribeRequest, d as StudioExportPlanOptions, e as StudioExportPlanResponse, f as StudioExportStep, g as StudioFrameRequest, h as StudioGenerateEstimate, i as StudioGenerateOptions, j as StudioGenerateRequest, k as StudioGenerateResponse, l as StudioGenerateResult, m as StudioImportSummary, n as StudioJobStartedResponse, o as StudioListProductionsResponse, p as StudioMediaResponse, q as StudioMusicRequest, r as StudioOpClass, s as StudioOpsDryRunReceipt, t as StudioOpsDryRunResponse, u as StudioOpsImpact, v as StudioOpsReceipt, w as StudioOpsRequest, x as StudioOpsResponse, y as StudioOpsText, z as StudioPlanIssue, A as StudioProduction, B as StudioProductionDetail, C as StudioProductionResponse, D as StudioProductionsResource, E as StudioReconcileResponse, F as StudioRevoiceRequest, H as StudioSkillResponse, I as StudioValidatePlanResponse, J as StudioVideoLane, K as StudioVoiceRequest, M as isStudioGenerateEstimate } from './studio-productions-CMiS827q.cjs';
71
71
  export { PEOPLE, PERSON_DIMENSION_LABELS, PERSON_DIMENSION_ORDER, PersonValue, buildPersonHints } from '@nodaro/prompts/person';
72
72
  import '@nodaro/shared/captions';
73
73
  import '@nodaro/prompts/presets';
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export { CastSwapEngine, CastSwapEngineLegacyId, CastSwapEstimate, CastSwapFaceM
5
5
  export { CatalogsListResponse, CatalogsResource, ProjectedCatalog, ProjectedCatalogDimension, ProjectedCatalogOption, ProjectedCatalogSection } from './entries/catalogs.js';
6
6
  export { ApprovePortraitResult, Character, CharacterDetail, CharacterTrainingState, CharacterTrainingStatus, CharacterUsage, CharactersResource, DuplicateCharacterInput, GenerateAssetInput, GenerateCharacterInput, GenerateCharacterResult, GenerateMotionInput, GetCharacterOptions, ListCharactersParams, ListCharactersResult, RecaptionResult, ReferencePhoto, ReferencePhotoKind, TrainCharacterInput, TrainCharacterRefusalCode, TrainCharacterResult, UpsertCharacterInput, UpsertCharacterResult, buildPersonSeedPrompt } from './entries/characters.js';
7
7
  export { NodaroClient, createClient } from './entries/client.js';
8
- export { A as Auth, C as CallbackAuth, a as ClientOptions, b as ConnectedApp, c as CreateDeveloperAppInput, d as CreateDeveloperAppResult, D as DeveloperApp, e as DeveloperAppKind, f as DeveloperAppScope, g as DeveloperAppStatus, h as DeveloperAppsResource, N as NodaroClientCore, R as RotateSecretResult, S as StaticTokenAuth, U as UpdateDeveloperAppInput, i as UserIdentity, s as supabaseAuth } from './developer-apps-zSQXWmEG.js';
8
+ export { A as Auth, C as CallbackAuth, a as ClientOptions, b as ConnectedApp, c as CreateDeveloperAppInput, d as CreateDeveloperAppResult, D as DeveloperApp, e as DeveloperAppKind, f as DeveloperAppScope, g as DeveloperAppStatus, h as DeveloperAppsResource, N as NodaroClientCore, R as RotateSecretResult, S as StaticTokenAuth, U as UpdateDeveloperAppInput, i as UserIdentity, s as supabaseAuth } from './developer-apps-CMUzKpE9.js';
9
9
  export { AddCollectionRecordInput, AddCollectionRecordResult, Collection, CollectionCaps, CollectionDigestFormat, CollectionExportFormat, CollectionFieldValue, CollectionLimits, CollectionMedia, CollectionMediaType, CollectionRecord, CollectionRecordSource, CollectionWriteOutcome, CreateCollectionInput, ListCollectionRecordsParams, ListCollectionRecordsResult, ListCollectionsResult, PROMPT_PREFIX_KEY, PROMPT_SUFFIX_KEY, PromptAffixFields, USE_CASE_NODE_TYPES, UpdateCollectionInput, UseCaseNodeType } from '@nodaro/shared/nodes';
10
10
  export { CollectionsResource } from './entries/collections.js';
11
11
  export { CommunityResource } from './entries/community.js';
@@ -24,7 +24,7 @@ export { CopyKeeperResult, KEEPER_KINDS, KeeperCatalogItem, KeeperCatalogPage, K
24
24
  export { LibraryAsset, LibraryResource, ListLibraryParams, ListLibraryResult } from './entries/library.js';
25
25
  export { LlmResource, LlmStructuredInput, LlmStructuredJobInput, LlmStructuredJobOutput, LlmStructuredResult } from './entries/llm.js';
26
26
  export { ApproveMainImageResult, CreateLocationInput, GenerateLocationAssetInput, GenerateLocationInput, GenerateLocationMotionInput, GenerateLocationResult, GenerateSurroundContinuationInput, ListLocationsParams, Location, LocationDetail, LocationReferencePhoto, LocationReferencePhotoKind, LocationsResource, RecaptionLocationResult, UpdateLocationInput, UpdateLocationResult } from './entries/locations.js';
27
- export { AddCaptionsInput, CaptionEntry, CaptionLookInput, CaptionSegmentInput, DownloadVideoProgress, MediaProcessInput, MediaProcessResult, MediaResource, OverlayPlacement, SplitMediaInput, SplitMediaOutput, VideoMetadata } from './entries/media.js';
27
+ export { AddCaptionsInput, CaptionEntry, CaptionLookInput, CaptionSegmentInput, DownloadVideoProgress, MediaDiscardResult, MediaProcessInput, MediaProcessResult, MediaResource, OverlayPlacement, SplitMediaInput, SplitMediaOutput, VideoMetadata } from './entries/media.js';
28
28
  export { GeminiOmniVoicePresetId, ImageAspectRatio, ImageEditProvider, ImageEditTargetResolution, ImageQuality, ImageRenderingSpeed, ImageResolution, ModifyImageProvider, TaskChainedEditProvider, TranscribeLane, TranscribeProvider } from '@nodaro/shared/models';
29
29
  export { ListModelsOptions, ModelFamilyGroup, ModelMaker, ModelSummary, ModelsListResult, ModelsResource } from './entries/models.js';
30
30
  export { CreateMoodboardInput, ListMoodboardsParams, MOODBOARD_DIRECTION_PREFIX, Moodboard, MoodboardImage, MoodboardPage, MoodboardsResource, UpdateMoodboardInput, moodboardDirectionId } from './entries/moodboards.js';
@@ -32,7 +32,7 @@ export { CreateNodePresetGroupInput, CreateNodePresetInput, FactoryPresetEntry,
32
32
  export { ConnectedReference, DescribedReference, GenericEdge, GenericNode } from '@nodaro/shared/types';
33
33
  export { VideoCharacterReference, VideoCharacterVoice } from '@nodaro/shared/video';
34
34
  export { AudioFxPreset, GenerateMaskOutput, GenerateMaskRequest, VideoDepthColormap, VideoDepthModelSize, VideoDepthProvider, VideoDepthResolution } from '@nodaro/shared/media';
35
- export { A as AssembleNarratedVideoParams, B as BatchJobOutcome, E as EditImageCommonParams, a as EditImageFromTaskParams, b as EditImageFromUrlParams, c as EditImageParams, d as EditScene3DParams, G as GenerateImageBatchGroup, e as GenerateImageBatchOutput, f as GenerateImageBatchResult, g as GenerateImageParams, h as GenerateMaskJobOutput, i as GenerateMaskParams, j as GenerateScene3DParams, k as GenerateVideoParams, l as GenerationSessionParams, I as ImageJobStarted, m as ImageToImageParams, J as JobOutputImage, N as NodeCategory, n as NodeCreditRate, o as NodeDescriptor, p as NodeInputField, q as NodeInputSchema, r as NodeJobOutput, s as NodeQuote, t as NodesResource, O as OutputType, P as Pro3DRenderJobOutput, u as Pro3DRenderParams, v as Pro3DRenderQuote, w as Pro3DRenderRunOptions, x as Pro3DRenderRunParams, Q as QuoteAdjustment, y as QuoteWarning, R as ReferenceCaptionParams, z as RenderScene3DParams, C as RetainedScene3DEditParams, D as RetainedScene3DEditResult, F as RunAndWaitOptions, H as RunManyResult, K as RunNodeAdjustment, L as RunNodeOptions, M as RunNodeResult, S as RunNodeWarning, T as SCENE3D_DELIVERY_ASSET_USAGE, U as Scene3DAuthoringEngine, V as Scene3DCapabilities, W as Scene3DDelivery, X as Scene3DDeliveryAsset, Y as Scene3DDeliveryAssetKind, Z as Scene3DJobOutput, _ as SocialSearchJobOutput, $ as SplitImageParams, a0 as SplitImageResult, a1 as SplitImageTile, a2 as StructuredReferenceParams, a3 as Subject, a4 as TextToSpeechParams, a5 as TextToVideoParams, a6 as VideoDepthParams, a7 as VideoToVideoParams, a8 as VideoUpscaleParams } from './nodes-DuXF6XVv.js';
35
+ export { A as AssembleNarratedVideoParams, B as BatchJobOutcome, E as EditImageCommonParams, a as EditImageFromTaskParams, b as EditImageFromUrlParams, c as EditImageParams, d as EditScene3DParams, G as GenerateImageBatchGroup, e as GenerateImageBatchOutput, f as GenerateImageBatchResult, g as GenerateImageParams, h as GenerateMaskJobOutput, i as GenerateMaskParams, j as GenerateScene3DParams, k as GenerateVideoParams, l as GenerationSessionParams, I as ImageJobStarted, m as ImageToImageParams, J as JobOutputImage, N as NodeCategory, n as NodeCreditRate, o as NodeDescriptor, p as NodeInputField, q as NodeInputSchema, r as NodeJobOutput, s as NodeQuote, t as NodesResource, O as OutputType, P as Pro3DRenderJobOutput, u as Pro3DRenderParams, v as Pro3DRenderQuote, w as Pro3DRenderRunOptions, x as Pro3DRenderRunParams, Q as QuoteAdjustment, y as QuoteWarning, R as ReferenceCaptionParams, z as RenderScene3DParams, C as RetainedScene3DEditParams, D as RetainedScene3DEditResult, F as RunAndWaitOptions, H as RunManyResult, K as RunNodeAdjustment, L as RunNodeOptions, M as RunNodeResult, S as RunNodeWarning, T as SCENE3D_DELIVERY_ASSET_USAGE, U as Scene3DAuthoringEngine, V as Scene3DCapabilities, W as Scene3DDelivery, X as Scene3DDeliveryAsset, Y as Scene3DDeliveryAssetKind, Z as Scene3DJobOutput, _ as SocialSearchJobOutput, $ as SplitImageParams, a0 as SplitImageResult, a1 as SplitImageTile, a2 as StructuredReferenceParams, a3 as Subject, a4 as TextToSpeechParams, a5 as TextToVideoParams, a6 as VideoDepthParams, a7 as VideoToVideoParams, a8 as VideoUpscaleParams } from './nodes-B74WaY9r.js';
36
36
  export { TopazUpscaleFactor } from '@nodaro/shared/credits';
37
37
  export { CHARACTER_ASPECT_DEFAULTS, CHARACTER_ASPECT_OPTIONS, CHARACTER_STYLES, OBJECT_ASPECT_DEFAULTS as CREATURE_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS as CREATURE_ASPECT_OPTIONS, CREATURE_ATTACH_COLUMNS, CharacterAspectRatio, ObjectAspectRatio as CreatureAspectRatio, CreatureAttachColumn, EntityStyle, ImageToImageAttachColumn, LOCATION_ASSET_TYPES, LOCATION_ATTACH_COLUMNS, LocationAssetType, LocationAttachColumn, OBJECT_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS, OBJECT_ASSET_TYPES, OBJECT_ATTACH_COLUMNS, ObjectAspectRatio, ObjectAssetType, ObjectAttachColumn, SURROUND_DIRECTIONS, SurroundDirection } from '@nodaro/shared/entities';
38
38
  export { AccessTokenResponse, ExchangeCodeInput, OAuthAppInfo, OAuthResource } from './entries/oauth.js';
@@ -61,13 +61,13 @@ export { UploadJsonResult, UploadResult, UploadsResource } from './entries/uploa
61
61
  export { NodeDoubleClickAction, UserMcpPreferences, UserSettings, UserSettingsLocale, UserSettingsPatch, UserSettingsResource, UserSettingsSaved, UserTextTemplate, VariableDisplayMode } from './entries/user-settings.js';
62
62
  export { ContinueVideoProResult, StopVideoProResult, VideoProResource } from './entries/video-pro.js';
63
63
  export { DubbingInput, VcpAnalysis, VcpAnalysisSpeaker, VcpAnalyzeInput, VcpExportInput, VcpExportTrack, VoiceChangerProInput, VoiceChangerProVoice, VoiceDesignInput, VoiceRemixInput, VoicesResource } from './entries/voices.js';
64
- export { C as CreateWebhookEndpointInput, a as CreatedWebhookEndpoint, J as JobWebhookEvent, L as ListWebhookDeliveriesParams, P as PingWebhookEvent, R as RotateWebhookSecretInput, b as RotatedWebhookSecret, U as UpdateWebhookEndpointInput, W as WebhookDelivery, c as WebhookDeliveryPage, d as WebhookDeliveryStatus, e as WebhookEndpoint, f as WebhookEvent, g as WebhookEventType, h as WebhookJobEvent, i as WebhooksResource } from './webhooks-BJawEIz8.js';
64
+ export { C as CreateWebhookEndpointInput, a as CreatedWebhookEndpoint, J as JobWebhookEvent, L as ListWebhookDeliveriesParams, P as PingWebhookEvent, R as RotateWebhookSecretInput, b as RotatedWebhookSecret, U as UpdateWebhookEndpointInput, W as WebhookDelivery, c as WebhookDeliveryPage, d as WebhookDeliveryStatus, e as WebhookEndpoint, f as WebhookEvent, g as WebhookEventType, h as WebhookJobEvent, i as WebhooksResource } from './webhooks-C2DZTK4n.js';
65
65
  export { VerifyWebhookSignatureOptions, WebhookSignatureError, WebhookSignatureErrorCode, verifyWebhookSignature } from './entries/webhooks.js';
66
66
  export { ExecutionOutcome, NodeExecutionStatus, NodeSkipReason, OUTPUT_BEARING_NODE_STATUSES, ReduceMeta, ReduceStrategyId, WorkflowExport, WorkflowExportCharacter, WorkflowExportLocation, WorkflowExportObject, nodeStateMayCarryOutput } from '@nodaro/shared/workflow';
67
67
  export { AddCollaboratorInput, Collaborator, CreateWorkflowInput, DroppedCollaborator, ListMcpConversationsParams, ListWorkflowsParams, McpConversation, McpConversationList, RenderFinalParams, RenderFinalQuote, RunWorkflowOptions, RunWorkflowParams, RunWorkflowResult, SharedWorkflow, UpdateWorkflowInput, Workflow, WorkflowsResource } from './entries/workflows.js';
68
68
  export { CreateWorkspaceInput, WorkspacesResource } from './entries/workspaces.js';
69
69
  export { AnimateSubGate, ChatEnabledStage, PipelineInput, PipelineMode, PipelineStageName, PipelineStatus, ProposedChange, SharedVoice, SubGateName, Voice, VoiceClone, VoiceLibraryParams, VoiceLibraryResponse } from '@nodaro/shared/pipeline';
70
- export { G as GetProductionOptions, L as ListStudioProductionsOptions, S as StudioClientRequestId, a as StudioCloneRequest, b as StudioCreateProductionRequest, c as StudioDescribeRequest, d as StudioExportPlanOptions, e as StudioExportPlanResponse, f as StudioExportStep, g as StudioFrameRequest, h as StudioGenerateEstimate, i as StudioGenerateOptions, j as StudioGenerateRequest, k as StudioGenerateResponse, l as StudioGenerateResult, m as StudioImportSummary, n as StudioJobStartedResponse, o as StudioListProductionsResponse, p as StudioMediaResponse, q as StudioMusicRequest, r as StudioOpClass, s as StudioOpsDryRunReceipt, t as StudioOpsDryRunResponse, u as StudioOpsImpact, v as StudioOpsReceipt, w as StudioOpsRequest, x as StudioOpsResponse, y as StudioOpsText, z as StudioPlanIssue, A as StudioProduction, B as StudioProductionDetail, C as StudioProductionResponse, D as StudioProductionsResource, E as StudioReconcileResponse, F as StudioRevoiceRequest, H as StudioSkillResponse, I as StudioValidatePlanResponse, J as StudioVideoLane, K as StudioVoiceRequest, M as isStudioGenerateEstimate } from './studio-productions-DtTE8mdl.js';
70
+ export { G as GetProductionOptions, L as ListStudioProductionsOptions, S as StudioClientRequestId, a as StudioCloneRequest, b as StudioCreateProductionRequest, c as StudioDescribeRequest, d as StudioExportPlanOptions, e as StudioExportPlanResponse, f as StudioExportStep, g as StudioFrameRequest, h as StudioGenerateEstimate, i as StudioGenerateOptions, j as StudioGenerateRequest, k as StudioGenerateResponse, l as StudioGenerateResult, m as StudioImportSummary, n as StudioJobStartedResponse, o as StudioListProductionsResponse, p as StudioMediaResponse, q as StudioMusicRequest, r as StudioOpClass, s as StudioOpsDryRunReceipt, t as StudioOpsDryRunResponse, u as StudioOpsImpact, v as StudioOpsReceipt, w as StudioOpsRequest, x as StudioOpsResponse, y as StudioOpsText, z as StudioPlanIssue, A as StudioProduction, B as StudioProductionDetail, C as StudioProductionResponse, D as StudioProductionsResource, E as StudioReconcileResponse, F as StudioRevoiceRequest, H as StudioSkillResponse, I as StudioValidatePlanResponse, J as StudioVideoLane, K as StudioVoiceRequest, M as isStudioGenerateEstimate } from './studio-productions-DkI51Z9M.js';
71
71
  export { PEOPLE, PERSON_DIMENSION_LABELS, PERSON_DIMENSION_ORDER, PersonValue, buildPersonHints } from '@nodaro/prompts/person';
72
72
  import '@nodaro/shared/captions';
73
73
  import '@nodaro/prompts/presets';
package/dist/index.js CHANGED
@@ -52,7 +52,7 @@ import './chunk-M6Y5TOYE.js';
52
52
  import './chunk-KARJ7P7Y.js';
53
53
  import './chunk-SUCHGNYT.js';
54
54
  import './chunk-SLPD47SR.js';
55
- export { NodaroClient, createClient } from './chunk-EZXFDCII.js';
55
+ export { NodaroClient, createClient } from './chunk-LUHAB7UJ.js';
56
56
  export { TutorialsResource } from './chunk-HPXE3NZW.js';
57
57
  export { UploadsResource } from './chunk-WY4QRJZW.js';
58
58
  export { UserSettingsResource } from './chunk-LR5TGCJP.js';
@@ -68,7 +68,7 @@ export { ShotsResource } from './chunk-WVFAQBS7.js';
68
68
  export { StudioProductionsResource, StudioResource, isStudioGenerateEstimate } from './chunk-AUKHMT53.js';
69
69
  export { TemplatesResource } from './chunk-M7VSFZMV.js';
70
70
  export { TrashResource } from './chunk-2SQ7V6EX.js';
71
- export { TrendsResource } from './chunk-HAVIVOLO.js';
71
+ export { TrendsResource } from './chunk-HFYNZ4SO.js';
72
72
  export { OrganizationsResource } from './chunk-ALSLZG3U.js';
73
73
  export { PALETTE_DIRECTION_PREFIX, PalettesResource, paletteDirectionId } from './chunk-WEQWU2IC.js';
74
74
  export { PickerCatalogsResource } from './chunk-KFZOJBI5.js';
@@ -77,18 +77,18 @@ export { ProjectsResource } from './chunk-H7VQTG4M.js';
77
77
  export { PromptHelperResource } from './chunk-OIPPTBW4.js';
78
78
  export { RecastResource } from './chunk-AJVSMNPZ.js';
79
79
  export { ReduceResource } from './chunk-IHKIYVZQ.js';
80
- export { LOCATION_ASSET_TYPES, LOCATION_ATTACH_COLUMNS, LocationsResource, SURROUND_DIRECTIONS } from './chunk-I3MEBVLP.js';
81
- export { MediaResource } from './chunk-BQAW4RX2.js';
80
+ export { LOCATION_ASSET_TYPES, LOCATION_ATTACH_COLUMNS, LocationsResource, SURROUND_DIRECTIONS } from './chunk-XZPSJG2X.js';
81
+ export { MediaResource } from './chunk-24JE54FQ.js';
82
82
  export { ModelsResource } from './chunk-Y6V6CBY5.js';
83
83
  export { MOODBOARD_DIRECTION_PREFIX, MoodboardsResource, moodboardDirectionId } from './chunk-YVU2M7MI.js';
84
84
  export { PresetsResource } from './chunk-AEUPH7EE.js';
85
85
  export { NodesResource } from './chunk-47ULSVO2.js';
86
86
  export { OAuthResource } from './chunk-Z7LGWNI7.js';
87
- export { OBJECT_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS, OBJECT_ASSET_TYPES, OBJECT_ATTACH_COLUMNS, ObjectsResource } from './chunk-QGVOAPUI.js';
87
+ export { OBJECT_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS, OBJECT_ASSET_TYPES, OBJECT_ATTACH_COLUMNS, ObjectsResource } from './chunk-GIQDM2MH.js';
88
88
  export { CLIP_PACK_MAX_TARGET_SEC, CLIP_PACK_MIN_TARGET_SEC, EditResource, TRAILER_FORMATS, USE_CASE_NODE_TYPES } from './chunk-RBX3QTKB.js';
89
89
  export { ExecutionsResource, OUTPUT_BEARING_NODE_STATUSES, nodeStateMayCarryOutput } from './chunk-Z3ZKFI2M.js';
90
90
  export { GalleryResource } from './chunk-JDEZHITT.js';
91
- export { JobsResource } from './chunk-THLTFB6I.js';
91
+ export { JobsResource } from './chunk-HJLSOT5C.js';
92
92
  export { KEEPER_KINDS, KeepersResource } from './chunk-MQWZFWHE.js';
93
93
  export { LibraryResource } from './chunk-P6E4QDJN.js';
94
94
  export { LlmResource } from './chunk-E37CVHWW.js';
@@ -97,9 +97,9 @@ export { CommunityResource } from './chunk-SFB4YLCS.js';
97
97
  export { CompetitorsResource } from './chunk-BU5A6K4C.js';
98
98
  export { CopilotResource } from './chunk-D2ILCSOQ.js';
99
99
  import './chunk-7CUWAVWB.js';
100
- export { CallbackAuth, NodaroClientCore, StaticTokenAuth, supabaseAuth } from './chunk-AN36M6HO.js';
100
+ export { CallbackAuth, NodaroClientCore, StaticTokenAuth, supabaseAuth } from './chunk-CV2ZZAUO.js';
101
101
  export { AlreadyRunningError, AppRunVersionChangedError, CREDIT_CAP_CODES, ContinuationPreviewPendingError, ContinuationRefusedError, CreditCapExceededError, ForbiddenError, InsufficientCreditsError, JobAbortedError, JobBlockedError, JobFailedError, JobHeldError, JobTimeoutError, NodaroError, NotFoundError, RateLimitedError, StorageExceededError, StudioOpError, StudioPreviewAppliedError, StudioPreviewUnavailable, UnauthorizedError, WorkflowConflictError, throwFromResponse } from './chunk-L6T44A3G.js';
102
- export { OBJECT_ASPECT_DEFAULTS as CREATURE_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS as CREATURE_ASPECT_OPTIONS, CREATURE_ASSET_TYPES, CREATURE_ATTACH_COLUMNS, CreaturesResource } from './chunk-HWSYNUSC.js';
102
+ export { OBJECT_ASPECT_DEFAULTS as CREATURE_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS as CREATURE_ASPECT_OPTIONS, CREATURE_ASSET_TYPES, CREATURE_ATTACH_COLUMNS, CreaturesResource } from './chunk-HUYI5G3D.js';
103
103
  export { CreditsResource } from './chunk-7QK2NXJA.js';
104
104
  export { DeveloperAppsResource } from './chunk-65E3JBFZ.js';
105
105
  export { AppsResource } from './chunk-7LODCIQK.js';
@@ -107,6 +107,6 @@ export { AudioResource } from './chunk-3QFTP5P5.js';
107
107
  export { BillingResource } from './chunk-ZVKEPVDQ.js';
108
108
  export { CastSwapResource } from './chunk-DV6GTEX5.js';
109
109
  export { CatalogsResource } from './chunk-KG4R454Z.js';
110
- export { CHARACTER_ASPECT_DEFAULTS, CHARACTER_ASPECT_OPTIONS, CHARACTER_STYLES, CharactersResource, PEOPLE, PERSON_DIMENSION_LABELS, PERSON_DIMENSION_ORDER, buildPersonHints, buildPersonSeedPrompt } from './chunk-PBFODIFT.js';
110
+ export { CHARACTER_ASPECT_DEFAULTS, CHARACTER_ASPECT_OPTIONS, CHARACTER_STYLES, CharactersResource, PEOPLE, PERSON_DIMENSION_LABELS, PERSON_DIMENSION_ORDER, buildPersonHints, buildPersonSeedPrompt } from './chunk-CBDUHYTR.js';
111
111
  //# sourceMappingURL=index.js.map
112
112
  //# sourceMappingURL=index.js.map
@@ -8,7 +8,7 @@ import * as _nodaro_shared_scene3d from '@nodaro/shared/scene3d';
8
8
  import { Scene3DPlan, Scene3DEditOperation, Scene3DV2EditOperation, Scene3DReference, Pro3DRenderSource, Pro3DRenderEngine, Pro3DRenderQuality, Pro3DRenderStyle, Scene3DJobOutputAny, Pro3DRenderJobOutput as Pro3DRenderJobOutput$1, Pro3DRenderCapabilities, Scene3DPlanV2, Pro3DRenderQuote as Pro3DRenderQuote$1 } from '@nodaro/shared/scene3d';
9
9
  import { TopazUpscaleFactor } from '@nodaro/shared/credits';
10
10
  import { ImageToImageAttachColumn } from '@nodaro/shared/entities';
11
- import { N as NodaroClientCore } from './developer-apps-zSQXWmEG.js';
11
+ import { N as NodaroClientCore } from './developer-apps-CMUzKpE9.js';
12
12
  import { JobsResource, JobStatusResult } from './entries/jobs.js';
13
13
  import { NodaroError } from './entries/errors.js';
14
14
  import { ModelInputAdjustment } from '@nodaro/shared/model-catalog';
@@ -8,7 +8,7 @@ import * as _nodaro_shared_scene3d from '@nodaro/shared/scene3d';
8
8
  import { Scene3DPlan, Scene3DEditOperation, Scene3DV2EditOperation, Scene3DReference, Pro3DRenderSource, Pro3DRenderEngine, Pro3DRenderQuality, Pro3DRenderStyle, Scene3DJobOutputAny, Pro3DRenderJobOutput as Pro3DRenderJobOutput$1, Pro3DRenderCapabilities, Scene3DPlanV2, Pro3DRenderQuote as Pro3DRenderQuote$1 } from '@nodaro/shared/scene3d';
9
9
  import { TopazUpscaleFactor } from '@nodaro/shared/credits';
10
10
  import { ImageToImageAttachColumn } from '@nodaro/shared/entities';
11
- import { N as NodaroClientCore } from './developer-apps-zSQXWmEG.cjs';
11
+ import { N as NodaroClientCore } from './developer-apps-CMUzKpE9.cjs';
12
12
  import { JobsResource, JobStatusResult } from './entries/jobs.cjs';
13
13
  import { NodaroError } from './entries/errors.cjs';
14
14
  import { ModelInputAdjustment } from '@nodaro/shared/model-catalog';
@@ -1,4 +1,4 @@
1
- import { N as NodaroClientCore } from './developer-apps-zSQXWmEG.cjs';
1
+ import { N as NodaroClientCore } from './developer-apps-CMUzKpE9.cjs';
2
2
 
3
3
  /**
4
4
  * Studio productions — `/v1/studio/productions`.
@@ -1,4 +1,4 @@
1
- import { N as NodaroClientCore } from './developer-apps-zSQXWmEG.js';
1
+ import { N as NodaroClientCore } from './developer-apps-CMUzKpE9.js';
2
2
 
3
3
  /**
4
4
  * Studio productions — `/v1/studio/productions`.
@@ -1,4 +1,4 @@
1
- import { N as NodaroClientCore } from './developer-apps-zSQXWmEG.js';
1
+ import { N as NodaroClientCore } from './developer-apps-CMUzKpE9.js';
2
2
  import { Job } from './entries/jobs.js';
3
3
 
4
4
  /** Events an endpoint can subscribe to. */
@@ -1,4 +1,4 @@
1
- import { N as NodaroClientCore } from './developer-apps-zSQXWmEG.cjs';
1
+ import { N as NodaroClientCore } from './developer-apps-CMUzKpE9.cjs';
2
2
  import { Job } from './entries/jobs.cjs';
3
3
 
4
4
  /** Events an endpoint can subscribe to. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodaro/sdk",
3
- "version": "2.54.0",
3
+ "version": "2.55.0",
4
4
  "description": "Typed REST client for the Nodaro API — workflows, jobs, executions, apps, characters, and more.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -322,8 +322,8 @@
322
322
  "test:watch": "vitest"
323
323
  },
324
324
  "dependencies": {
325
- "@nodaro/shared": "^3.47.0",
326
- "@nodaro/prompts": "^1.46.0"
325
+ "@nodaro/shared": "^3.48.0",
326
+ "@nodaro/prompts": "^1.47.0"
327
327
  },
328
328
  "peerDependencies": {
329
329
  "@fingerprintjs/fingerprintjs": "^5.2.0",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/resources/media.ts"],"names":["readSseStream"],"mappings":"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","file":"chunk-22P4X3N5.cjs","sourcesContent":["import type { NodaroClientCore } from \"../core.js\"\nimport { readSseStream } from \"../sse.js\"\nimport type { OverlayAnchor, VideoMaskRequest, MaskCompositeRequest } from \"@nodaro/shared/media\"\nimport type { CaptionStyle, CaptionLookId, SupportedFontName } from \"@nodaro/shared/captions\"\nimport type { TranscribeLane } from \"@nodaro/shared/models\"\nimport type { VideoOverlayRequest } from \"@nodaro/shared/video\"\n\n/** One word-timed caption entry (one per WORD for the kinetic styles). */\nexport interface CaptionEntry {\n text: string\n startMs: number\n endMs: number\n timestampMs?: number | null\n confidence?: number | null\n}\n\n/** Look + motion levers — see {@link MediaResource.addCaptions}. `look` is a\n * named preset the explicit levers override; an unset look renders as `outline`\n * (the default). The STYLING levers (`look`, `fontFamily`, `fontWeight`,\n * `strokeColor`/`strokeWidth`, `uppercase`, `positionY`, `maxWordsPerLine`) now\n * apply to the static `subtitle` style too — a subtitle carrying any of them\n * renders via Remotion. Only `highlightColor` (no spoken-word cursor to colour)\n * and `animate` (no motion to freeze) stay kinetic-only and are rejected (400)\n * on `subtitle`. */\nexport interface CaptionLookInput {\n look?: CaptionLookId\n fontFamily?: SupportedFontName\n fontWeight?: number\n strokeColor?: string\n strokeWidth?: number\n highlightColor?: string\n uppercase?: boolean\n positionY?: number\n /** Cap on how many words one caption LINE (or `tiktok-words` page) may hold,\n * 1-20, on TOP of the frame-width budget, sentence ends and pauses that\n * already close a line — 1-2 gives the punchy CapCut read, unset fits the\n * width. Applies to `word-highlight` / `karaoke` / `bouncy` / `tiktok-words`\n * and to a Remotion-rendered `subtitle`; inert on `word-pop` (always one\n * word). */\n maxWordsPerLine?: number\n /** Kinetic styles only. `false` freezes the per-word MOTION — the grouping,\n * line-holding and spoken-word highlight stay, only the movement stops;\n * default `true`. Rejected (400) on the static `subtitle` style. */\n animate?: boolean\n}\n\n/** One caption SEGMENT: a time range with optional style/look overrides and its\n * own words (`text`/`captions`, else the shared transcript filtered to range).\n * A segmented render is entirely Remotion, so any `style` is valid here. */\nexport interface CaptionSegmentInput extends CaptionLookInput {\n startMs: number\n endMs: number\n style?: CaptionStyle\n position?: \"bottom\" | \"top\" | \"center\"\n fontSize?: number\n color?: string\n backgroundColor?: string\n text?: string\n captions?: CaptionEntry[]\n}\n\n/** {@link MediaResource.addCaptions} input. */\nexport interface AddCaptionsInput extends CaptionLookInput {\n videoUrl: string\n text?: string\n captions?: CaptionEntry[]\n /** Transcribe the video's audio when no text/captions are given (default true). */\n autoTranscribe?: boolean\n transcribeProvider?: TranscribeLane\n style?: CaptionStyle\n position?: \"bottom\" | \"top\" | \"center\"\n fontSize?: number\n color?: string\n backgroundColor?: string\n /** Apply different treatments to time ranges in one call (non-overlapping). */\n segments?: CaptionSegmentInput[]\n}\n\n/**\n * Media ingestion + trimming — the source-preparation steps a Voice Changer Pro\n * flow (or any pipeline) needs before it has a clip to work on: pull a social\n * video into storage, copy a remote URL into storage, trim a video/audio to a\n * range, and probe a video's metadata. Each generation-style op returns a job id\n * to poll (`jobs.get(jobId)`); `videoMetadata` is a direct read.\n */\n/**\n * Where one overlay layer should go, in {@link MediaResource.imageOverlay}'s\n * percent units — the answer from {@link MediaResource.suggestOverlayPlacement}.\n */\nexport interface OverlayPlacement {\n /** The point on the base image the layer attaches to. */\n anchor: OverlayAnchor\n /** Offset from the anchor in % of the base width (negative on a right anchor = inward). */\n x: number\n /** Offset from the anchor in % of the base height (negative on a bottom anchor = inward). */\n y: number\n /** The layer's width in % of the base width. */\n width: number\n /** One sentence, plain language, on why this spot. */\n reason: string\n}\n\nexport class MediaResource {\n constructor(private client: NodaroClientCore) {}\n\n /**\n * Download a social video (YouTube / TikTok / Instagram / X / Facebook) into\n * your storage (`POST /v1/download-video`). `maxHeight` caps the resolution\n * (default \"best\"); `sectionStartSec` + `sectionEndSec` (both-or-neither) fetch\n * ONLY that time range instead of the whole video. A download that arrives\n * with no audio stream FAILS by default (it is usually a degraded source\n * response, and is retried through other routes first); pass\n * `requireAudio: false` to accept a clip that really has no sound. Returns a\n * `downloadId`; progress streams from\n * `GET /v1/download-video/progress/:downloadId` (server-sent events) and the\n * finished file lands in your library.\n */\n downloadVideo(input: {\n url: string\n maxHeight?: number\n sectionStartSec?: number\n sectionEndSec?: number\n requireAudio?: boolean\n }): Promise<{ downloadId: string }> {\n return this.client.request<{ downloadId: string }>(\"POST\", \"/v1/download-video\", { body: input })\n }\n\n /**\n * Stream the live progress of a {@link MediaResource.downloadVideo} import\n * (`GET /v1/download-video/progress/:downloadId`, server-sent events) as an\n * async iterable. Yields a {@link DownloadVideoProgress} roughly every 500ms\n * until the download reaches `completed` (its event carries the stored\n * `videoUrl`) or `failed` (its event carries `error`), then ends. The progress\n * state expires server-side shortly after the download starts existing, so\n * start iterating promptly after `downloadVideo` returns.\n *\n * No request timeout is applied (a large import legitimately takes minutes) —\n * pass an `AbortSignal` to cancel from the caller.\n */\n async *downloadVideoProgress(\n downloadId: string,\n opts: { signal?: AbortSignal } = {},\n ): AsyncGenerator<DownloadVideoProgress, void, undefined> {\n const url = `${this.client.baseUrl}/v1/download-video/progress/${encodeURIComponent(downloadId)}`\n const token = await this.client.auth.getToken()\n const res = await this.client.fetch(url, {\n headers: token ? { Authorization: `Bearer ${token}` } : {},\n signal: opts.signal,\n })\n // The shared reader owns the non-OK throw, the empty-body guard, the frame\n // parse and the cancel-on-early-exit — this route emits the same\n // `data: <json>` frames every other stream here does.\n yield* readSseStream<DownloadVideoProgress>(res, { label: \"progress stream\" })\n }\n\n /**\n * Copy an external media URL into your Nodaro storage (`POST /v1/save-to-storage`)\n * — a server-side fetch, so nothing round-trips through the client. Poll\n * `jobs.get(jobId)`.\n */\n saveToStorage(input: { mediaUrl: string; filename?: string; mediaType?: \"image\" | \"video\" | \"audio\" }): Promise<{ jobId: string }> {\n return this.client.request<{ jobId: string }>(\"POST\", \"/v1/save-to-storage\", { body: input })\n }\n\n /**\n * Composite 2–30 images into ONE large 2K/4K collage (`POST /v1/image-collage`).\n * `layout` `\"smart\"` (default — justified rows at each image's exact aspect\n * ratio, no cropping; the output height floats) or `\"grid\"` (uniform,\n * letterboxed cells). `imageSizes` is index-aligned with `imageUrls` and\n * gives per-image RELATIVE size hints for the smart layout: `0` auto\n * (\"don't care\", default), `1` big (~2× linear vs medium), `2` medium,\n * `3` small (~½ linear). All-equal hints change nothing; grid ignores them.\n * For storyboards, set `numbered` to stamp a 1-based sequence badge at each\n * image's corner (top-left by default; `badgePosition: \"top-right\"` moves it;\n * in `imageUrls` order) and pass `imageLabels`\n * (index-aligned with `imageUrls`; `null`/`\"\"`/omitted = no caption for that\n * image) to caption images after the number, e.g. `3 · Close-up`. Badges are\n * an overlay only — they never change the layout, the output size or the\n * credit cost. Poll `jobs.get(jobId)` for the finished image.\n */\n imageCollage(input: {\n imageUrls: string[]\n imageSizes?: Array<0 | 1 | 2 | 3>\n numbered?: boolean\n imageLabels?: Array<string | null>\n /** Corner the badges sit in — `\"top-left\"` (default, storyboard convention) or `\"top-right\"`. */\n badgePosition?: \"top-left\" | \"top-right\"\n layout?: \"smart\" | \"grid\"\n resolution?: \"2K\" | \"4K\"\n aspectRatio?: string\n gap?: number\n backgroundColor?: string\n }): Promise<{ jobId: string }> {\n return this.client.request<{ jobId: string }>(\"POST\", \"/v1/image-collage\", { body: input })\n }\n\n /**\n * Place 1–12 layers — pictures, real text, QR codes, shapes — on a base image,\n * pixel-exactly (`POST /v1/image-overlay`) — local, deterministic, no AI.\n * Every layer position/size is a PERCENT of the base image: `anchor` (nine\n * positions, default `\"center\"`), `x`/`y` (offset from the anchor in % of\n * the base width/height; negative on a right/bottom anchor moves inward),\n * `width` (% of the base width, default 25 — height follows the layer's\n * aspect unless `height` is set). Plus `opacity` (0..1), `rotation`\n * (degrees), `blend` (`\"over\"` | `\"multiply\"` | `\"screen\"`), `fit`,\n * `shadow` and `roundedCorners`. The output keeps the base's pixel size\n * unless `canvas` is set. Flat credit cost. Poll `jobs.get(jobId)` for the\n * finished image.\n */\n imageOverlay(input: {\n imageUrl: string\n layers: Array<{\n imageUrl: string\n anchor?: OverlayAnchor\n x?: number\n y?: number\n width?: number\n height?: number\n opacity?: number\n rotation?: number\n blend?: \"over\" | \"multiply\" | \"screen\"\n fit?: \"contain\" | \"cover\" | \"stretch\"\n shadow?: { blur: number; offsetX: number; offsetY: number; color: string; opacity: number }\n roundedCorners?: number\n zIndex?: number\n /** \"image\" (default, needs imageUrl) | \"text\" | \"qr\" | \"shape\" — see @nodaro/shared image-overlay-layers. */\n kind?: \"image\" | \"text\" | \"qr\" | \"shape\"\n text?: Record<string, unknown>\n qr?: Record<string, unknown>\n shape?: Record<string, unknown>\n effects?: Record<string, unknown>\n }>\n canvas?: { width: number; height: number; backgroundColor?: string }\n baseFit?: \"contain\" | \"cover\"\n outputFormat?: \"png\" | \"jpg\" | \"webp\"\n /** Extra platform renders (see OVERLAY_PLATFORMS in @nodaro/shared); returned as output `variants[]`. */\n variants?: string[]\n /** The mask the job also emits as output `maskUrl` (white = may change). Default \"around\". */\n maskMode?: \"none\" | \"layers\" | \"around\" | \"outside\"\n maskSpread?: number\n /** Fills every QR layer whose `qr.fromInput` is true — the node's QR link handle. */\n qrText?: string\n }): Promise<{ jobId: string }> {\n // The finished job's output: { imageUrl, width, height, maskUrl?, variants?: [{ id, label, width, height, url }] }.\n return this.client.request<{ jobId: string }>(\"POST\", \"/v1/image-overlay\", { body: input })\n }\n\n /**\n * Ask a vision model WHERE one overlay layer should sit on a base image\n * (`POST /v1/image-overlay/suggest-placement`) — it reads the picture and\n * keeps the element off the faces, the subject and the busiest texture.\n * The answer comes back in {@link MediaResource.imageOverlay}'s own percent\n * units — `anchor`, `x`/`y` offsets, `width` — so it drops straight onto a\n * layer (`const { reason, ...box } = placement`), plus a one-sentence\n * `reason` you can show a user. Nothing is composited here: apply the\n * placement yourself.\n *\n * `layerAspect` is the element's width / height (1 = square, the default) so\n * the proposed box stays in proportion; `intent` says what the element is\n * (\"a logo\", \"a price badge\"); `safeArea` is the always-visible region as\n * fractions of the canvas (a platform preset's safe area), which the\n * placement is kept inside. Unlike the other media calls this one answers\n * synchronously — there is nothing to poll; `jobId` is the billing record\n * (one image-to-text call).\n */\n suggestOverlayPlacement(input: {\n imageUrl: string\n layerAspect?: number\n intent?: string\n safeArea?: { x: number; y: number; w: number; h: number }\n llmModel?: string\n }): Promise<{ jobId: string; placement: OverlayPlacement }> {\n return this.client.request<{ jobId: string; placement: OverlayPlacement }>(\n \"POST\",\n \"/v1/image-overlay/suggest-placement\",\n { body: input },\n )\n }\n\n /**\n * Trim a video to a range (`POST /v1/trim-video`). Give the range in whichever\n * unit fits: `startTime`/`endTime` seconds, `trim*Frames`, `trim*Seconds`, or\n * `keepFirst`/`keepLastSeconds`. Poll `jobs.get(jobId)`.\n */\n trimVideo(input: {\n videoUrl: string\n startTime?: number\n endTime?: number\n trimStartFrames?: number\n trimEndFrames?: number\n trimStartSeconds?: number\n trimEndSeconds?: number\n keepFirstSeconds?: number\n keepLastSeconds?: number\n }): Promise<{ jobId: string }> {\n return this.client.request<{ jobId: string }>(\"POST\", \"/v1/trim-video\", { body: input })\n }\n\n /**\n * Burn captions into a video (`POST /v1/add-captions`). Give the words as\n * `text`, word-timed `captions[]`, or let it transcribe (`autoTranscribe`,\n * the default when neither is set).\n *\n * `style: \"subtitle\"` renders statically (FFmpeg) UNLESS it carries a styling\n * lever, in which case it — like the KINETIC styles (`word-highlight` /\n * `karaoke` / `tiktok-words` / `word-pop` / `bouncy`) — renders via Remotion.\n * `look` picks a preset — `outline` (Montserrat 900, UPPERCASE, black outline,\n * yellow spoken word — the TikTok/Reels read) or `clean`; an UNSET look renders\n * as `outline`. The explicit STYLING levers (`fontFamily`, `fontWeight`,\n * `strokeColor`/`strokeWidth`, `uppercase`, `positionY`, `maxWordsPerLine`)\n * override individual fields of it and now apply to `subtitle` too. Only\n * `highlightColor` (the spoken-word cursor) and `animate` stay kinetic-only\n * and are REJECTED on `subtitle`.\n *\n * `animate` (default true) freezes the per-word MOTION on the kinetic styles\n * when set to false — the grouping, line-holding and spoken-word highlight\n * stay; only the movement stops.\n *\n * `maxWordsPerLine` (1-20) caps how many words a line — or a `tiktok-words`\n * page — may hold, on top of the width budget / sentence ends / pauses that\n * already close one; it is inert on `word-pop`, which is always one word.\n * Like every lever here it exists top-level AND per segment, and a segment\n * that does not name its own inherits the top-level value.\n *\n * `segments[]` applies DIFFERENT treatments to non-overlapping time ranges in\n * one call (e.g. a large top intro, then a small bottom body); a segment that\n * names its own `look` starts fresh from that preset and does not inherit the\n * top-level explicit levers. Poll `jobs.get(jobId)`.\n *\n * `word-highlight` shows ONE held line at a time and a word's\n * `startMs`/`endMs` is its SPOKEN window (what times the highlight, not how\n * long the text is on screen) — so `captions[]` can be handed over verbatim\n * from an `audio.transcribe()` job's `output_data.words`, with\n * `autoTranscribe: false`.\n */\n addCaptions(input: AddCaptionsInput): Promise<{ jobId: string }> {\n const { autoTranscribe, transcribeProvider, ...rest } = input\n // The route body is camelCase except these two flags (worker snake_case);\n // omit each when unset so an absent flag stays absent on the wire.\n const body: Record<string, unknown> = {\n ...rest,\n ...(autoTranscribe !== undefined ? { auto_transcribe: autoTranscribe } : {}),\n ...(transcribeProvider !== undefined ? { transcribe_provider: transcribeProvider } : {}),\n }\n return this.client.request<{ jobId: string }>(\"POST\", \"/v1/add-captions\", { body })\n }\n\n /**\n * Trim (and extract) audio from a video or audio source\n * (`POST /v1/trim-audio`) to `[startTime, endTime]` seconds, in `audioFormat`\n * (`mp3` default / `wav` / `aac`). Poll `jobs.get(jobId)`.\n */\n trimAudio(input: {\n videoUrl?: string\n audioUrl?: string\n audioFormat?: \"mp3\" | \"wav\" | \"aac\"\n startTime?: number\n endTime?: number\n }): Promise<{ jobId: string }> {\n return this.client.request<{ jobId: string }>(\"POST\", \"/v1/trim-audio\", { body: input })\n }\n\n /**\n * Cut a video and/or an audio file into consecutive parts\n * (`POST /v1/split-media`). Every part is at most `chunkDuration` seconds and\n * at least `minPartDuration` (default 4, never above `chunkDuration`) — a\n * short leftover is evened out with the parts before it. Video is cut on\n * whole frames with each part's sound matching its picture; audio parts are\n * sample-exact, in `audioFormat` (`mp3` default / `wav` / `aac`). With both\n * sources each is split on its own. At most 200 parts per input. Poll\n * `jobs.get(jobId)`; the parts are on the completed job's `output_data` —\n * see {@link SplitMediaOutput}.\n */\n splitMedia(input: SplitMediaInput): Promise<{ jobId: string }> {\n return this.client.request<{ jobId: string }>(\"POST\", \"/v1/split-media\", { body: input })\n }\n\n /**\n * Turn one still image + one audio track into an MP4\n * (`POST /v1/still-to-video`) — locally rendered (FFmpeg), no AI model,\n * zero credits. The output duration IS the audio's duration; there is no\n * duration field. Optional `motion` animates the still (zoom / pan /\n * ken-burns) at `intensity` 1–10. `fit: \"contain\"` letterboxes with\n * `padColor` instead of cropping. Poll `jobs.get(jobId)`.\n */\n stillToVideo(input: {\n imageUrl: string\n audioUrl: string\n motion?: \"none\" | \"zoom-in\" | \"zoom-out\" | \"pan-left\" | \"pan-right\" | \"ken-burns\"\n intensity?: number\n resolution?: \"720p\" | \"1080p\" | \"4K\"\n aspectRatio?: \"16:9\" | \"9:16\" | \"1:1\" | \"4:3\"\n fps?: 24 | 30\n fit?: \"cover\" | \"contain\"\n padColor?: string\n }): Promise<{ jobId: string }> {\n return this.client.request<{ jobId: string }>(\"POST\", \"/v1/still-to-video\", { body: input })\n }\n\n /**\n * Turn 2–100 images + one optional audio track into an MP4 slideshow\n * (`POST /v1/slideshow`) — locally rendered (FFmpeg), zero credits. With\n * audio, the output duration IS the audio's duration (equal split unless\n * `imageDurations` pins rows — null entries = auto; mismatched pinned sums\n * scale proportionally and the factor is disclosed in the job output).\n * Without audio: N × `perImageDuration`, silent output. Transitions\n * consume the outgoing slide, so totals stay exact. For a single image use\n * `stillToVideo`. Poll `jobs.get(jobId)`.\n */\n slideshow(input: {\n imageUrls: string[]\n audioUrl?: string\n imageDurations?: Array<number | null>\n perImageDuration?: number\n transition?: string\n transitionDuration?: number\n motion?: \"none\" | \"zoom-in\" | \"zoom-out\" | \"ken-burns\" | \"alternate\"\n intensity?: number\n resolution?: \"720p\" | \"1080p\" | \"4K\"\n aspectRatio?: \"16:9\" | \"9:16\" | \"1:1\" | \"4:3\"\n fps?: 24 | 30\n fit?: \"cover\" | \"contain\"\n padColor?: string\n }): Promise<{ jobId: string }> {\n return this.client.request<{ jobId: string }>(\"POST\", \"/v1/slideshow\", { body: input })\n }\n\n /**\n * Place 1–20 timed image layers over a video (`POST /v1/video-overlay`) —\n * rendered locally (FFmpeg) in one pass, no AI; the base audio is kept\n * untouched. Each layer has an `imageUrl`, a `start` and an optional `end`\n * in seconds (no `end` = to the end of the video) and a placement: a\n * `preset` (`\"card\"`, `\"corner-badge\"` with a `corner`, `\"full-frame\"`) or\n * an explicit box in {@link MediaResource.imageOverlay}'s percent vocabulary\n * (`anchor`, `x`, `y`, `width`, `height`, `fit`) — an explicit box field\n * overrides the preset, and a layer with neither is a corner badge\n * (bottom-right, or the `corner` it names). `outputAspect` renders onto a\n * 16:9 / 9:16 / 1:1 / 4:5 canvas\n * (`baseFit` cover by default; `backgroundColor` pads `contain`). Poll\n * `jobs.get(jobId)`: the output carries `videoUrl`, `thumbnailUrl`, `width`,\n * `height`, `durationSec` and `warnings[]` (a layer clipped or skipped at the\n * video's end, an animated image's first frame, re-encoded audio).\n */\n videoOverlay(input: VideoOverlayRequest): Promise<{ jobId: string }> {\n return this.client.request<{ jobId: string }>(\"POST\", \"/v1/video-overlay\", { body: input })\n }\n\n /**\n * Track a subject described in plain text through a video and get a\n * black-and-white MASK VIDEO back (`POST /v1/video-mask`, SAM 3.1 by default,\n * or `provider: \"sam-3\"` at half the price) — white = the subject. Clips up\n * to 5 minutes at 30 fps (a faster clip counts\n * proportionally longer), priced by the clip's length. Poll\n * `jobs.get(jobId)`: the output carries `videoUrl` (the mask), `width`,\n * `height`, `frames`, `coverage` (the fraction of pixels selected, rounded\n * to 4 decimals) and `kept` (any region left on any frame: false only when\n * the size / zone filters left an empty mask — read it rather than\n * `coverage`, which a few pixels round to 0), and `recipe` (the version of\n * the masking algorithm that made it, `VIDEO_MASK_RECIPE`: it changes\n * whenever the same clip and settings would give a different mask). Feed the mask to\n * {@link MediaResource.maskComposite}.\n *\n * `holdLastMask: true` keeps the last mask on frames where the subject is\n * lost (a mask covering under 0.002 % of the frame, e.g. a face behind a\n * hand): each such frame after the first detection repeats the most recent\n * non-empty one, for at most 1 s of frames (`VIDEO_MASK_LIMITS.HOLD_MAX_SEC`;\n * longer gaps stay empty after that); the output then also carries `heldFrames`.\n * `minSubjectHeightPct` (0–100, default 0 = off) drops every connected\n * region whose bounding box is shorter than that % of the frame height\n * (extras' small faces behind the main subject); it runs before\n * `holdLastMask`, and the output then carries `droppedRegions`.\n * `maxSubjectHeightPct` (0–100, default 0 = off) is its mirror: it drops\n * regions TALLER than that % (keep only the small background faces). With\n * both set a region is kept when min ≤ height ≤ max; min > max is a 400.\n * `zone` (`{ leftPct, rightPct, topPct, bottomPct }`, each 0–49 % of the\n * frame, a margin left out = 0; default null = off) keeps only the regions\n * whose bounding-box centre lies inside the frame minus those margins (after\n * the size cuts, before `holdLastMask`). `perShot: true` finds the clip's\n * scene cuts first and segments each shot on its own: the subject is\n * detected again after every cut, `holdLastMask` never crosses a cut, and\n * each shot's mask is fitted to that shot's exact frame count; on a clip\n * with no cut it gives the same mask, fitted to the clip's exact frame\n * count. The output carries `shots` (1 when off). `redetectEverySec` (0 =\n * off, the default, or 1–10) also detects the subject again every that\n * many seconds — the clip (each shot, with `perShot`) is sent to the model\n * in pieces of at most that length, a last piece under 8 frames joining the\n * one before — so someone who walks in or turns to the camera mid-shot is\n * masked from the next boundary on. These boundaries are not cuts:\n * `holdLastMask` holds across them. Each piece is one more model request\n * (three run at a time), so it is slower; the price does not change. The\n * output's `chunks` counts the requests.\n */\n videoMask(input: VideoMaskRequest): Promise<{ jobId: string }> {\n return this.client.request<{ jobId: string }>(\"POST\", \"/v1/video-mask\", { body: input })\n }\n\n /**\n * Place a foreground video over a background video through a mask video\n * (`POST /v1/mask-composite`; white = foreground) — local FFmpeg, no AI.\n * The result follows the foreground's size, frame rate and length; the\n * background is fitted (`backgroundFit`, default cover) and loops when\n * shorter; the mask holds its last frame when shorter. Optional\n * `invertMask`, `feather` (0–20 px), `grow` (−10–10 px), `opacity` (0–1,\n * default 1: how strongly the foreground covers the background inside the\n * mask) and `audioSource` (foreground / background / mix / none). Priced per started 5 seconds of\n * the result (the video it follows up to 300 s). Poll `jobs.get(jobId)` for `videoUrl`.\n *\n * `fill` picks what fills the masked area: `video` (default — the\n * foreground, required then), `pixelate` (the background itself in\n * blocks of `pixelSizePct` % of the frame width, 0.2–10, default 1.25) or\n * `blur` (the background blurred, sigma `blurStrengthPct` % of the frame\n * width, 0.1–5, default 2). Pixelate and blur take no\n * `foregroundUrl` (one sent is ignored): the result follows the background\n * and is priced on its length, and it always carries the background's sound\n * (`audioSource` is ignored).\n */\n maskComposite(input: MaskCompositeRequest): Promise<{ jobId: string }> {\n return this.client.request<{ jobId: string }>(\"POST\", \"/v1/mask-composite\", { body: input })\n }\n\n /**\n * Probe a social video's metadata (`POST /v1/video-metadata`) — duration,\n * dimensions, title, live status — WITHOUT downloading it. A direct read, not a\n * job. Use it to decide whether to trim before importing.\n */\n videoMetadata(input: { url: string }): Promise<VideoMetadata> {\n return this.client.request<VideoMetadata>(\"POST\", \"/v1/video-metadata\", { body: input })\n }\n\n /**\n * Cut or crop a stored file (`POST /v1/media/process`) — synchronous and\n * free, the source-preparation sibling of the priced `trimVideo` node.\n * `trim` is `[startTime, endTime]` in seconds; `deleteSource: true` removes\n * the source object afterwards when it is yours and nothing else references\n * it (\"the cut replaces the original\"). Answers the stored file.\n */\n process(input: MediaProcessInput): Promise<{ data: MediaProcessResult }> {\n return this.client.request<{ data: MediaProcessResult }>(\"POST\", \"/v1/media/process\", { body: input })\n }\n}\n\n/**\n * One event from {@link MediaResource.downloadVideoProgress}. The stream ends\n * after a `completed` event (which carries the stored `videoUrl` + an optional\n * `thumbnailUrl`) or a `failed` event (which carries `error`).\n */\nexport interface DownloadVideoProgress {\n phase: \"downloading\" | \"processing\" | \"uploading\" | \"completed\" | \"failed\"\n /** Download percent (0–100). Section fetches report jumpy percents — display, don't sum. */\n percent: number\n /** The imported video's storage URL — set on the `completed` event. */\n videoUrl?: string\n /** Thumbnail storage URL — set on the `completed` event when one was captured. */\n thumbnailUrl?: string\n /** What went wrong — set on the `failed` event. */\n error?: string\n}\n\n/** Result of {@link MediaResource.videoMetadata}. Fields are best-effort — a probe may omit some. */\nexport interface VideoMetadata {\n durationSec?: number | null\n width?: number | null\n height?: number | null\n title?: string | null\n isLive?: boolean\n [key: string]: unknown\n}\n\n/** Body of {@link MediaResource.splitMedia} (`POST /v1/split-media`). At least one of `videoUrl` / `audioUrl`. */\nexport interface SplitMediaInput {\n /** Video to split. */\n videoUrl?: string\n /** Audio file to split (split on its own when a video is given too). */\n audioUrl?: string\n /** The longest a part may be, in seconds (at least 1). Every part is at most this long. */\n chunkDuration: number\n /** The shortest a part may be, in seconds (0 or more, default 4). Must not exceed `chunkDuration` (400 otherwise). */\n minPartDuration?: number\n /** Format of the audio parts. Default `mp3`. */\n audioFormat?: \"mp3\" | \"wav\" | \"aac\"\n}\n\n/** A completed split-media job's `output_data`. */\nexport interface SplitMediaOutput {\n /** The video parts, in order (when a video was split). */\n videoUrls?: string[]\n /** The audio parts, in order (when an audio file was split). */\n audioUrls?: string[]\n /** The number of parts — the larger of the two lists. */\n chunkCount: number\n /** Each part's exact length in seconds: the video parts' when a video was split, else the audio parts'. */\n partDurationsSec?: number[]\n /** The audio parts' lengths, only when BOTH a video and an audio file were split. */\n audioPartDurationsSec?: number[]\n}\n\nexport interface MediaProcessInput {\n sourceUrl: string\n type: \"video\" | \"audio\"\n trim?: { startTime: number; endTime: number }\n crop?: { x: number; y: number; width: number; height: number }\n format?: \"mp4\" | \"webm\" | \"mp3\" | \"wav\" | \"m4a\" | \"aac\"\n deleteSource?: boolean\n}\n\nexport interface MediaProcessResult {\n url: string\n thumbnailUrl: string | null\n assetId: string | null\n sizeBytes: number\n mimeType: string\n metadata: Record<string, unknown>\n}\n"]}