@nodaro/sdk 2.44.0 → 2.46.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 (161) hide show
  1. package/dist/{chunk-ETX3TLNB.cjs → chunk-22P4X3N5.cjs} +16 -5
  2. package/dist/chunk-22P4X3N5.cjs.map +1 -0
  3. package/dist/{chunk-RETNLKOC.js → chunk-33HT46A3.js} +2 -2
  4. package/dist/{chunk-RETNLKOC.js.map → chunk-33HT46A3.js.map} +1 -1
  5. package/dist/{chunk-IGMWFEFB.js → chunk-5MOJSYHI.js} +2 -2
  6. package/dist/chunk-5MOJSYHI.js.map +1 -0
  7. package/dist/{chunk-DAGJLS7W.js → chunk-5Q4SUZPL.js} +3 -3
  8. package/dist/{chunk-DAGJLS7W.js.map → chunk-5Q4SUZPL.js.map} +1 -1
  9. package/dist/{chunk-55ZX6TE3.cjs → chunk-66M54BUO.cjs} +6 -6
  10. package/dist/chunk-66M54BUO.cjs.map +1 -0
  11. package/dist/chunk-6NTKEXT5.js +3 -0
  12. package/dist/chunk-6NTKEXT5.js.map +1 -0
  13. package/dist/{chunk-FQNCIP6K.js → chunk-7LODCIQK.js} +2 -2
  14. package/dist/chunk-7LODCIQK.js.map +1 -0
  15. package/dist/{chunk-34JMD6ZO.cjs → chunk-7LTVS75S.cjs} +36 -12
  16. package/dist/chunk-7LTVS75S.cjs.map +1 -0
  17. package/dist/{chunk-DQAYIVVS.js → chunk-BQAW4RX2.js} +16 -5
  18. package/dist/chunk-BQAW4RX2.js.map +1 -0
  19. package/dist/{chunk-HKDIIFG2.js → chunk-C3C7IL25.js} +6 -6
  20. package/dist/chunk-C3C7IL25.js.map +1 -0
  21. package/dist/{chunk-QHXLMCBR.cjs → chunk-DIF7A5OH.cjs} +2 -2
  22. package/dist/chunk-DIF7A5OH.cjs.map +1 -0
  23. package/dist/{chunk-PQ7OKM3E.cjs → chunk-FIMBPKIH.cjs} +2 -2
  24. package/dist/chunk-FIMBPKIH.cjs.map +1 -0
  25. package/dist/{chunk-ZWPDWFN2.js → chunk-GW76IRQD.js} +2 -2
  26. package/dist/chunk-GW76IRQD.js.map +1 -0
  27. package/dist/{chunk-YSZM3N7Q.js → chunk-HPXE3NZW.js} +2 -2
  28. package/dist/{chunk-YSZM3N7Q.js.map → chunk-HPXE3NZW.js.map} +1 -1
  29. package/dist/{chunk-OIYMTGYN.cjs → chunk-JOXZ4ZIF.cjs} +2 -2
  30. package/dist/chunk-JOXZ4ZIF.cjs.map +1 -0
  31. package/dist/chunk-KBHDUHKM.js +21 -0
  32. package/dist/chunk-KBHDUHKM.js.map +1 -0
  33. package/dist/{chunk-FHVNTS4E.cjs → chunk-KMNSPC72.cjs} +2 -2
  34. package/dist/{chunk-FHVNTS4E.cjs.map → chunk-KMNSPC72.cjs.map} +1 -1
  35. package/dist/{chunk-ILG5DHQQ.js → chunk-M7VSFZMV.js} +2 -2
  36. package/dist/chunk-M7VSFZMV.js.map +1 -0
  37. package/dist/{chunk-3ZZWCHF5.cjs → chunk-POKNFGGD.cjs} +33 -29
  38. package/dist/chunk-POKNFGGD.cjs.map +1 -0
  39. package/dist/{chunk-6MQ2LTJZ.js → chunk-PQHZUWSL.js} +36 -12
  40. package/dist/chunk-PQHZUWSL.js.map +1 -0
  41. package/dist/{chunk-Z7UZ3FD3.js → chunk-RBX3QTKB.js} +2 -2
  42. package/dist/{chunk-Z7UZ3FD3.js.map → chunk-RBX3QTKB.js.map} +1 -1
  43. package/dist/{chunk-7XOK277W.cjs → chunk-SF2CMKWA.cjs} +2 -2
  44. package/dist/{chunk-7XOK277W.cjs.map → chunk-SF2CMKWA.cjs.map} +1 -1
  45. package/dist/{chunk-2VJOHJUZ.cjs → chunk-TK2CEVSK.cjs} +2 -2
  46. package/dist/chunk-TK2CEVSK.cjs.map +1 -0
  47. package/dist/chunk-UANHMQ3A.cjs +4 -0
  48. package/dist/chunk-UANHMQ3A.cjs.map +1 -0
  49. package/dist/{chunk-EK672FFM.cjs → chunk-UIBYZNDR.cjs} +2 -2
  50. package/dist/chunk-UIBYZNDR.cjs.map +1 -0
  51. package/dist/{chunk-6PI3CI7P.js → chunk-WFAFFAGV.js} +20 -16
  52. package/dist/chunk-WFAFFAGV.js.map +1 -0
  53. package/dist/{chunk-PEMLIAPZ.cjs → chunk-WMT7HEBZ.cjs} +40 -7
  54. package/dist/chunk-WMT7HEBZ.cjs.map +1 -0
  55. package/dist/{chunk-Y6VDCZPB.js → chunk-WS4ZQ4AA.js} +40 -7
  56. package/dist/chunk-WS4ZQ4AA.js.map +1 -0
  57. package/dist/{chunk-VYEGCEZ3.cjs → chunk-WUM6CWTE.cjs} +2 -2
  58. package/dist/{chunk-VYEGCEZ3.cjs.map → chunk-WUM6CWTE.cjs.map} +1 -1
  59. package/dist/{chunk-4UPVE662.js → chunk-XILR6TFO.js} +2 -2
  60. package/dist/chunk-XILR6TFO.js.map +1 -0
  61. package/dist/chunk-XKDVEQVD.cjs +23 -0
  62. package/dist/chunk-XKDVEQVD.cjs.map +1 -0
  63. package/dist/{chunk-MPQQC45L.cjs → chunk-ZJCHIJND.cjs} +3 -3
  64. package/dist/{chunk-MPQQC45L.cjs.map → chunk-ZJCHIJND.cjs.map} +1 -1
  65. package/dist/entries/apps.cjs +2 -2
  66. package/dist/entries/apps.d.cts +1 -1
  67. package/dist/entries/apps.d.ts +1 -1
  68. package/dist/entries/apps.js +1 -1
  69. package/dist/entries/cast-swap.cjs +2 -2
  70. package/dist/entries/cast-swap.d.cts +117 -143
  71. package/dist/entries/cast-swap.d.ts +117 -143
  72. package/dist/entries/cast-swap.js +1 -1
  73. package/dist/entries/characters.d.cts +1 -1
  74. package/dist/entries/characters.d.ts +1 -1
  75. package/dist/entries/client.cjs +21 -20
  76. package/dist/entries/client.d.cts +4 -1
  77. package/dist/entries/client.d.ts +4 -1
  78. package/dist/entries/client.js +16 -15
  79. package/dist/entries/core.cjs +5 -5
  80. package/dist/entries/core.js +1 -1
  81. package/dist/entries/creatures.d.cts +1 -1
  82. package/dist/entries/creatures.d.ts +1 -1
  83. package/dist/entries/credits.cjs +2 -2
  84. package/dist/entries/credits.d.cts +2 -2
  85. package/dist/entries/credits.d.ts +2 -2
  86. package/dist/entries/credits.js +1 -1
  87. package/dist/entries/edit.cjs +6 -6
  88. package/dist/entries/edit.d.cts +1 -1
  89. package/dist/entries/edit.d.ts +1 -1
  90. package/dist/entries/edit.js +1 -1
  91. package/dist/entries/jobs.cjs +2 -2
  92. package/dist/entries/jobs.d.cts +57 -8
  93. package/dist/entries/jobs.d.ts +57 -8
  94. package/dist/entries/jobs.js +1 -1
  95. package/dist/entries/locations.d.cts +1 -1
  96. package/dist/entries/locations.d.ts +1 -1
  97. package/dist/entries/media.cjs +2 -2
  98. package/dist/entries/media.d.cts +14 -3
  99. package/dist/entries/media.d.ts +14 -3
  100. package/dist/entries/media.js +1 -1
  101. package/dist/entries/nodes.cjs +2 -2
  102. package/dist/entries/nodes.d.cts +1 -1
  103. package/dist/entries/nodes.d.ts +1 -1
  104. package/dist/entries/nodes.js +1 -1
  105. package/dist/entries/objects.d.cts +1 -1
  106. package/dist/entries/objects.d.ts +1 -1
  107. package/dist/entries/scene3d.d.cts +2 -2
  108. package/dist/entries/scene3d.d.ts +2 -2
  109. package/dist/entries/sessions.cjs +2 -2
  110. package/dist/entries/sessions.d.cts +58 -8
  111. package/dist/entries/sessions.d.ts +58 -8
  112. package/dist/entries/sessions.js +1 -1
  113. package/dist/entries/templates.cjs +2 -2
  114. package/dist/entries/templates.d.cts +1 -1
  115. package/dist/entries/templates.d.ts +1 -1
  116. package/dist/entries/templates.js +1 -1
  117. package/dist/entries/trash.cjs +13 -0
  118. package/dist/entries/trash.cjs.map +1 -0
  119. package/dist/entries/trash.d.cts +71 -0
  120. package/dist/entries/trash.d.ts +71 -0
  121. package/dist/entries/trash.js +4 -0
  122. package/dist/entries/trash.js.map +1 -0
  123. package/dist/entries/trends.cjs +2 -2
  124. package/dist/entries/trends.d.cts +86 -28
  125. package/dist/entries/trends.d.ts +86 -28
  126. package/dist/entries/trends.js +1 -1
  127. package/dist/entries/tutorials.cjs +2 -2
  128. package/dist/entries/tutorials.d.cts +1 -1
  129. package/dist/entries/tutorials.d.ts +1 -1
  130. package/dist/entries/tutorials.js +1 -1
  131. package/dist/entries/workflows.cjs +2 -2
  132. package/dist/entries/workflows.d.cts +11 -4
  133. package/dist/entries/workflows.d.ts +11 -4
  134. package/dist/entries/workflows.js +1 -1
  135. package/dist/index.cjs +48 -42
  136. package/dist/index.d.cts +6 -5
  137. package/dist/index.d.ts +6 -5
  138. package/dist/index.js +18 -16
  139. package/dist/{nodes-B4ZEqx2V.d.ts → nodes-C9j0PFto.d.ts} +12 -2
  140. package/dist/{nodes-DzBGNOUV.d.cts → nodes-DGIefTze.d.cts} +12 -2
  141. package/package.json +8 -3
  142. package/dist/chunk-2VJOHJUZ.cjs.map +0 -1
  143. package/dist/chunk-34JMD6ZO.cjs.map +0 -1
  144. package/dist/chunk-3ZZWCHF5.cjs.map +0 -1
  145. package/dist/chunk-4UPVE662.js.map +0 -1
  146. package/dist/chunk-55ZX6TE3.cjs.map +0 -1
  147. package/dist/chunk-6MQ2LTJZ.js.map +0 -1
  148. package/dist/chunk-6PI3CI7P.js.map +0 -1
  149. package/dist/chunk-DQAYIVVS.js.map +0 -1
  150. package/dist/chunk-EK672FFM.cjs.map +0 -1
  151. package/dist/chunk-ETX3TLNB.cjs.map +0 -1
  152. package/dist/chunk-FQNCIP6K.js.map +0 -1
  153. package/dist/chunk-HKDIIFG2.js.map +0 -1
  154. package/dist/chunk-IGMWFEFB.js.map +0 -1
  155. package/dist/chunk-ILG5DHQQ.js.map +0 -1
  156. package/dist/chunk-OIYMTGYN.cjs.map +0 -1
  157. package/dist/chunk-PEMLIAPZ.cjs.map +0 -1
  158. package/dist/chunk-PQ7OKM3E.cjs.map +0 -1
  159. package/dist/chunk-QHXLMCBR.cjs.map +0 -1
  160. package/dist/chunk-Y6VDCZPB.js.map +0 -1
  161. package/dist/chunk-ZWPDWFN2.js.map +0 -1
@@ -23,8 +23,9 @@ interface TrendChips {
23
23
  type TrendChipKey = keyof TrendChips;
24
24
  type TrendResolution = "480p" | "720p" | "1080p";
25
25
  /**
26
- * The video engine a trend runs on ({@link CastSwapEngine}): the trend
27
- * chooses it, never the person running it.
26
+ * The engine a trend runs on, by its public id ({@link CastSwapEngine}):
27
+ * `"motion-pro"` (Nodaro Motion Pro) or `"motion-lite"` (Nodaro Motion Lite).
28
+ * The trend chooses it, never the person running it.
28
29
  */
29
30
  type TrendEngine = CastSwapEngine;
30
31
  /** A trend in the catalog (`list()`). Text is in the resolved locale. */
@@ -36,7 +37,10 @@ interface TrendCard {
36
37
  tags: string[];
37
38
  /** e.g. `"trending"`, `"new"`. */
38
39
  badges: string[];
39
- /** The trend's first example (never the clip it recasts). */
40
+ /**
41
+ * The trend's first example, else (a trend with no example) its original's
42
+ * display copy, as {@link TrendDetail.original}.
43
+ */
40
44
  cover: {
41
45
  videoUrl: string;
42
46
  posterUrl?: string;
@@ -55,9 +59,18 @@ interface TrendDetailSlot {
55
59
  key: string;
56
60
  label: string;
57
61
  kind: TrendSlotKind;
58
- /** A required slot needs pictures; an optional one left empty takes the chosen example's. */
62
+ /**
63
+ * A required slot needs pictures; an optional one left empty takes the
64
+ * chosen example's, or, on a trend with no example, stays as in the original.
65
+ */
59
66
  required: boolean;
60
67
  hint?: string;
68
+ /**
69
+ * A picture showing who or what this slot is in the original (e.g. a frame
70
+ * of that actor), when the trend has one. Show it on an empty slot; a run
71
+ * never sends it.
72
+ */
73
+ hintImageUrl?: string;
61
74
  /**
62
75
  * The chips you may set on this slot, in its kind's order; `[]` = none (show
63
76
  * no chips row). A chip of the kind that is not listed is fixed by the
@@ -76,21 +89,48 @@ interface TrendExample {
76
89
  /** Slot key → the pictures this example used for it. */
77
90
  slots: Record<string, string[]>;
78
91
  }
92
+ /**
93
+ * The clip a trend recasts, as you may show it: a browser-safe copy (H.264
94
+ * MP4) of the clip every run starts from. Its fields parallel
95
+ * {@link TrendExample}'s.
96
+ */
97
+ interface TrendOriginal {
98
+ videoUrl: string;
99
+ posterUrl?: string;
100
+ width: number;
101
+ height: number;
102
+ /** The copy's length, in seconds. */
103
+ durationSec: number;
104
+ /**
105
+ * Where the 4-second preview starts in the clip, in seconds (`0` included),
106
+ * when the trend offers one ({@link TrendDetail.previewSec} is `4`); absent
107
+ * otherwise.
108
+ */
109
+ previewStartSec?: number;
110
+ }
79
111
  /** A trend's page (`get()`). */
80
112
  interface TrendDetail extends TrendCard {
81
113
  /** The published version this page shows. */
82
114
  version: number;
83
115
  /** `4` when the trend offers a 4-second preview run, else `null`. */
84
116
  previewSec: 4 | null;
85
- /** The video engine every run of this trend uses. Absent (an older server) = `"seedance-2-5"`. */
117
+ /**
118
+ * The original clip every run starts from, to show beside the examples.
119
+ * Absent only on a version without a display copy (and from an older server).
120
+ */
121
+ original?: TrendOriginal;
122
+ /** The engine every run of this trend uses. Absent (an older server) = `"motion-pro"`. */
86
123
  engine?: TrendEngine;
124
+ /** Its name to show: "Nodaro Motion Pro" or "Nodaro Motion Lite". Absent from an older server. */
125
+ engineName?: string;
87
126
  /**
88
- * The resolutions a run may ask for, the default first. Seedance 2.5:
127
+ * The resolutions a run may ask for, the default first. Nodaro Motion Pro:
89
128
  * `["480p", "720p", "1080p"]`, where 480p is a draft (show it as one);
90
- * Kling 4: `["720p", "1080p"]`, no draft. Offer exactly these.
129
+ * Nodaro Motion Lite: `["720p", "1080p"]`, no draft. Offer exactly these.
91
130
  */
92
131
  resolutions: TrendResolution[];
93
132
  slots: TrendDetailSlot[];
133
+ /** Finished runs to show beside the original; may be empty (a trend with only its original). */
94
134
  examples: TrendExample[];
95
135
  }
96
136
  /** What you put in one slot of a run: 1–3 pictures, and the chips the slot offers ({@link TrendDetailSlot.chips}). */
@@ -101,10 +141,15 @@ interface TrendRunSlot extends TrendChips {
101
141
  interface TrendRunRequest {
102
142
  /**
103
143
  * Slot key → what you put in it. Every required slot needs pictures; an
104
- * optional slot left out takes the chosen example's. 1–3 pictures per slot.
144
+ * optional slot left out takes the chosen example's, or, on a trend with no
145
+ * example, stays as in the original. 1–3 pictures per slot.
105
146
  */
106
147
  slots: Record<string, TrendRunSlot>;
107
- /** 1-based example whose pictures fill the optional slots you leave empty. Default 1. */
148
+ /**
149
+ * 1-based example whose pictures fill the optional slots you leave empty.
150
+ * Default 1. Leave it out on a trend with no examples: sending one there
151
+ * answers 400 `example_out_of_range` (and `0` is a `validation_error`).
152
+ */
108
153
  example?: number;
109
154
  /** Your own words, at most 1,000 characters. Mention a slot as `{slot:<key>}`. */
110
155
  details?: string;
@@ -112,13 +157,13 @@ interface TrendRunRequest {
112
157
  preview?: boolean;
113
158
  /**
114
159
  * One of the trend's {@link TrendDetail.resolutions}; default its first
115
- * (`"480p"` on Seedance 2.5, `"720p"` on Kling 4). Another answers 400
160
+ * (`"480p"` on Nodaro Motion Pro, `"720p"` on Nodaro Motion Lite). Another answers 400
116
161
  * `resolution_unsupported`.
117
162
  */
118
163
  resolution?: TrendResolution;
119
164
  /**
120
- * A draft run, only at 480p on a Seedance 2.5 trend. Default `true` at
121
- * 480p. `true` on a Kling 4 trend answers 400 `draft_unsupported`.
165
+ * A draft run, only at 480p on a Nodaro Motion Pro trend. Default `true` at
166
+ * 480p. `true` on a Nodaro Motion Lite trend answers 400 `draft_unsupported`.
122
167
  */
123
168
  draft?: boolean;
124
169
  /**
@@ -130,9 +175,9 @@ interface TrendRunRequest {
130
175
  projectId?: string;
131
176
  /**
132
177
  * A full run's own preview: the `jobId` of a completed preview run of this
133
- * trend that you started. When the trend masks faces only as needed and that
134
- * preview needed it, the full run masks them from the start (the quote
135
- * includes it). Any other job is ignored, without an error. Must be a uuid
178
+ * trend that you started. When that preview needed the trend's retry (the
179
+ * clip refused at first), the full run is made that way from the start (the
180
+ * quote includes it). Any other job is ignored, without an error. Must be a uuid
136
181
  * (else 400 `validation_error`).
137
182
  */
138
183
  previewJobId?: string;
@@ -153,15 +198,19 @@ interface TrendEstimate {
153
198
  /** What is reserved when the run starts; the run is charged what it actually costs. */
154
199
  holdCredits: number;
155
200
  /**
156
- * The parts of the quote, by name. With `maskingCredits`, `masking` is
157
- * listed here too but is not part of `holdCredits` or `expectedCredits`.
201
+ * The parts of the quote, by name, for display only: some are alternatives
202
+ * or sit outside the totals (`privacy`, the retry's, beside
203
+ * `privacyCredits`), so read `expectedCredits` and `holdCredits`, never
204
+ * their sum.
158
205
  */
159
206
  breakdown: Record<string, number>;
160
207
  /**
161
- * Only for a trend that masks faces only as needed: the extra credits
162
- * charged if the video model refuses the clip and the run is retried with
163
- * the faces masked. Not included in `expectedCredits` or `holdCredits`.
208
+ * Only on a trend that retries a clip the video model refuses: the extra
209
+ * credits charged if that retry runs. Not included in `expectedCredits` or
210
+ * `holdCredits`. 0 (or absent) when there is nothing extra to charge.
164
211
  */
212
+ privacyCredits?: number;
213
+ /** @deprecated read {@link privacyCredits} (an older server answered this name). */
165
214
  maskingCredits?: number;
166
215
  }
167
216
  /** Per-call options for {@link TrendsResource.run}. */
@@ -179,7 +228,11 @@ interface TrendRunDisplaySlot extends TrendChips {
179
228
  label: string;
180
229
  kind: TrendSlotKind;
181
230
  images: string[];
182
- /** `true` when the slot was left empty and the example's pictures filled it. */
231
+ /**
232
+ * `true` when the slot was left empty and the example's pictures filled it.
233
+ * `false` with no `images`: left empty on a trend with no example, so it
234
+ * stayed as in the original.
235
+ */
183
236
  fromExample: boolean;
184
237
  }
185
238
  /**
@@ -214,23 +267,28 @@ interface TrendRun {
214
267
  version: number;
215
268
  name: string;
216
269
  };
217
- /** The 1-based example used for empty optional slots. */
270
+ /**
271
+ * The 1-based example used for empty optional slots; `0` = the trend had no
272
+ * example (none was used: never show it as "Example 0").
273
+ */
218
274
  example: number;
219
275
  slots: TrendRunDisplaySlot[];
220
276
  details?: string;
221
277
  preview: boolean;
222
278
  resolution: string;
223
279
  draft: boolean;
224
- /** The video engine the run was made on. Absent (an older server) = `"seedance-2-5"`. */
280
+ /** The engine the run was made on. Absent (an older server) = `"motion-pro"`. */
225
281
  engine?: TrendEngine;
282
+ /** Its name to show: "Nodaro Motion Pro" or "Nodaro Motion Lite". Absent from an older server. */
283
+ engineName?: string;
226
284
  /** The result, once completed. */
227
285
  videoUrl: string | null;
228
286
  posterUrl: string | null;
229
287
  creditsCharged: number | null;
230
- /** A Full Quality version: the job id of the run (a draft, or a Kling 4 720p run) it was made from. `null` for any other run. */
288
+ /** A Full Quality version: the job id of the run (a draft, or a Nodaro Motion Lite 720p run) it was made from. `null` for any other run. */
231
289
  fullQualityOf: string | null;
232
290
  /**
233
- * A draft's (or Kling 4 720p run's) newest Full Quality try, if one was started: a pointer only,
291
+ * A draft's (or Nodaro Motion Lite 720p run's) newest Full Quality try, if one was started: a pointer only,
234
292
  * to know an upgrade exists and how it is going. Its video and charge are on
235
293
  * that run, listed on its own (its `fullQualityOf` is this run's `jobId`) —
236
294
  * read it there (`getRun(fullQuality.jobId)`). Older tries of the draft (a
@@ -242,8 +300,8 @@ interface TrendRun {
242
300
  status: string;
243
301
  } | null;
244
302
  /**
245
- * Until when a completed run can be redone in Full Quality — a Seedance 2.5
246
- * draft (the same take at 1080p) or a Kling 4 run at 720p (a new take at
303
+ * Until when a completed run can be redone in Full Quality — a Nodaro Motion
304
+ * Pro draft (the same take at 1080p) or a Nodaro Motion Lite run at 720p (a new take at
247
305
  * 1080p); `null` otherwise.
248
306
  */
249
307
  fullQualityUntil: string | null;
@@ -326,4 +384,4 @@ declare class TrendsResource {
326
384
  unfavorite(slug: string): Promise<void>;
327
385
  }
328
386
 
329
- export { type ListTrendRunsParams, type ListTrendsParams, type TrendCard, type TrendChipKey, type TrendChips, type TrendChoice, type TrendDetail, type TrendDetailSlot, type TrendEngine, type TrendEstimate, type TrendExample, type TrendPage, type TrendResolution, type TrendRun, type TrendRunDisplaySlot, type TrendRunOptions, type TrendRunRequest, type TrendRunSlot, type TrendSlotKind, type TrendTag, TrendsResource };
387
+ export { type ListTrendRunsParams, type ListTrendsParams, type TrendCard, type TrendChipKey, type TrendChips, type TrendChoice, type TrendDetail, type TrendDetailSlot, type TrendEngine, type TrendEstimate, type TrendExample, type TrendOriginal, type TrendPage, type TrendResolution, type TrendRun, type TrendRunDisplaySlot, type TrendRunOptions, type TrendRunRequest, type TrendRunSlot, type TrendSlotKind, type TrendTag, TrendsResource };
@@ -23,8 +23,9 @@ interface TrendChips {
23
23
  type TrendChipKey = keyof TrendChips;
24
24
  type TrendResolution = "480p" | "720p" | "1080p";
25
25
  /**
26
- * The video engine a trend runs on ({@link CastSwapEngine}): the trend
27
- * chooses it, never the person running it.
26
+ * The engine a trend runs on, by its public id ({@link CastSwapEngine}):
27
+ * `"motion-pro"` (Nodaro Motion Pro) or `"motion-lite"` (Nodaro Motion Lite).
28
+ * The trend chooses it, never the person running it.
28
29
  */
29
30
  type TrendEngine = CastSwapEngine;
30
31
  /** A trend in the catalog (`list()`). Text is in the resolved locale. */
@@ -36,7 +37,10 @@ interface TrendCard {
36
37
  tags: string[];
37
38
  /** e.g. `"trending"`, `"new"`. */
38
39
  badges: string[];
39
- /** The trend's first example (never the clip it recasts). */
40
+ /**
41
+ * The trend's first example, else (a trend with no example) its original's
42
+ * display copy, as {@link TrendDetail.original}.
43
+ */
40
44
  cover: {
41
45
  videoUrl: string;
42
46
  posterUrl?: string;
@@ -55,9 +59,18 @@ interface TrendDetailSlot {
55
59
  key: string;
56
60
  label: string;
57
61
  kind: TrendSlotKind;
58
- /** A required slot needs pictures; an optional one left empty takes the chosen example's. */
62
+ /**
63
+ * A required slot needs pictures; an optional one left empty takes the
64
+ * chosen example's, or, on a trend with no example, stays as in the original.
65
+ */
59
66
  required: boolean;
60
67
  hint?: string;
68
+ /**
69
+ * A picture showing who or what this slot is in the original (e.g. a frame
70
+ * of that actor), when the trend has one. Show it on an empty slot; a run
71
+ * never sends it.
72
+ */
73
+ hintImageUrl?: string;
61
74
  /**
62
75
  * The chips you may set on this slot, in its kind's order; `[]` = none (show
63
76
  * no chips row). A chip of the kind that is not listed is fixed by the
@@ -76,21 +89,48 @@ interface TrendExample {
76
89
  /** Slot key → the pictures this example used for it. */
77
90
  slots: Record<string, string[]>;
78
91
  }
92
+ /**
93
+ * The clip a trend recasts, as you may show it: a browser-safe copy (H.264
94
+ * MP4) of the clip every run starts from. Its fields parallel
95
+ * {@link TrendExample}'s.
96
+ */
97
+ interface TrendOriginal {
98
+ videoUrl: string;
99
+ posterUrl?: string;
100
+ width: number;
101
+ height: number;
102
+ /** The copy's length, in seconds. */
103
+ durationSec: number;
104
+ /**
105
+ * Where the 4-second preview starts in the clip, in seconds (`0` included),
106
+ * when the trend offers one ({@link TrendDetail.previewSec} is `4`); absent
107
+ * otherwise.
108
+ */
109
+ previewStartSec?: number;
110
+ }
79
111
  /** A trend's page (`get()`). */
80
112
  interface TrendDetail extends TrendCard {
81
113
  /** The published version this page shows. */
82
114
  version: number;
83
115
  /** `4` when the trend offers a 4-second preview run, else `null`. */
84
116
  previewSec: 4 | null;
85
- /** The video engine every run of this trend uses. Absent (an older server) = `"seedance-2-5"`. */
117
+ /**
118
+ * The original clip every run starts from, to show beside the examples.
119
+ * Absent only on a version without a display copy (and from an older server).
120
+ */
121
+ original?: TrendOriginal;
122
+ /** The engine every run of this trend uses. Absent (an older server) = `"motion-pro"`. */
86
123
  engine?: TrendEngine;
124
+ /** Its name to show: "Nodaro Motion Pro" or "Nodaro Motion Lite". Absent from an older server. */
125
+ engineName?: string;
87
126
  /**
88
- * The resolutions a run may ask for, the default first. Seedance 2.5:
127
+ * The resolutions a run may ask for, the default first. Nodaro Motion Pro:
89
128
  * `["480p", "720p", "1080p"]`, where 480p is a draft (show it as one);
90
- * Kling 4: `["720p", "1080p"]`, no draft. Offer exactly these.
129
+ * Nodaro Motion Lite: `["720p", "1080p"]`, no draft. Offer exactly these.
91
130
  */
92
131
  resolutions: TrendResolution[];
93
132
  slots: TrendDetailSlot[];
133
+ /** Finished runs to show beside the original; may be empty (a trend with only its original). */
94
134
  examples: TrendExample[];
95
135
  }
96
136
  /** What you put in one slot of a run: 1–3 pictures, and the chips the slot offers ({@link TrendDetailSlot.chips}). */
@@ -101,10 +141,15 @@ interface TrendRunSlot extends TrendChips {
101
141
  interface TrendRunRequest {
102
142
  /**
103
143
  * Slot key → what you put in it. Every required slot needs pictures; an
104
- * optional slot left out takes the chosen example's. 1–3 pictures per slot.
144
+ * optional slot left out takes the chosen example's, or, on a trend with no
145
+ * example, stays as in the original. 1–3 pictures per slot.
105
146
  */
106
147
  slots: Record<string, TrendRunSlot>;
107
- /** 1-based example whose pictures fill the optional slots you leave empty. Default 1. */
148
+ /**
149
+ * 1-based example whose pictures fill the optional slots you leave empty.
150
+ * Default 1. Leave it out on a trend with no examples: sending one there
151
+ * answers 400 `example_out_of_range` (and `0` is a `validation_error`).
152
+ */
108
153
  example?: number;
109
154
  /** Your own words, at most 1,000 characters. Mention a slot as `{slot:<key>}`. */
110
155
  details?: string;
@@ -112,13 +157,13 @@ interface TrendRunRequest {
112
157
  preview?: boolean;
113
158
  /**
114
159
  * One of the trend's {@link TrendDetail.resolutions}; default its first
115
- * (`"480p"` on Seedance 2.5, `"720p"` on Kling 4). Another answers 400
160
+ * (`"480p"` on Nodaro Motion Pro, `"720p"` on Nodaro Motion Lite). Another answers 400
116
161
  * `resolution_unsupported`.
117
162
  */
118
163
  resolution?: TrendResolution;
119
164
  /**
120
- * A draft run, only at 480p on a Seedance 2.5 trend. Default `true` at
121
- * 480p. `true` on a Kling 4 trend answers 400 `draft_unsupported`.
165
+ * A draft run, only at 480p on a Nodaro Motion Pro trend. Default `true` at
166
+ * 480p. `true` on a Nodaro Motion Lite trend answers 400 `draft_unsupported`.
122
167
  */
123
168
  draft?: boolean;
124
169
  /**
@@ -130,9 +175,9 @@ interface TrendRunRequest {
130
175
  projectId?: string;
131
176
  /**
132
177
  * A full run's own preview: the `jobId` of a completed preview run of this
133
- * trend that you started. When the trend masks faces only as needed and that
134
- * preview needed it, the full run masks them from the start (the quote
135
- * includes it). Any other job is ignored, without an error. Must be a uuid
178
+ * trend that you started. When that preview needed the trend's retry (the
179
+ * clip refused at first), the full run is made that way from the start (the
180
+ * quote includes it). Any other job is ignored, without an error. Must be a uuid
136
181
  * (else 400 `validation_error`).
137
182
  */
138
183
  previewJobId?: string;
@@ -153,15 +198,19 @@ interface TrendEstimate {
153
198
  /** What is reserved when the run starts; the run is charged what it actually costs. */
154
199
  holdCredits: number;
155
200
  /**
156
- * The parts of the quote, by name. With `maskingCredits`, `masking` is
157
- * listed here too but is not part of `holdCredits` or `expectedCredits`.
201
+ * The parts of the quote, by name, for display only: some are alternatives
202
+ * or sit outside the totals (`privacy`, the retry's, beside
203
+ * `privacyCredits`), so read `expectedCredits` and `holdCredits`, never
204
+ * their sum.
158
205
  */
159
206
  breakdown: Record<string, number>;
160
207
  /**
161
- * Only for a trend that masks faces only as needed: the extra credits
162
- * charged if the video model refuses the clip and the run is retried with
163
- * the faces masked. Not included in `expectedCredits` or `holdCredits`.
208
+ * Only on a trend that retries a clip the video model refuses: the extra
209
+ * credits charged if that retry runs. Not included in `expectedCredits` or
210
+ * `holdCredits`. 0 (or absent) when there is nothing extra to charge.
164
211
  */
212
+ privacyCredits?: number;
213
+ /** @deprecated read {@link privacyCredits} (an older server answered this name). */
165
214
  maskingCredits?: number;
166
215
  }
167
216
  /** Per-call options for {@link TrendsResource.run}. */
@@ -179,7 +228,11 @@ interface TrendRunDisplaySlot extends TrendChips {
179
228
  label: string;
180
229
  kind: TrendSlotKind;
181
230
  images: string[];
182
- /** `true` when the slot was left empty and the example's pictures filled it. */
231
+ /**
232
+ * `true` when the slot was left empty and the example's pictures filled it.
233
+ * `false` with no `images`: left empty on a trend with no example, so it
234
+ * stayed as in the original.
235
+ */
183
236
  fromExample: boolean;
184
237
  }
185
238
  /**
@@ -214,23 +267,28 @@ interface TrendRun {
214
267
  version: number;
215
268
  name: string;
216
269
  };
217
- /** The 1-based example used for empty optional slots. */
270
+ /**
271
+ * The 1-based example used for empty optional slots; `0` = the trend had no
272
+ * example (none was used: never show it as "Example 0").
273
+ */
218
274
  example: number;
219
275
  slots: TrendRunDisplaySlot[];
220
276
  details?: string;
221
277
  preview: boolean;
222
278
  resolution: string;
223
279
  draft: boolean;
224
- /** The video engine the run was made on. Absent (an older server) = `"seedance-2-5"`. */
280
+ /** The engine the run was made on. Absent (an older server) = `"motion-pro"`. */
225
281
  engine?: TrendEngine;
282
+ /** Its name to show: "Nodaro Motion Pro" or "Nodaro Motion Lite". Absent from an older server. */
283
+ engineName?: string;
226
284
  /** The result, once completed. */
227
285
  videoUrl: string | null;
228
286
  posterUrl: string | null;
229
287
  creditsCharged: number | null;
230
- /** A Full Quality version: the job id of the run (a draft, or a Kling 4 720p run) it was made from. `null` for any other run. */
288
+ /** A Full Quality version: the job id of the run (a draft, or a Nodaro Motion Lite 720p run) it was made from. `null` for any other run. */
231
289
  fullQualityOf: string | null;
232
290
  /**
233
- * A draft's (or Kling 4 720p run's) newest Full Quality try, if one was started: a pointer only,
291
+ * A draft's (or Nodaro Motion Lite 720p run's) newest Full Quality try, if one was started: a pointer only,
234
292
  * to know an upgrade exists and how it is going. Its video and charge are on
235
293
  * that run, listed on its own (its `fullQualityOf` is this run's `jobId`) —
236
294
  * read it there (`getRun(fullQuality.jobId)`). Older tries of the draft (a
@@ -242,8 +300,8 @@ interface TrendRun {
242
300
  status: string;
243
301
  } | null;
244
302
  /**
245
- * Until when a completed run can be redone in Full Quality — a Seedance 2.5
246
- * draft (the same take at 1080p) or a Kling 4 run at 720p (a new take at
303
+ * Until when a completed run can be redone in Full Quality — a Nodaro Motion
304
+ * Pro draft (the same take at 1080p) or a Nodaro Motion Lite run at 720p (a new take at
247
305
  * 1080p); `null` otherwise.
248
306
  */
249
307
  fullQualityUntil: string | null;
@@ -326,4 +384,4 @@ declare class TrendsResource {
326
384
  unfavorite(slug: string): Promise<void>;
327
385
  }
328
386
 
329
- export { type ListTrendRunsParams, type ListTrendsParams, type TrendCard, type TrendChipKey, type TrendChips, type TrendChoice, type TrendDetail, type TrendDetailSlot, type TrendEngine, type TrendEstimate, type TrendExample, type TrendPage, type TrendResolution, type TrendRun, type TrendRunDisplaySlot, type TrendRunOptions, type TrendRunRequest, type TrendRunSlot, type TrendSlotKind, type TrendTag, TrendsResource };
387
+ export { type ListTrendRunsParams, type ListTrendsParams, type TrendCard, type TrendChipKey, type TrendChips, type TrendChoice, type TrendDetail, type TrendDetailSlot, type TrendEngine, type TrendEstimate, type TrendExample, type TrendOriginal, type TrendPage, type TrendResolution, type TrendRun, type TrendRunDisplaySlot, type TrendRunOptions, type TrendRunRequest, type TrendRunSlot, type TrendSlotKind, type TrendTag, TrendsResource };
@@ -1,4 +1,4 @@
1
1
  import '../chunk-YCVRQZT3.js';
2
- export { TrendsResource } from '../chunk-4UPVE662.js';
2
+ export { TrendsResource } from '../chunk-XILR6TFO.js';
3
3
  //# sourceMappingURL=trends.js.map
4
4
  //# sourceMappingURL=trends.js.map
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  require('../chunk-VLCNNA76.cjs');
4
- var chunkFHVNTS4E_cjs = require('../chunk-FHVNTS4E.cjs');
4
+ var chunkKMNSPC72_cjs = require('../chunk-KMNSPC72.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "TutorialsResource", {
9
9
  enumerable: true,
10
- get: function () { return chunkFHVNTS4E_cjs.TutorialsResource; }
10
+ get: function () { return chunkKMNSPC72_cjs.TutorialsResource; }
11
11
  });
12
12
  //# sourceMappingURL=tutorials.cjs.map
13
13
  //# sourceMappingURL=tutorials.cjs.map
@@ -34,7 +34,7 @@ interface TutorialFlowItem {
34
34
  /** The listed price; when `estimatedPerMinuteCredits` is above 0, its fixed part. */
35
35
  estimatedCredits: number;
36
36
  /** The listed price holds a metered LLM call's ESTIMATE (its model's typical
37
- * call, charged its actual usage per token): show it `~N`. Absent for a
37
+ * call, charged its actual usage per token): show it `≈N`. Absent for a
38
38
  * fixed price, and on a deployment running the tier-pricing rollback. */
39
39
  estimatedCreditsIsEstimate?: true;
40
40
  /** Credits per minute of the recording the template is given (see `TemplateBrowseCard`); 0 or absent when none. */
@@ -34,7 +34,7 @@ interface TutorialFlowItem {
34
34
  /** The listed price; when `estimatedPerMinuteCredits` is above 0, its fixed part. */
35
35
  estimatedCredits: number;
36
36
  /** The listed price holds a metered LLM call's ESTIMATE (its model's typical
37
- * call, charged its actual usage per token): show it `~N`. Absent for a
37
+ * call, charged its actual usage per token): show it `≈N`. Absent for a
38
38
  * fixed price, and on a deployment running the tier-pricing rollback. */
39
39
  estimatedCreditsIsEstimate?: true;
40
40
  /** Credits per minute of the recording the template is given (see `TemplateBrowseCard`); 0 or absent when none. */
@@ -1,4 +1,4 @@
1
1
  import '../chunk-VT237QF2.js';
2
- export { TutorialsResource } from '../chunk-YSZM3N7Q.js';
2
+ export { TutorialsResource } from '../chunk-HPXE3NZW.js';
3
3
  //# sourceMappingURL=tutorials.js.map
4
4
  //# sourceMappingURL=tutorials.js.map
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  require('../chunk-45CK55BH.cjs');
4
- var chunkVYEGCEZ3_cjs = require('../chunk-VYEGCEZ3.cjs');
4
+ var chunkWUM6CWTE_cjs = require('../chunk-WUM6CWTE.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "WorkflowsResource", {
9
9
  enumerable: true,
10
- get: function () { return chunkVYEGCEZ3_cjs.WorkflowsResource; }
10
+ get: function () { return chunkWUM6CWTE_cjs.WorkflowsResource; }
11
11
  });
12
12
  //# sourceMappingURL=workflows.cjs.map
13
13
  //# sourceMappingURL=workflows.cjs.map
@@ -198,14 +198,21 @@ interface RenderFinalQuote {
198
198
  estimatedCredits: number | null;
199
199
  /**
200
200
  * Present (`true`) when `estimatedCredits` includes an LLM node's estimate:
201
- * an LLM call is charged its actual usage after it runs, so show `~N`.
201
+ * an LLM call is charged its actual usage after it runs, so show `≈N`.
202
202
  * Absent for a fixed price.
203
203
  */
204
204
  estimatedCreditsIsEstimate?: true;
205
205
  /**
206
- * Whether the payer can cover `estimatedCredits`; `null` in an edition
207
- * without credits. When `false`, {@link WorkflowsResource.renderFinal} is
208
- * refused with `InsufficientCreditsError` before any execution exists.
206
+ * What the run holds while it renders (a UGC clip at its hold), never below
207
+ * `estimatedCredits`: the figure `sufficient` is checked against. `null` in
208
+ * an edition without credits; absent from an older server.
209
+ */
210
+ holdCredits?: number | null;
211
+ /**
212
+ * Whether the payer can cover what the run holds (`holdCredits`); `null` in
213
+ * an edition without credits. When `false`, {@link WorkflowsResource.renderFinal}
214
+ * is refused with `InsufficientCreditsError` (its `required` is that hold)
215
+ * before any execution exists.
209
216
  */
210
217
  sufficient: boolean | null;
211
218
  /**
@@ -198,14 +198,21 @@ interface RenderFinalQuote {
198
198
  estimatedCredits: number | null;
199
199
  /**
200
200
  * Present (`true`) when `estimatedCredits` includes an LLM node's estimate:
201
- * an LLM call is charged its actual usage after it runs, so show `~N`.
201
+ * an LLM call is charged its actual usage after it runs, so show `≈N`.
202
202
  * Absent for a fixed price.
203
203
  */
204
204
  estimatedCreditsIsEstimate?: true;
205
205
  /**
206
- * Whether the payer can cover `estimatedCredits`; `null` in an edition
207
- * without credits. When `false`, {@link WorkflowsResource.renderFinal} is
208
- * refused with `InsufficientCreditsError` before any execution exists.
206
+ * What the run holds while it renders (a UGC clip at its hold), never below
207
+ * `estimatedCredits`: the figure `sufficient` is checked against. `null` in
208
+ * an edition without credits; absent from an older server.
209
+ */
210
+ holdCredits?: number | null;
211
+ /**
212
+ * Whether the payer can cover what the run holds (`holdCredits`); `null` in
213
+ * an edition without credits. When `false`, {@link WorkflowsResource.renderFinal}
214
+ * is refused with `InsufficientCreditsError` (its `required` is that hold)
215
+ * before any execution exists.
209
216
  */
210
217
  sufficient: boolean | null;
211
218
  /**
@@ -1,4 +1,4 @@
1
1
  import '../chunk-PGYQ754I.js';
2
- export { WorkflowsResource } from '../chunk-RETNLKOC.js';
2
+ export { WorkflowsResource } from '../chunk-33HT46A3.js';
3
3
  //# sourceMappingURL=workflows.js.map
4
4
  //# sourceMappingURL=workflows.js.map