@nodaro/shared 2.1.0 → 2.2.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.
package/dist/index.js CHANGED
@@ -14,7 +14,17 @@ var DEFAULT_LABEL_BY_SOURCE = {
14
14
  // subject ("match anatomy, markings…"), not a prop. See CREATURE_LABELS in
15
15
  // prompt-builder.ts.
16
16
  "wired-creature": "creature",
17
- "wired-location": "background"
17
+ // A PLACE, NOT A BACKDROP (2026-08-05). This defaulted to "background", which
18
+ // `roleToPhrase` renders as "the background from reference image B" — and the
19
+ // image models read that as "paste this behind the subject". Measured on
20
+ // gpt-image-2 (character + location, 4 draws per arm): with "background" every
21
+ // draw was a cut-out composite — an indoor-lit subject over a stock beach, no
22
+ // cast shadow, ignoring the asked-for action. Changing ONLY this word put the
23
+ // subject inside the scene with ground contact and a matching sun. "background"
24
+ // remains a curated pick in REFERENCE_ROLE_PRESETS for the genuine backdrop
25
+ // case; it is no longer what every location silently gets. Nodes that stored a
26
+ // role explicitly are untouched — `resolveDefaultRole` prefers the explicit value.
27
+ "wired-location": "location"
18
28
  };
19
29
 
20
30
  // src/freecut-protocol.ts
@@ -261,10 +271,10 @@ var IMAGE_MODELS = {
261
271
  aspectRatios: FLUX_RATIOS,
262
272
  resolutions: ["0.5 MP", "1 MP", "2 MP", "4 MP"],
263
273
  pricing: [
264
- { identifier: "flux-2-klein", credits: 10 },
274
+ { identifier: "flux-2-klein", credits: 3 },
265
275
  // 1MP 0ref (default)
266
276
  { identifier: "flux-2-klein:1MP:0ref", credits: 3 },
267
- // min
277
+ // min — same point on the grid as the bare default
268
278
  { identifier: "flux-2-klein:4MP:8ref", credits: 108 }
269
279
  // max
270
280
  ]
@@ -295,7 +305,7 @@ var IMAGE_MODELS = {
295
305
  aspectRatios: FLUX_RATIOS,
296
306
  resolutions: ["0.5 MP", "1 MP", "2 MP", "4 MP"],
297
307
  pricing: [
298
- { identifier: "flux-2-pro", credits: 30 },
308
+ { identifier: "flux-2-pro", credits: 23 },
299
309
  // 2MP 0ref (default)
300
310
  { identifier: "flux-2-pro:0.5MP:0ref", credits: 12 },
301
311
  // min
@@ -769,6 +779,42 @@ var VIDEO_MODELS = {
769
779
  durations: [5],
770
780
  pricing: [{ identifier: "minimax", credits: 143, note: "5s, 1080p" }]
771
781
  },
782
+ // MiniMax Hailuo 3 (KIE "minimax-h3") — t2v / i2v (first and/or last frame) /
783
+ // reference-to-video (9 images / 3 videos ≤15s total / 3 audios ≤15s total;
784
+ // audio refs require an image or video ref alongside). Two-rate resolution
785
+ // lever (768P added 2026-08-03): 2K (KIE default) at 36.5 KIE cr/s, 768P at
786
+ // 22.5 KIE cr/s — billed on output + input-video seconds at the SELECTED
787
+ // resolution's rate; input images beyond the first 5 add 11 KIE cr each,
788
+ // reference audio free. Bare duration composites stay the 2K rate (identical
789
+ // to the pre-lever seeded rows); 768P appends ":768p". Mirrors the Seedance 2
790
+ // multimodal surface.
791
+ // docs.kie.ai/market/minimax-h3/{text,image,reference}-to-video.
792
+ "minimax-h3": {
793
+ id: "minimax-h3",
794
+ kind: "video",
795
+ modes: ["i2v", "t2v"],
796
+ family: "MiniMax",
797
+ label: "Hailuo 3 (H3)",
798
+ series: "Hailuo",
799
+ description: "MiniMax Hailuo 3 \u2014 premium multimodal tier: first/last frame + image/video/audio references, native audio, 2K (default) or 768P output, 4-15s per-second pricing.",
800
+ useCases: ["premium", "narrative"],
801
+ features: ["end-frame", "audio", "reference-image", "video-reference"],
802
+ aspectRatios: VIDEO_RATIOS_SEEDANCE_2,
803
+ durations: [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
804
+ // First entry = default (the UI dropdown + fail-safe snap use opts[0], and
805
+ // 2K is the KIE-side default). Uppercase values are the exact KIE wire enum.
806
+ resolutions: ["2K", "768P"],
807
+ valueLabels: { "2K": "2K (default)" },
808
+ pricing: [
809
+ { identifier: "minimax-h3", credits: 550, note: "default 6s @2K \u2014 see :Ns variants" },
810
+ { identifier: "minimax-h3:4s", credits: 370, note: "4s @2K (min)" },
811
+ { identifier: "minimax-h3:8s", credits: 730, note: "8s @2K" },
812
+ { identifier: "minimax-h3:15s", credits: 1370, note: "15s @2K (max)" },
813
+ { identifier: "minimax-h3:4s:768p", credits: 230, note: "4s @768P (min)" },
814
+ { identifier: "minimax-h3:8s:768p", credits: 450, note: "8s @768P" },
815
+ { identifier: "minimax-h3:15s:768p", credits: 850, note: "15s @768P (max)" }
816
+ ]
817
+ },
772
818
  "hailuo-2.3-pro": {
773
819
  id: "hailuo-2.3-pro",
774
820
  kind: "video",
@@ -1089,7 +1135,7 @@ var VIDEO_MODELS = {
1089
1135
  series: "Seedance",
1090
1136
  description: "Seedance 2 \u2014 premium tier with native audio. Per-second pricing by resolution.",
1091
1137
  useCases: ["premium", "narrative"],
1092
- features: ["end-frame", "audio", "reference-image"],
1138
+ features: ["end-frame", "audio", "reference-image", "video-reference"],
1093
1139
  aspectRatios: VIDEO_RATIOS_SEEDANCE_2,
1094
1140
  durations: [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
1095
1141
  resolutions: ["480p", "720p", "1080p", "4k"],
@@ -1114,7 +1160,7 @@ var VIDEO_MODELS = {
1114
1160
  series: "Seedance",
1115
1161
  description: "Cheaper / quicker Seedance 2 tier.",
1116
1162
  useCases: ["fast", "motion"],
1117
- features: ["end-frame", "audio", "reference-image"],
1163
+ features: ["end-frame", "audio", "reference-image", "video-reference"],
1118
1164
  aspectRatios: VIDEO_RATIOS_SEEDANCE_2,
1119
1165
  durations: [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
1120
1166
  resolutions: ["480p", "720p"],
@@ -1135,7 +1181,7 @@ var VIDEO_MODELS = {
1135
1181
  series: "Seedance",
1136
1182
  description: "Budget Seedance 2 tier \u2014 480p/720p only, per-second pricing by resolution.",
1137
1183
  useCases: ["fast", "motion"],
1138
- features: ["end-frame", "audio", "reference-image"],
1184
+ features: ["end-frame", "audio", "reference-image", "video-reference"],
1139
1185
  aspectRatios: VIDEO_RATIOS_SEEDANCE_2,
1140
1186
  durations: [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
1141
1187
  resolutions: ["480p", "720p"],
@@ -1147,6 +1193,34 @@ var VIDEO_MODELS = {
1147
1193
  { identifier: "seedance-2-mini:8s:720p-ref", credits: 250 }
1148
1194
  ]
1149
1195
  },
1196
+ // Seedance 2.5 — the next Seedance generation, not a tier of the 2.0 ladder.
1197
+ // Two levers differ from every 2.0 SKU and drive its own entries throughout:
1198
+ // durations run to 30s (2.0 caps at 15s) and there is NO 1080p/4K tier.
1199
+ // Reference caps are also wider (30 images / 10 videos / 10 audio) — see
1200
+ // SEEDANCE_2_5_REF_LIMITS in model-constants.
1201
+ "seedance-2-5": {
1202
+ id: "seedance-2-5",
1203
+ kind: "video",
1204
+ modes: ["i2v", "t2v"],
1205
+ family: "Bytedance",
1206
+ label: "Seedance 2.5",
1207
+ series: "Seedance",
1208
+ description: "Seedance 2.5 \u2014 up to 30s in one shot, native audio, wide multimodal references. 480p/720p.",
1209
+ useCases: ["premium", "narrative", "long-form"],
1210
+ features: ["end-frame", "audio", "reference-image", "video-reference"],
1211
+ aspectRatios: VIDEO_RATIOS_SEEDANCE_2,
1212
+ durations: [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
1213
+ resolutions: ["480p", "720p"],
1214
+ pricing: [
1215
+ { identifier: "seedance-2-5", credits: 1260, note: "default 8s 720p \u2014 see :Ns:res variants for exact" },
1216
+ { identifier: "seedance-2-5:8s:480p", credits: 560, note: "8s 480p" },
1217
+ { identifier: "seedance-2-5:8s:720p", credits: 1260, note: "8s 720p" },
1218
+ { identifier: "seedance-2-5:8s:480p-ref", credits: 340, note: "8s 480p with reference video" },
1219
+ { identifier: "seedance-2-5:8s:720p-ref", credits: 760, note: "8s 720p with reference video" },
1220
+ { identifier: "seedance-2-5:30s:480p", credits: 2100, note: "30s 480p (max)" },
1221
+ { identifier: "seedance-2-5:30s:720p", credits: 4730, note: "30s 720p (max)" }
1222
+ ]
1223
+ },
1150
1224
  // ── Wan ──
1151
1225
  "wan-i2v": {
1152
1226
  id: "wan-i2v",
@@ -1668,11 +1742,11 @@ var VIDEO_MODELS = {
1668
1742
  description: "Legacy fast-tier analysis model (pre-2026-07). Kept so stored raw-model configs keep running and keep pricing under their own identifier; new fast-tier runs use the current fast model.",
1669
1743
  useCases: ["video-analysis", "shot-list", "fast"],
1670
1744
  pricing: [
1671
- { identifier: "video-analysis:gemini-3-flash", credits: 143, note: "10-min ceiling (no duration given)" },
1672
- { identifier: "video-analysis:gemini-3-flash:60s", credits: 24 },
1673
- { identifier: "video-analysis:gemini-3-flash:180s", credits: 33 },
1674
- { identifier: "video-analysis:gemini-3-flash:360s", credits: 86 },
1675
- { identifier: "video-analysis:gemini-3-flash:600s", credits: 143, note: "10-min ceiling" }
1745
+ { identifier: "video-analysis:gemini-3-flash", credits: 846, note: "10-min ceiling (no duration given)" },
1746
+ { identifier: "video-analysis:gemini-3-flash:60s", credits: 180 },
1747
+ { identifier: "video-analysis:gemini-3-flash:180s", credits: 185 },
1748
+ { identifier: "video-analysis:gemini-3-flash:360s", credits: 514 },
1749
+ { identifier: "video-analysis:gemini-3-flash:600s", credits: 846, note: "10-min ceiling" }
1676
1750
  ]
1677
1751
  },
1678
1752
  "gemini-3.6-flash-video-analysis": {
@@ -1685,11 +1759,11 @@ var VIDEO_MODELS = {
1685
1759
  description: "Analyze a video into a structured shot list (scenes, camera, audio) \u2014 fast, economy tier. Billed per duration bucket.",
1686
1760
  useCases: ["video-analysis", "shot-list", "fast"],
1687
1761
  pricing: [
1688
- { identifier: "video-analysis:gemini-3.6-flash", credits: 395, note: "10-min ceiling (no duration given)" },
1689
- { identifier: "video-analysis:gemini-3.6-flash:60s", credits: 65 },
1690
- { identifier: "video-analysis:gemini-3.6-flash:180s", credits: 92 },
1691
- { identifier: "video-analysis:gemini-3.6-flash:360s", credits: 237 },
1692
- { identifier: "video-analysis:gemini-3.6-flash:600s", credits: 395, note: "10-min ceiling" }
1762
+ { identifier: "video-analysis:gemini-3.6-flash", credits: 986, note: "10-min ceiling (no duration given)" },
1763
+ { identifier: "video-analysis:gemini-3.6-flash:60s", credits: 203 },
1764
+ { identifier: "video-analysis:gemini-3.6-flash:180s", credits: 218 },
1765
+ { identifier: "video-analysis:gemini-3.6-flash:360s", credits: 598 },
1766
+ { identifier: "video-analysis:gemini-3.6-flash:600s", credits: 986, note: "10-min ceiling" }
1693
1767
  ]
1694
1768
  },
1695
1769
  "gemini-3.1-pro-video-analysis": {
@@ -1702,11 +1776,11 @@ var VIDEO_MODELS = {
1702
1776
  description: "Analyze a video into a structured shot list (scenes, camera, audio) \u2014 higher-fidelity, default tier. Billed per duration bucket.",
1703
1777
  useCases: ["video-analysis", "shot-list", "cinematic"],
1704
1778
  pricing: [
1705
- { identifier: "video-analysis:gemini-3.1-pro", credits: 509, note: "10-min ceiling (no duration given)" },
1706
- { identifier: "video-analysis:gemini-3.1-pro:60s", credits: 87 },
1707
- { identifier: "video-analysis:gemini-3.1-pro:180s", credits: 116 },
1708
- { identifier: "video-analysis:gemini-3.1-pro:360s", credits: 305 },
1709
- { identifier: "video-analysis:gemini-3.1-pro:600s", credits: 509, note: "10-min ceiling" }
1779
+ { identifier: "video-analysis:gemini-3.1-pro", credits: 1050, note: "10-min ceiling (no duration given)" },
1780
+ { identifier: "video-analysis:gemini-3.1-pro:60s", credits: 215 },
1781
+ { identifier: "video-analysis:gemini-3.1-pro:180s", credits: 231 },
1782
+ { identifier: "video-analysis:gemini-3.1-pro:360s", credits: 636 },
1783
+ { identifier: "video-analysis:gemini-3.1-pro:600s", credits: 1050, note: "10-min ceiling" }
1710
1784
  ]
1711
1785
  },
1712
1786
  // Both mixed tiers are variants of the same advanced multi-engine analysis
@@ -1722,17 +1796,18 @@ var VIDEO_MODELS = {
1722
1796
  description: "Our most advanced analysis tier \u2014 multiple analysis engines combined into one result for maximum completeness and accuracy. Billed per duration bucket.",
1723
1797
  useCases: ["video-analysis", "shot-list", "premium", "most-complete"],
1724
1798
  pricing: [
1725
- { identifier: "video-analysis:mixed", credits: 651, note: "10-min ceiling (no duration given)" },
1726
- { identifier: "video-analysis:mixed:60s", credits: 110 },
1727
- { identifier: "video-analysis:mixed:180s", credits: 149 },
1728
- { identifier: "video-analysis:mixed:360s", credits: 390 },
1729
- { identifier: "video-analysis:mixed:600s", credits: 651, note: "10-min ceiling" }
1799
+ { identifier: "video-analysis:mixed", credits: 1169, note: "10-min ceiling (no duration given)" },
1800
+ { identifier: "video-analysis:mixed:60s", credits: 268 },
1801
+ { identifier: "video-analysis:mixed:180s", credits: 289 },
1802
+ { identifier: "video-analysis:mixed:360s", credits: 724 },
1803
+ { identifier: "video-analysis:mixed:600s", credits: 1169, note: "10-min ceiling" }
1730
1804
  ]
1731
1805
  },
1732
- // SMART — the accuracy tier, and the only one that does not rely on voting.
1733
- // Every other tier runs several cheap passes and has a grader pick between them;
1734
- // this one runs a single pass with reasoning and frame sampling turned all the
1735
- // way up. Priced well above them because it genuinely costs more to run.
1806
+ // SMART — the accuracy tier. Since the 2026-08-03 hybrid re-plan it is a
1807
+ // multi-roll plan like the others: a native skeleton pass blended with
1808
+ // several donor analysis rolls, with the merged result always refined
1809
+ // (it ignores `selectionMode` see video-analysis-pricing.ts). Priced
1810
+ // well above them because it genuinely costs more to run.
1736
1811
  "smart-video-analysis": {
1737
1812
  id: "smart-video-analysis",
1738
1813
  kind: "video",
@@ -1740,14 +1815,58 @@ var VIDEO_MODELS = {
1740
1815
  family: "Nodaro",
1741
1816
  label: "Video Analysis (Smart)",
1742
1817
  series: "Video Analysis",
1743
- description: "Highest-accuracy analysis \u2014 a single deep pass that reads the footage frame by frame, finds its own shot boundaries, and identifies the cast by appearance. Best choice when the shot list will drive regeneration. Billed per duration bucket.",
1818
+ description: "Highest-accuracy analysis \u2014 a hybrid pass that blends a native skeleton read with several donor analysis rolls, then always refines the merged result to find shot boundaries and identify the cast by appearance. Best choice when the shot list will drive regeneration. Billed per duration bucket.",
1744
1819
  useCases: ["video-analysis", "shot-list", "premium", "most-accurate"],
1745
1820
  pricing: [
1746
- { identifier: "video-analysis:smart", credits: 1868, note: "10-min ceiling (no duration given)" },
1747
- { identifier: "video-analysis:smart:60s", credits: 333 },
1748
- { identifier: "video-analysis:smart:180s", credits: 470 },
1749
- { identifier: "video-analysis:smart:360s", credits: 1135 },
1750
- { identifier: "video-analysis:smart:600s", credits: 1868, note: "10-min ceiling" }
1821
+ { identifier: "video-analysis:smart", credits: 2064, note: "10-min ceiling (no duration given)" },
1822
+ { identifier: "video-analysis:smart:60s", credits: 410 },
1823
+ { identifier: "video-analysis:smart:180s", credits: 500 },
1824
+ { identifier: "video-analysis:smart:360s", credits: 1259 },
1825
+ { identifier: "video-analysis:smart:600s", credits: 2064, note: "10-min ceiling" }
1826
+ ]
1827
+ },
1828
+ // ── AI Audit (`video-audit`) ── a SEPARATE node from video-analysis (own
1829
+ // node type, own route in the private plugin): it re-watches a clip
1830
+ // against its analysis (auto-running a fast analysis first when none is
1831
+ // wired), applies video-verified corrections under guards, and returns a
1832
+ // disclosed report of what was checked, fixed, and left open. These two
1833
+ // rows exist for pricing/MCP-discovery visibility only — the node has no
1834
+ // model picker in V1, so (unlike every other row in this section) they
1835
+ // deliberately carry no `series` and their `modes` has no Models-tab
1836
+ // mapping (see model-tree.ts's MODE_TO_NODE) — they must never appear as
1837
+ // selectable "video-analysis" models. Two credit families, chosen by
1838
+ // whether an analysis is wired into the node; the structural formula lives
1839
+ // in video-analysis-pricing.ts.
1840
+ "video-audit": {
1841
+ id: "video-audit",
1842
+ kind: "video",
1843
+ modes: ["video-audit"],
1844
+ family: "Nodaro",
1845
+ label: "AI Audit",
1846
+ description: "Re-watches a clip against a wired analysis, applies video-verified corrections under guards, and returns a disclosed report of what changed. Billed per duration bucket.",
1847
+ useCases: ["video-audit", "qa", "shot-list", "verification"],
1848
+ pricing: [
1849
+ { identifier: "video-audit", credits: 1066, note: "10-min ceiling (no duration given)" },
1850
+ { identifier: "video-audit:60s", credits: 213 },
1851
+ { identifier: "video-audit:180s", credits: 289 },
1852
+ { identifier: "video-audit:360s", credits: 659 },
1853
+ { identifier: "video-audit:600s", credits: 1066, note: "10-min ceiling" }
1854
+ ]
1855
+ },
1856
+ "video-audit-auto": {
1857
+ id: "video-audit-auto",
1858
+ kind: "video",
1859
+ modes: ["video-audit"],
1860
+ family: "Nodaro",
1861
+ label: "AI Audit (with analysis run)",
1862
+ description: "Same video-verified audit as AI Audit, but auto-runs a fast analysis first when none is wired in, then applies corrections under guards and returns a disclosed report. Billed per duration bucket.",
1863
+ useCases: ["video-audit", "qa", "shot-list", "verification", "auto-analysis"],
1864
+ pricing: [
1865
+ { identifier: "video-audit:auto", credits: 1912, note: "10-min ceiling (no duration given)" },
1866
+ { identifier: "video-audit:auto:60s", credits: 393 },
1867
+ { identifier: "video-audit:auto:180s", credits: 474 },
1868
+ { identifier: "video-audit:auto:360s", credits: 1173 },
1869
+ { identifier: "video-audit:auto:600s", credits: 1912, note: "10-min ceiling" }
1751
1870
  ]
1752
1871
  }
1753
1872
  };
@@ -2207,7 +2326,7 @@ function getMaxImagePromptChars(provider) {
2207
2326
  }
2208
2327
  var VIDEO_PROMPT_MAX = 8e3;
2209
2328
  var SUNO_TEXT_MAX = 5e3;
2210
- var PROMPT_HARD_CEILING = 2e4;
2329
+ var PROMPT_HARD_CEILING = 3e4;
2211
2330
  var LLM_TEXT_INPUT_MAX = 1e5;
2212
2331
  var MAX_VIDEO_PROMPT_CHARS_BY_PROVIDER = {
2213
2332
  // Kling family — our `kling`→kling-2.6 (1000), `kling-turbo`→v2.5-turbo-pro (2500)
@@ -2219,10 +2338,16 @@ var MAX_VIDEO_PROMPT_CHARS_BY_PROVIDER = {
2219
2338
  "seedance-2-fast": 2e4,
2220
2339
  "seedance-2-mini": 2e4,
2221
2340
  "seedance-2-extend": 2e4,
2341
+ // Seedance 2.5 raises the prompt ceiling to 30000
2342
+ // (docs.kie.ai/market/bytedance/seedance-2-5).
2343
+ "seedance-2-5": 3e4,
2222
2344
  "gemini-omni-video": 2e4,
2223
2345
  "bytedance-lite": 1e4,
2224
2346
  "bytedance-pro": 1e4,
2225
2347
  "bytedance-pro-fast": 1e4,
2348
+ // MiniMax Hailuo 3 — 1-7000 chars, uniform across t2v/i2v/r2v
2349
+ // (docs.kie.ai/market/minimax-h3).
2350
+ "minimax-h3": 7e3,
2226
2351
  // lower than the 8000 default
2227
2352
  "minimax": 1500,
2228
2353
  "hailuo-standard": 1500,
@@ -2561,6 +2686,8 @@ var IMAGE_TO_VIDEO_PROVIDERS = [
2561
2686
  "seedance-2",
2562
2687
  "seedance-2-fast",
2563
2688
  "seedance-2-mini",
2689
+ "seedance-2-5",
2690
+ "minimax-h3",
2564
2691
  "hailuo-2.3-pro",
2565
2692
  "hailuo-2.3",
2566
2693
  "hailuo-standard",
@@ -2600,6 +2727,8 @@ var TEXT_TO_VIDEO_PROVIDERS = [
2600
2727
  "seedance-2",
2601
2728
  "seedance-2-fast",
2602
2729
  "seedance-2-mini",
2730
+ "seedance-2-5",
2731
+ "minimax-h3",
2603
2732
  "wan",
2604
2733
  "hailuo-standard",
2605
2734
  "bytedance-lite",
@@ -2713,12 +2842,19 @@ var LIP_SYNC_PROVIDERS = [
2713
2842
  // not the dedicated lip-sync flow.
2714
2843
  "seedance-2",
2715
2844
  "seedance-2-fast",
2716
- "seedance-2-mini"
2845
+ "seedance-2-mini",
2846
+ "seedance-2-5",
2847
+ // MiniMax Hailuo 3 — same multimodal audio-driven mechanism (r2v
2848
+ // reference_audio_urls paired with an image ref); rides the same
2849
+ // reference-audio lip-sync surface as the Seedance 2 family.
2850
+ "minimax-h3"
2717
2851
  ];
2718
2852
  var SEEDANCE_LIP_SYNC_PROVIDERS = /* @__PURE__ */ new Set([
2719
2853
  "seedance-2",
2720
2854
  "seedance-2-fast",
2721
- "seedance-2-mini"
2855
+ "seedance-2-mini",
2856
+ "seedance-2-5",
2857
+ "minimax-h3"
2722
2858
  ]);
2723
2859
  var REPLICATE_LIP_SYNC_PROVIDERS = /* @__PURE__ */ new Set([
2724
2860
  "latentsync",
@@ -2883,6 +3019,8 @@ var DURATION_PRICED_PROVIDERS = /* @__PURE__ */ new Set([
2883
3019
  "seedance-2",
2884
3020
  "seedance-2-fast",
2885
3021
  "seedance-2-mini",
3022
+ "seedance-2-5",
3023
+ "minimax-h3",
2886
3024
  "grok-imagine-video-1.5",
2887
3025
  "happyhorse",
2888
3026
  "happyhorse-i2v",
@@ -2891,17 +3029,111 @@ var DURATION_PRICED_PROVIDERS = /* @__PURE__ */ new Set([
2891
3029
  var SEEDANCE_2_PROVIDERS = /* @__PURE__ */ new Set([
2892
3030
  "seedance-2",
2893
3031
  "seedance-2-fast",
2894
- "seedance-2-mini"
3032
+ "seedance-2-mini",
3033
+ // Seedance 2.5 — a later generation, but it shares the whole 2.0 capability
3034
+ // surface this set gates (frames + image/video/audio refs, adaptive aspect,
3035
+ // per-second resolution × video-ref pricing), so it belongs here. Where it
3036
+ // DIFFERS (30s ceiling, no 1080p/4K, wider ref caps) the difference is
3037
+ // carried by the per-provider maps, never by branching on this set.
3038
+ "seedance-2-5"
2895
3039
  ]);
2896
3040
  function isSeedance2Provider(provider) {
2897
3041
  return !!provider && SEEDANCE_2_PROVIDERS.has(provider);
2898
3042
  }
2899
- var GVP_SUPPORTED_PROVIDERS = ["seedance-2", "seedance-2-fast"];
3043
+ var MINIMAX_H3_PROVIDERS = /* @__PURE__ */ new Set([
3044
+ "minimax-h3"
3045
+ ]);
3046
+ function isMinimaxH3Provider(provider) {
3047
+ return !!provider && MINIMAX_H3_PROVIDERS.has(provider);
3048
+ }
3049
+ var MINIMAX_H3_DEFAULT_RESOLUTION = "2K";
3050
+ function normalizeMinimaxH3Resolution(resolution) {
3051
+ return resolution?.trim().toLowerCase() === "768p" ? "768P" : MINIMAX_H3_DEFAULT_RESOLUTION;
3052
+ }
3053
+ var VIDEO_PROVIDERS_WITHOUT_DISPATCH = /* @__PURE__ */ new Set([
3054
+ "kling-3-omni"
3055
+ ]);
3056
+ var GVP_DEFAULT_PROVIDER = "seedance-2";
3057
+ function deriveGvpSupportedProviders() {
3058
+ const dispatchable = new Set(VIDEO_GEN_PROVIDERS);
3059
+ const eligible = Object.values(MODEL_CATALOG).filter(
3060
+ (m) => m.kind === "video" && m.modes.includes("i2v") && m.features?.includes("reference-image") === true && (m.durations?.length ?? 0) > 0 && // Must also be dispatchable by the unified video node — the pro route
3061
+ // hands the provider id straight to the app's imageToVideo.
3062
+ dispatchable.has(m.id) && // ...and must actually REACH a provider. Capability alone is not
3063
+ // enough: kling-3-omni passes every check above and still fails at the
3064
+ // router (see VIDEO_PROVIDERS_WITHOUT_DISPATCH).
3065
+ !VIDEO_PROVIDERS_WITHOUT_DISPATCH.has(m.id)
3066
+ ).map((m) => m.id);
3067
+ const seriesOf = (id) => MODEL_CATALOG[id]?.series ?? MODEL_CATALOG[id]?.family ?? id;
3068
+ const defaultSeries = seriesOf(GVP_DEFAULT_PROVIDER);
3069
+ const order = [];
3070
+ for (const id of eligible) {
3071
+ const s = seriesOf(id);
3072
+ if (!order.includes(s)) order.push(s);
3073
+ }
3074
+ const rank = (id) => {
3075
+ const s = seriesOf(id);
3076
+ return s === defaultSeries ? -1 : order.indexOf(s);
3077
+ };
3078
+ return [...eligible].sort((a, b) => {
3079
+ const d = rank(a) - rank(b);
3080
+ if (d !== 0) return d;
3081
+ if (a === GVP_DEFAULT_PROVIDER) return -1;
3082
+ if (b === GVP_DEFAULT_PROVIDER) return 1;
3083
+ return eligible.indexOf(a) - eligible.indexOf(b);
3084
+ });
3085
+ }
3086
+ var GVP_SUPPORTED_PROVIDERS = deriveGvpSupportedProviders();
2900
3087
  function isGvpSupportedProvider(provider) {
2901
3088
  return !!provider && GVP_SUPPORTED_PROVIDERS.includes(provider);
2902
3089
  }
3090
+ var GVP_EXTEND_PROVIDERS = GVP_SUPPORTED_PROVIDERS.filter(
3091
+ (id) => MODEL_CATALOG[id]?.features?.includes("video-reference") === true
3092
+ );
3093
+ function supportsExtendRender(provider) {
3094
+ return !!provider && GVP_EXTEND_PROVIDERS.includes(provider);
3095
+ }
3096
+ var GVP_END_FRAME_PROVIDERS = GVP_SUPPORTED_PROVIDERS.filter(
3097
+ (id) => MODEL_CATALOG[id]?.features?.includes("end-frame") === true
3098
+ );
3099
+ function supportsEndAnchor(provider) {
3100
+ return !!provider && GVP_END_FRAME_PROVIDERS.includes(provider);
3101
+ }
3102
+ var GVP_ANCHOR_CHOICES = ["auto", "start-end", "start-only", "reference"];
3103
+ function resolveGvpAnchorWire(choice) {
3104
+ switch (choice) {
3105
+ case "start-end":
3106
+ return "upfront";
3107
+ case "start-only":
3108
+ return "progressive";
3109
+ case "reference":
3110
+ return "none";
3111
+ default:
3112
+ return void 0;
3113
+ }
3114
+ }
3115
+ function segmentDurationsFor(provider) {
3116
+ if (!provider) return [];
3117
+ return [...MODEL_CATALOG[provider]?.durations ?? []].sort((a, b) => a - b);
3118
+ }
3119
+ function minSegmentSecFor(provider) {
3120
+ return segmentDurationsFor(provider)[0] ?? 0;
3121
+ }
3122
+ function maxSegmentSecFor(provider) {
3123
+ const d = segmentDurationsFor(provider);
3124
+ return d[d.length - 1] ?? 0;
3125
+ }
3126
+ function hasContiguousSegmentDurations(provider) {
3127
+ const d = segmentDurationsFor(provider);
3128
+ if (d.length === 0) return false;
3129
+ return d.length === d[d.length - 1] - d[0] + 1;
3130
+ }
3131
+ function maxSegmentsFor(provider, capSec) {
3132
+ const max = maxSegmentSecFor(provider);
3133
+ return max > 0 ? Math.ceil(capSec / max) : 0;
3134
+ }
2903
3135
  function defaultVideoAspectRatio(provider) {
2904
- return isSeedance2Provider(provider) ? "adaptive" : "16:9";
3136
+ return isSeedance2Provider(provider) || isMinimaxH3Provider(provider) ? "adaptive" : "16:9";
2905
3137
  }
2906
3138
  var VEO_PROVIDERS = /* @__PURE__ */ new Set([
2907
3139
  "veo3",
@@ -2916,6 +3148,11 @@ var SEEDANCE_2_REF_LIMITS = {
2916
3148
  videos: 3,
2917
3149
  audio: 3
2918
3150
  };
3151
+ var SEEDANCE_2_5_REF_LIMITS = {
3152
+ images: 30,
3153
+ videos: 10,
3154
+ audio: 10
3155
+ };
2919
3156
  var SEEDANCE_2_R2V_MIN_REF_VIDEO_SEC = 1.8;
2920
3157
  var SEEDANCE_2_CONTINUATION_REF_SEC = 2;
2921
3158
  var SEEDANCE_2_EXTEND_STITCH = {
@@ -2934,7 +3171,13 @@ var SEEDANCE_2_EXTEND_STITCH = {
2934
3171
  referenceTailSeconds: SEEDANCE_2_CONTINUATION_REF_SEC
2935
3172
  };
2936
3173
  var SEEDANCE_2_R2V_MAX_AUDIO_SEC_BY_PROVIDER = {
2937
- "seedance-2-fast": 15.2
3174
+ "seedance-2-fast": 15.2,
3175
+ // Seedance 2.5 — documented hard limit: each reference audio 2-30s, ≤15 MB
3176
+ // per file (docs.kie.ai/market/bytedance/seedance-2-5).
3177
+ "seedance-2-5": 30,
3178
+ // MiniMax Hailuo 3 — documented hard limit: each reference audio segment
3179
+ // 2-15s, ≤15s total (docs.kie.ai/market/minimax-h3/reference-to-video).
3180
+ "minimax-h3": 15
2938
3181
  };
2939
3182
  function seedance2AudioLimitSec(provider) {
2940
3183
  if (!provider) return null;
@@ -2953,6 +3196,13 @@ var VIDEO_REF_LIMITS_BY_PROVIDER = {
2953
3196
  "seedance-2": { ...SEEDANCE_2_REF_LIMITS },
2954
3197
  "seedance-2-fast": { ...SEEDANCE_2_REF_LIMITS },
2955
3198
  "seedance-2-mini": { ...SEEDANCE_2_REF_LIMITS },
3199
+ // Seedance 2.5 — wider caps than the 2.0 family (30 / 10 / 10).
3200
+ "seedance-2-5": { ...SEEDANCE_2_5_REF_LIMITS },
3201
+ // MiniMax Hailuo 3 — identical multimodal caps (9 images / 3 videos / 3
3202
+ // audio per docs.kie.ai/market/minimax-h3/reference-to-video). Note: KIE
3203
+ // bills input images beyond the first 5 (11 KIE cr each) — see the
3204
+ // minimax-h3 credit helper in backend ee/billing.
3205
+ "minimax-h3": { ...SEEDANCE_2_REF_LIMITS },
2956
3206
  // Multi-image reference providers.
2957
3207
  "gemini-omni-video": { images: 7, videos: 1 },
2958
3208
  "kling-3-omni": { images: 7 },
@@ -2990,8 +3240,12 @@ var RESOLUTION_DURATION_PRICING = {
2990
3240
  var NATIVE_ADAPTIVE_ASPECT = {
2991
3241
  "seedance-2": "adaptive",
2992
3242
  "seedance-2-fast": "adaptive",
2993
- "seedance-2-mini": "adaptive"
3243
+ "seedance-2-mini": "adaptive",
3244
+ "seedance-2-5": "adaptive"
2994
3245
  };
3246
+ var FRAME_MODE_ADAPTIVE_ONLY_ASPECT = /* @__PURE__ */ new Set([
3247
+ "seedance-2-5"
3248
+ ]);
2995
3249
  var VIDEO_PROVIDERS_REQUIRING_IMAGE = new Set(
2996
3250
  Object.values(MODEL_CATALOG).filter(
2997
3251
  (m) => m.kind === "video" && m.modes.includes("i2v") && !m.modes.includes("t2v") && VIDEO_GEN_PROVIDERS.includes(m.id) && resolveVideoProviderForMode(m.id, "text-to-video") === m.id
@@ -3030,7 +3284,15 @@ var VIDEO_AUDIO_CAPABILITY = {
3030
3284
  // Seedance 2.0 — multimodal; lip-syncs to a supplied reference-audio track.
3031
3285
  "seedance-2": { mode: "audio_driven", field: "generateAudio" },
3032
3286
  "seedance-2-fast": { mode: "audio_driven", field: "generateAudio" },
3033
- "seedance-2-mini": { mode: "audio_driven", field: "generateAudio" }
3287
+ "seedance-2-mini": { mode: "audio_driven", field: "generateAudio" },
3288
+ // Seedance 2.5 — same audio-driven surface; `generate_audio` defaults TRUE
3289
+ // on KIE and is cost-affecting only through the -ref/no-ref rate split,
3290
+ // which the resolution+ref composite already carries (no `:audio` suffix).
3291
+ "seedance-2-5": { mode: "audio_driven", field: "generateAudio", defaultOn: true },
3292
+ // MiniMax Hailuo 3 — multimodal; lip-syncs to reference audio (r2v). The
3293
+ // KIE API exposes NO audio on/off parameter (audio is always produced), so
3294
+ // there is no toggle field — alwaysOn, like VEO.
3295
+ "minimax-h3": { mode: "audio_driven", alwaysOn: true }
3034
3296
  };
3035
3297
  var VIDEO_AUDIO_NONE = { mode: "none" };
3036
3298
  function getVideoAudioCapability(model) {
@@ -3071,13 +3333,30 @@ var VIDEO_VARIABLE_PRICING = {
3071
3333
  "seedance-2": "duration+resolution+ref",
3072
3334
  "seedance-2-fast": "duration+resolution+ref",
3073
3335
  "seedance-2-mini": "duration+resolution+ref",
3336
+ "seedance-2-5": "duration+resolution+ref",
3337
+ // MiniMax Hailuo 3 — per-second rate at two resolution tiers (2K default /
3338
+ // 768P). Duration + resolution form the composite (bare = 2K, ":768p"
3339
+ // appended for the cheaper tier); ref-video input seconds + extra input
3340
+ // images are billed via the dedicated compute hook, not the identifier.
3341
+ "minimax-h3": "duration+resolution",
3074
3342
  // Grok Imagine Video 1.5 — per-second billing split 480p/720p (no video-ref dimension).
3075
3343
  "grok-imagine-video-1.5": "duration+resolution"
3076
3344
  };
3345
+ var PRICING_DEFAULT_DURATION_SEC = {
3346
+ "minimax-h3": 6
3347
+ };
3348
+ var PRICING_DEFAULT_RESOLUTION = {
3349
+ // KIE renders 720p when `resolution` is omitted (kie/models.ts extraParams).
3350
+ "seedance-2-5": "720p"
3351
+ };
3077
3352
  var HAPPYHORSE_DURATION_TIERS = Array.from(
3078
3353
  { length: 13 },
3079
3354
  (_, i) => ({ maxSeconds: i + 3, suffix: `${i + 3}s` })
3080
3355
  );
3356
+ var SEEDANCE_2_5_DURATION_TIERS = Array.from(
3357
+ { length: 27 },
3358
+ (_, i) => ({ maxSeconds: i + 4, suffix: `${i + 4}s` })
3359
+ );
3081
3360
  var VIDEO_DURATION_TIERS = {
3082
3361
  "kling-3.0": [
3083
3362
  { maxSeconds: 5, suffix: "5s" },
@@ -3152,6 +3431,25 @@ var VIDEO_DURATION_TIERS = {
3152
3431
  { maxSeconds: 12, suffix: "12s" },
3153
3432
  { maxSeconds: 15, suffix: "15s" }
3154
3433
  ],
3434
+ "seedance-2-5": SEEDANCE_2_5_DURATION_TIERS,
3435
+ // MiniMax Hailuo 3 — true per-second billing (KIE 36.5 cr/s @2K, 22.5 cr/s
3436
+ // @768P). One tier per allowed second (4-15s) so the composite identifier
3437
+ // maps 1:1 to the seeded price — no rounding/overcharge for any on-menu
3438
+ // duration; the ":768p" resolution suffix is appended after the tier.
3439
+ "minimax-h3": [
3440
+ { maxSeconds: 4, suffix: "4s" },
3441
+ { maxSeconds: 5, suffix: "5s" },
3442
+ { maxSeconds: 6, suffix: "6s" },
3443
+ { maxSeconds: 7, suffix: "7s" },
3444
+ { maxSeconds: 8, suffix: "8s" },
3445
+ { maxSeconds: 9, suffix: "9s" },
3446
+ { maxSeconds: 10, suffix: "10s" },
3447
+ { maxSeconds: 11, suffix: "11s" },
3448
+ { maxSeconds: 12, suffix: "12s" },
3449
+ { maxSeconds: 13, suffix: "13s" },
3450
+ { maxSeconds: 14, suffix: "14s" },
3451
+ { maxSeconds: 15, suffix: "15s" }
3452
+ ],
3155
3453
  // Grok Imagine Video 1.5 — true per-second billing (KIE 14.5 cr/s @480p, 25 cr/s
3156
3454
  // @720p, +2 cr/image). One tier per allowed second (1–15s) so the composite
3157
3455
  // identifier maps 1:1 to the seeded price — no rounding/overcharge for any on-menu value.
@@ -3283,6 +3581,17 @@ var VIDEO_MODEL_CAPS = {
3283
3581
  // character + location + 3 secondary refs.
3284
3582
  maxReferenceImages: 5
3285
3583
  },
3584
+ "seedance-2-5": {
3585
+ inputModes: ["first_frame", "first_last_frame", "ref_images", "video_continuation"],
3586
+ supportsVideoExtension: true,
3587
+ // 30s single-shot on KIE (probe-verified 2026-08-08: 30 accepted, 31 rejected).
3588
+ maxDurationSeconds: 30,
3589
+ prompting_style: "natural_language",
3590
+ // SEEDANCE_2_5_REF_LIMITS.images is the hard upper bound (30); the same
3591
+ // conservative headroom rule as seedance-2 applies to what the director
3592
+ // actually allocates.
3593
+ maxReferenceImages: 5
3594
+ },
3286
3595
  "hailuo-2.3-pro": {
3287
3596
  inputModes: ["first_frame", "text"],
3288
3597
  maxDurationSeconds: 10,
@@ -3393,6 +3702,8 @@ var VIDEO_CLIP_CREDITS = {
3393
3702
  // seedance-2-fast:8s:720p-ref
3394
3703
  "seedance-2-mini": { credits: 25, clipSeconds: 8 },
3395
3704
  // seedance-2-mini:8s:720p-ref
3705
+ "seedance-2-5": { credits: 76, clipSeconds: 8 },
3706
+ // seedance-2-5:8s:720p-ref
3396
3707
  "veo3": { credits: 79, clipSeconds: 8 },
3397
3708
  // flat per generation (VEO 3.1 Quality)
3398
3709
  "veo3.1": { credits: 19, clipSeconds: 6 },
@@ -3796,8 +4107,9 @@ function buildVideoCreditModelIdentifier(provider, duration, sound, nodeType, mo
3796
4107
  if (!DURATION_PRICED_PROVIDERS.has(effectiveProvider)) {
3797
4108
  return effectiveProvider;
3798
4109
  }
3799
- const parsed = typeof duration === "string" ? parseInt(duration, 10) : duration ?? 5;
3800
- const durationSec = Number.isNaN(parsed) ? 5 : parsed;
4110
+ const durationFallback = PRICING_DEFAULT_DURATION_SEC[effectiveProvider] ?? 5;
4111
+ const parsed = typeof duration === "string" ? parseInt(duration, 10) : duration ?? durationFallback;
4112
+ const durationSec = Number.isNaN(parsed) ? durationFallback : parsed;
3801
4113
  const tiers = VIDEO_DURATION_TIERS[effectiveProvider];
3802
4114
  if (!tiers) return effectiveProvider;
3803
4115
  const tier = tiers.find((t2) => durationSec <= t2.maxSeconds) ?? tiers[tiers.length - 1];
@@ -3811,7 +4123,8 @@ function buildVideoCreditModelIdentifier(provider, duration, sound, nodeType, mo
3811
4123
  }
3812
4124
  if (RESOLUTION_VIDEO_REF_PRICING.has(effectiveProvider)) {
3813
4125
  const supported = MODEL_CATALOG[effectiveProvider]?.resolutions ?? ["480p", "720p", "1080p"];
3814
- const want = resolution === "4k" ? "4k" : resolution === "1080p" ? "1080p" : resolution === "720p" ? "720p" : "480p";
4126
+ const requested = resolution ?? PRICING_DEFAULT_RESOLUTION[effectiveProvider];
4127
+ const want = requested === "4k" ? "4k" : requested === "1080p" ? "1080p" : requested === "720p" ? "720p" : "480p";
3815
4128
  const res = supported.includes(want) ? want : supported[supported.length - 1] ?? "480p";
3816
4129
  identifier += `:${res}`;
3817
4130
  if (hasVideoRef) identifier += "-ref";
@@ -3821,6 +4134,9 @@ function buildVideoCreditModelIdentifier(provider, duration, sound, nodeType, mo
3821
4134
  const res = resolution && resTiers.includes(resolution) ? resolution : resTiers[0];
3822
4135
  identifier += `:${res}`;
3823
4136
  }
4137
+ if (isMinimaxH3Provider(effectiveProvider) && normalizeMinimaxH3Resolution(resolution) === "768P") {
4138
+ identifier += ":768p";
4139
+ }
3824
4140
  return identifier;
3825
4141
  }
3826
4142
  function buildMotionCreditModelIdentifier(provider, resolution, videoDuration) {
@@ -7335,6 +7651,8 @@ var QUALITY_MAP = {
7335
7651
  "seedance-2": { field: "resolution", values: { low: "720p", mid: "1080p", high: "1080p" } },
7336
7652
  "seedance-2-fast": { field: "resolution", values: { low: "480p", mid: "720p", high: "720p" } },
7337
7653
  "seedance-2-mini": { field: "resolution", values: { low: "480p", mid: "720p", high: "720p" } },
7654
+ // Seedance 2.5 tops out at 720p on KIE (1080p/4k probe-rejected 2026-08-08).
7655
+ "seedance-2-5": { field: "resolution", values: { low: "480p", mid: "720p", high: "720p" } },
7338
7656
  "wan-2.7-i2v": { field: "resolution", values: { low: "720p", mid: "1080p", high: "1080p" } },
7339
7657
  "wan-2.7-t2v": { field: "resolution", values: { low: "720p", mid: "1080p", high: "1080p" } },
7340
7658
  "happyhorse": { field: "resolution", values: { low: "720p", mid: "1080p", high: "1080p" } },
@@ -7415,7 +7733,7 @@ var NODE_MAPPABLE_FIELDS = {
7415
7733
  "suno-cover": ["prompt", "lyrics", "style", "title", "negativeStyle"],
7416
7734
  "suno-extend": ["prompt", "style", "title"],
7417
7735
  "suno-lyrics": ["prompt"],
7418
- "suno-replace-section": ["prompt", "tags", "title"],
7736
+ "suno-replace-section": ["prompt", "tags", "title", "fullLyrics", "negativeTags"],
7419
7737
  "suno-style-boost": ["content"],
7420
7738
  "suno-upload-extend": ["prompt", "style", "title"],
7421
7739
  "suno-mashup": ["style", "title", "negativeStyle"],
@@ -9778,6 +10096,7 @@ var PIPELINE_PINNABLE_VIDEO_MODELS = [
9778
10096
  "seedance-2",
9779
10097
  "seedance-2-fast",
9780
10098
  "seedance-2-mini",
10099
+ "seedance-2-5",
9781
10100
  "veo3",
9782
10101
  "veo3.1",
9783
10102
  "veo3_lite",
@@ -10743,6 +11062,10 @@ var PROVIDER_DIRECTIVE_DEFAULTS = {
10743
11062
  "hailuo-2.3-pro": {},
10744
11063
  "hailuo-standard": {},
10745
11064
  minimax: {},
11065
+ // MiniMax Hailuo 3 — multimodal like seedance-2 but no verified directive
11066
+ // semantics yet; empty until probed (NOTE: never match `minimax-h3` with a
11067
+ // startsWith("seedance") / startsWith("minimax") prefix check — exact keys only).
11068
+ "minimax-h3": {},
10746
11069
  "bytedance-lite": {}
10747
11070
  };
10748
11071
  function mapShotIntentToProviderDirectives(provider, shotIntent) {
@@ -12240,7 +12563,10 @@ function sourceRefKey(nodeId, sourceHandleId, rawSourceType) {
12240
12563
  var REFERENCE_ROLE_PRESETS = {
12241
12564
  "wired-character": ["ref-only", "person", "face", "clothes", "hair", "pose", "expression", "style"],
12242
12565
  "wired-face": ["face", "person", "expression", "style"],
12243
- "wired-location": ["ref-only", "background", "atmosphere", "as-is", "empty background", "layout", "lighting", "style"],
12566
+ // "location" sits second, mirroring wired-character's ref-only/person order
12567
+ // it is this source's default. "background" keeps its place for the genuine
12568
+ // backdrop case (see DEFAULT_LABEL_BY_SOURCE for why it stopped being default).
12569
+ "wired-location": ["ref-only", "location", "background", "atmosphere", "as-is", "empty background", "layout", "lighting", "style"],
12244
12570
  "wired-object": ["object", "shape", "material", "color", "texture", "style"],
12245
12571
  "wired-creature": ["creature", "anatomy", "markings", "pose", "color", "style"],
12246
12572
  "wired-image": ["object", "person", "face", "clothes", "background", "style", "pose", "texture"],
@@ -12583,8 +12909,9 @@ function renderAnalyzedScene(scene, slots, castMap) {
12583
12909
  const byId = new Map(slots.map((s) => [s.slotId, s]));
12584
12910
  return scene.visual.replace(SLOT_TOKEN_RE, (_whole, id) => castMap?.[id] ?? byId.get(id)?.description ?? id);
12585
12911
  }
12912
+ var OVERSIZE_TOLERANCE_SEC = 1e-6;
12586
12913
  function isOversizedScene(startSec, endSec) {
12587
- return endSec - startSec > VIDEO_ANALYSIS_MAX_SCENE_SEC;
12914
+ return endSec - startSec > VIDEO_ANALYSIS_MAX_SCENE_SEC + OVERSIZE_TOLERANCE_SEC;
12588
12915
  }
12589
12916
  var STANDARD_RATIOS = [
12590
12917
  ["16:9", 16 / 9],
@@ -12612,36 +12939,38 @@ var WINDOW_OVERLAP = 5;
12612
12939
  var VIDEO_ANALYSIS_WINDOW = { LEN: WINDOW_LEN, STRIDE: WINDOW_STRIDE, OVERLAP: WINDOW_OVERLAP, SINGLE_MAX: 180 };
12613
12940
  var VIDEO_ANALYSIS_BUCKET_CREDITS = {
12614
12941
  // Legacy fast-tier model (pre-2026-07) — kept for stored raw-id configs.
12615
- "video-analysis:gemini-3-flash:60s": 24,
12616
- "video-analysis:gemini-3-flash:180s": 33,
12617
- "video-analysis:gemini-3-flash:360s": 86,
12618
- "video-analysis:gemini-3-flash:600s": 143,
12942
+ "video-analysis:gemini-3-flash:60s": 180,
12943
+ "video-analysis:gemini-3-flash:180s": 185,
12944
+ "video-analysis:gemini-3-flash:360s": 514,
12945
+ "video-analysis:gemini-3-flash:600s": 846,
12619
12946
  // Current fast tier — regenerated from the private formula for its backing
12620
12947
  // model; higher than the legacy fast schedule but still ≤ pro per bucket.
12621
- "video-analysis:gemini-3.6-flash:60s": 65,
12622
- "video-analysis:gemini-3.6-flash:180s": 92,
12623
- "video-analysis:gemini-3.6-flash:360s": 237,
12624
- "video-analysis:gemini-3.6-flash:600s": 395,
12625
- "video-analysis:gemini-3.1-pro:60s": 87,
12626
- "video-analysis:gemini-3.1-pro:180s": 116,
12627
- "video-analysis:gemini-3.1-pro:360s": 305,
12628
- "video-analysis:gemini-3.1-pro:600s": 509,
12948
+ "video-analysis:gemini-3.6-flash:60s": 203,
12949
+ "video-analysis:gemini-3.6-flash:180s": 218,
12950
+ "video-analysis:gemini-3.6-flash:360s": 598,
12951
+ "video-analysis:gemini-3.6-flash:600s": 986,
12952
+ "video-analysis:gemini-3.1-pro:60s": 215,
12953
+ "video-analysis:gemini-3.1-pro:180s": 231,
12954
+ "video-analysis:gemini-3.1-pro:360s": 636,
12955
+ "video-analysis:gemini-3.1-pro:600s": 1050,
12629
12956
  // Mixed tiers (`mixed` + `mixed-fast`) share ONE credit family — they are
12630
12957
  // variants of the same engine plan (plan internals live in the private
12631
12958
  // analysis plugin). Admin-tunable via model_pricing like every other row.
12632
- "video-analysis:mixed:60s": 110,
12633
- "video-analysis:mixed:180s": 149,
12634
- "video-analysis:mixed:360s": 390,
12635
- "video-analysis:mixed:600s": 651,
12636
- // SMART — the one native-transport plan: a single pass with reasoning turned
12637
- // all the way up at a measured-optimal sampling rate. Priced above the
12638
- // economy tiers because it genuinely costs more to run; the only tier whose
12639
- // accuracy is validated against a hand-counted edit list, re-validated at
12640
- // the current sampling rate before this schedule shipped.
12641
- "video-analysis:smart:60s": 333,
12642
- "video-analysis:smart:180s": 470,
12643
- "video-analysis:smart:360s": 1135,
12644
- "video-analysis:smart:600s": 1868
12959
+ "video-analysis:mixed:60s": 268,
12960
+ "video-analysis:mixed:180s": 289,
12961
+ "video-analysis:mixed:360s": 724,
12962
+ "video-analysis:mixed:600s": 1169,
12963
+ // SMART — the accuracy tier, and since the 2026-08-03 hybrid re-plan a
12964
+ // multi-roll plan like the others: one native 6fps skeleton pass plus 2
12965
+ // fast + 2 pro donor rolls, always refined (`selectionMode` does not apply
12966
+ // here smart always refines; it never offers a cheaper "choose" path).
12967
+ // Priced above the economy tiers because it genuinely costs more to run;
12968
+ // the only tier whose accuracy is validated against a hand-counted edit
12969
+ // list, re-validated at the current plan before this schedule shipped.
12970
+ "video-analysis:smart:60s": 410,
12971
+ "video-analysis:smart:180s": 500,
12972
+ "video-analysis:smart:360s": 1259,
12973
+ "video-analysis:smart:600s": 2064
12645
12974
  };
12646
12975
  function videoAnalysisCreditSegment(modelOrSentinel) {
12647
12976
  return modelOrSentinel === "mixed-fast" ? "mixed" : modelOrSentinel;
@@ -12661,6 +12990,30 @@ function bucketSecondsFromCreditId(creditId) {
12661
12990
  function videoAnalysisNumWindows(bucketSec) {
12662
12991
  return bucketSec <= VIDEO_ANALYSIS_WINDOW.SINGLE_MAX ? 1 : 1 + Math.ceil((bucketSec - WINDOW_LEN) / WINDOW_STRIDE);
12663
12992
  }
12993
+ var VIDEO_AUDIT_BUCKET_CREDITS = {
12994
+ "video-audit:60s": 213,
12995
+ "video-audit:180s": 289,
12996
+ "video-audit:360s": 659,
12997
+ "video-audit:600s": 1066,
12998
+ "video-audit:auto:60s": 393,
12999
+ "video-audit:auto:180s": 474,
13000
+ "video-audit:auto:360s": 1173,
13001
+ "video-audit:auto:600s": 1912
13002
+ };
13003
+ function buildVideoAuditCreditId(args) {
13004
+ const { analysisProvided, durationSec } = args;
13005
+ const bucket = durationSec !== void 0 && durationSec > 0 ? pickVideoAnalysisBucket(Math.min(durationSec, VIDEO_ANALYSIS_MAX_DURATION_SEC)) : VIDEO_ANALYSIS_MAX_DURATION_SEC;
13006
+ const family = analysisProvided ? "video-audit" : "video-audit:auto";
13007
+ return `${family}:${bucket}s`;
13008
+ }
13009
+ function videoAuditCreditsForBucket(bucketSec, auto) {
13010
+ const bucket = pickVideoAnalysisBucket(bucketSec);
13011
+ return VIDEO_AUDIT_BUCKET_CREDITS[`video-audit${auto ? ":auto" : ""}:${bucket}s`];
13012
+ }
13013
+ function bucketSecondsFromAuditCreditId(id) {
13014
+ const m = /^video-audit(?::auto)?:(\d+)s$/.exec(id);
13015
+ return m ? Number(m[1]) : null;
13016
+ }
12664
13017
 
12665
13018
  // src/smart-cut-windows.ts
12666
13019
  var SMART_CUT_WINDOW_MAX = 24;
@@ -12674,6 +13027,6 @@ function clampSmartCutWindow(value) {
12674
13027
  return n;
12675
13028
  }
12676
13029
 
12677
- export { ACTIVE_SCENE_HELPERS, ADVANCED_MODE_UNAVAILABLE_REASON, AGGREGATEABLE_TYPES, AI_AVATAR_DURATION_BUCKETS, AI_AVATAR_MAX_AUDIO_SEC, AI_AVATAR_MAX_DURATION_SEC, AI_AVATAR_RESERVE_IDS, AI_WRITER_PROVIDERS, ALA_CARTE_BOARDS, ALL_CAPTION_STYLES, ANIMALS, ANIMAL_SUBCATEGORY_LABELS, ANIMAL_SUBCATEGORY_ORDER, ASPECT_RATIO_DIMENSIONS, AUDIO_ADDON_PROVIDERS, AUDIO_CROSSFADE_CURVES, AUDIO_CROSSFADE_CURVE_IDS, AUDIO_FX_PRESETS, AUDIO_FX_PRESET_LABELS, AUDIO_FX_PRESET_SET, AUDIO_FX_REVERB_PRESETS, AUDIO_PRODUCER_TYPES, AddBRollResultSchema, AnchorSceneStyleResultSchema, AssetRefSchema, AuditImagesResultSchema, AuditImagesShotEntrySchema, AuditPromptIssueSchema, AuditPromptResultSchema, AvatarPayloadError, BOARD_TO_ASSET_TYPE, BOARD_TO_COLUMN, BOARD_VARIANTS, BridgeToNextSceneInputSchema, BridgeToNextSceneResultSchema, CATEGORY_DURATION_DEFAULTS, CHARACTER_ASPECT_DEFAULTS, CHARACTER_ASPECT_OPTIONS, CHARACTER_ASSET_TYPES, CHARACTER_ASSET_VARIANTS, CHARACTER_ATTACH_COLUMNS, CHARACTER_FACETS, CHARACTER_FACET_IDS, CHARACTER_LORA_TRAINING_JOB_TYPE, CHARACTER_MOTION_PROVIDERS, CHARACTER_PICKER_DISPLAY_ORDER, CHARACTER_REFERENCE_PHOTO_KINDS, CHARACTER_STYLES, CHARACTER_VARIANT_ASSET_BUCKETS, CHAT_ENABLED_STAGES, CHAT_STAGES, CHAT_TURN_CAPS, CHAT_WIRED_STAGES, CINEMATIC_DEFAULT_DURATION_SEC, CINEMATIC_DEFAULT_RESOLUTION, CINEMATIC_MAX_DURATION_SEC, CINEMATIC_MAX_LOOKS, CINEMATIC_MAX_REFERENCE_IMAGES, CINEMATIC_MAX_REFERENCE_VIDEOS, CINEMATIC_MIN_DURATION_SEC, CINEMATIC_MIN_LOOKS, CINEMATIC_PROMPT_MAX, CINEMATIC_RESERVE_IDS, COLLECT_IN_HANDLE, COMBINE_TRANSITIONS, COMBINE_TRANSITION_GROUP_LABELS, COMBINE_TRANSITION_GROUP_ORDER, COMBINE_TRANSITION_IDS, COMPOSER_PLAN_FIELDS, COMPOSER_PLAN_MAP, CONTENT_TYPES_BY_PLATFORM, CREATURE_ATTACH_COLUMNS, CREDIT_BASE_USD, CREDIT_ROUNDING_RESOLUTION, CastCoverageCriticVerdictSchema, CharacterImageCriticVerdictSchema, CharacterMetadataSchema, ChatTurnResponseSchema, CriticIssueSchema, DEFAULT_AUDIO_CROSSFADE_CURVE_ID, DEFAULT_CARRIED_FRACTION, DEFAULT_CHARACTER_ANGLE_COUNT, DEFAULT_CHARACTER_EXPRESSION_COUNT, DEFAULT_CHARACTER_FACET, DEFAULT_LABEL_BY_SOURCE, DEFAULT_LOCATION_USAGE_MODE, DEFAULT_PANEL_COUNT, DEFAULT_REF_IMAGE_MAX, DEFAULT_SECTIONS, DEFAULT_USAGE_MODE, DEFAULT_VIDEO_ANALYSIS_MODEL, DEFAULT_VIDEO_ANALYSIS_TIER, DEFAULT_VIDEO_CLIP_COST, DEFAULT_VIDEO_DURATION_SEC, DEFAULT_VIDEO_PROVIDER, DEFAULT_VOICE_CHANGER_MODEL, DEFAULT_VOICE_DESIGN_MODEL, DETAIL_VARIANTS, DURATION_PRICED_PROVIDERS, DYNAMIC_PRODUCER_TYPES, DetectionResultSchema, EFFORT_TIER_BUMP, EMOTIONAL_BEAT, ENTITY_ASPECT_DEFAULTS, ENTITY_IMAGE_HANDLE_TYPES, ENTITY_SECTIONS, ENTITY_STATUSES, ENTITY_TOOL_RETRY_CAP, ENTITY_TYPES, EXECUTION_DATA_KEYS, EXTEND_VIDEO_PROVIDERS, EntityMetadataSchema, EntityRejectInputSchema, EntityStaleEventSchema, EntityStateChangeEventSchema, FACE_SWAP_PROVIDERS, FAL_LIP_SYNC_PROVIDERS, FAN_OUT_EACH_TYPES, FEATURED_ENTITIES, FILM_BASE_CREDITS, FLEXIBLE_INPUT_LIP_SYNC_PROVIDERS, FLUX2_RES_MP, FLUX_LORA_CHARACTER_MODEL_ID, FRAME_TARGET_HANDLES, FREECUT_EXPORT_COMPLETE, FREECUT_EXPORT_PROGRESS, FREECUT_READY, FREECUT_REQUEST_IMPORT, FURNITURE, FURNITURE_SUBCATEGORY_LABELS, FURNITURE_SUBCATEGORY_ORDER, FixContinuityInputSchema, FixContinuityResultSchema, GENERATE_TEXT_DELIMITER, GLOBAL_MAX_DURATION_SECONDS, GROUP_HANDLE_PREFIX, GUIDANCE_SCALE_SUPPORT, GVP_SUPPORTED_PROVIDERS, GenerateMotionInputSchema, GenerateMotionResultSchema, HANDLE_PORT_SEPARATOR, HELPERS_SHIPPED_IN_1B3, HIGH_QUALITY_PROVIDERS, HINT_EXEMPT_PARAMETER_TYPES, I2I_MASK_SUPPORT, I2I_STRENGTH_SUPPORT, IDEOGRAM_PROVIDERS, IMAGE_CRITIC_LEAF_MODES, IMAGE_CRITIC_MAX_RETRIES, IMAGE_CRITIC_METADATA_KEYS, IMAGE_CRITIC_MIN_ADHERENCE_SCORE, IMAGE_CRITIC_MODES, IMAGE_CRITIC_UNRESOLVABLE, IMAGE_EDIT_PROVIDERS, IMAGE_GEN_PROVIDERS, IMAGE_I2I_PROVIDERS, IMAGE_MASK_MODE, IMAGE_PROMPT_MAX, IMAGE_REF_TYPES, IMAGE_TO_VIDEO_PROVIDERS, INPUT_FIELD_MAP2 as INPUT_FIELD_MAP, INPUT_NODE_TYPES, INSTAGRAM_CAROUSEL_MAX_ITEMS, INSTAGRAM_CAROUSEL_MIN_ITEMS, ITER_CLONE_PATTERN, ImageCriticIssueSchema, ImageCriticResultSchema, ImageCriticVerdictSchema, ImprovePromptInputSchema, ImprovePromptResultSchema, KEYFRAME_CREDITS_PER_SHOT, KINETIC_CAPTION_STYLES, LANGUAGES, LEGACY_LOTTIE_HOST_REMAP, LIP_SYNC_DURATION_BUCKETS, LIP_SYNC_MAX_AUDIO_SECONDS, LIP_SYNC_PROVIDERS, LLM_FEATURE_DEFAULTS, LLM_MODALITY_CAPS, LLM_MODELS, LLM_MODEL_IDS, LLM_REASONING_EFFORTS, LLM_ROUTE_DEFAULTS, LLM_TEXT_INPUT_MAX, LOCATION_ASSET_TYPES, LOCATION_ASSET_VARIANTS, LOCATION_ATMOSPHERE_PROVIDERS, LOCATION_ATTACH_COLUMNS, LOCATION_BUCKET_TO_CATALOG_ID, LOCATION_PRESET_TO_CATALOG, LOCATION_REFERENCE_PHOTO_KINDS, LOCATION_REFERENCE_PHOTO_KIND_LABELS, LOCATION_USAGE_MODES, LOTTIE_OVERLAY_CATALOG, LOTTIE_SLOT_FIELD_PREFIX, LocationImageCriticVerdictSchema, LocationMetadataSchema, LocationsCoverageCriticIssueSchema, LocationsCoverageCriticVerdictSchema, MAX_CUSTOM_ENTRIES_PER_BOARD, MAX_IMAGE_PROMPT_CHARS_BY_PROVIDER, MAX_LOCATION_VARIANTS, MAX_NEGATIVE_PROMPT_CHARS_BY_PROVIDER, MAX_PANELS_PER_SHEET, MAX_TTS_CHARS_BY_PROVIDER, MAX_VIDEO_PROMPT_CHARS_BY_PROVIDER, MODELS_WITH_REFERENCE_IMAGE_SUPPORT, MODEL_CATALOG, MODEL_RECOMMENDATIONS, MODIFY_IMAGE_PROVIDERS, MOTION_COLUMN, MOTION_TRANSFER_PROVIDERS, MUSIC_PROVIDERS, MatchCutVerdictSchema, NATIVE_ADAPTIVE_ASPECT, NATIVE_NEGATIVE_PROMPT_MODELS, NATIVE_NEGATIVE_VIDEO_PROVIDERS, NEGATIVE_PROMPT_MAX, NODARO_IMPORT_FILES, NODARO_LOAD_TIMELINE, NODARO_LOAD_VIDEO, NODARO_RESET_PROJECT, NODE_DEFAULT_TYPES, NODE_MAPPABLE_FIELDS, NODE_PRESET_EXPORT_KIND, NODE_REF_PATTERN, NON_EN_LOCALE_IDS, NO_SPLIT_DELIMITER, OBJECT_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS, OBJECT_ASSET_TYPES, OBJECT_ASSET_VARIANTS, OBJECT_ATTACH_COLUMNS, OBJECT_MOTION_PROVIDERS, OBJECT_PICKER_NODE_TYPES, OUTPUT_FIELD_MAP, OUTPUT_FORMATS, ObjectMetadataSchema, OptimizeForModelInputSchema, OptimizeForModelResultSchema, PARAMETER_NODE_TYPES, PASSTHROUGH_TYPES, PER_FORMAT_DURATION_BOUNDS, PIPELINE_ACTIVATION_MODES, PIPELINE_FORMATS, PIPELINE_HARD_TIMEOUT_MS, PIPELINE_MODEL_STAGES, PIPELINE_MODES, PIPELINE_OUTPUT_RESOLUTIONS, PIPELINE_PINNABLE_IMAGE_MODELS, PIPELINE_PINNABLE_SCRIPT_LLMS, PIPELINE_PINNABLE_VIDEO_MODELS, PIPELINE_STAGE_NAMES, PIPELINE_STAGE_TIMEOUT_MS, PIPELINE_TYPES, PLACEHOLDER_CHARACTER_NAME, PLATFORM_LABELS, PLATFORM_SPECS, PRESET_APPLY_CLEAR_KEYS, PRESET_EXCLUDED_KEYS, PRESET_LABELS, PROMPT_HARD_CEILING, PROVIDER_DIRECTIVE_DEFAULTS, PROVIDER_PLACEHOLDER_PREFIX, PipelineCompletedEventSchema, PipelineConfigSchema, PipelineDriftSummarySchema, PipelineEditorDecisionsReadyEventSchema, PipelineForkedEventSchema, PipelineInputSchema, PipelineMusicReadyEventSchema, PipelineStageNameSchema, PipelineStageStatusSchema, PipelineStateSchema, PipelineStatusSchema, QA_CHECK_PROVIDERS, REDUCE_STRATEGIES, REDUCE_STRATEGY_IDS, REFERENCE_BOARD_PROVIDERS, REFERENCE_BOARD_TEMPLATES, REFERENCE_HANDLE_MAP, REFERENCE_ROLE_PRESETS, REF_HANDLE_CATEGORY, REF_IMAGE_MAX_LIMITS, RENDERING_SPEED_SUPPORT, REPEATABLE_NODE_TYPES, REPEAT_PLACEHOLDER, REPLICATE_LIP_SYNC_PROVIDERS, RESERVED_TEMPLATE_VARS, SCENE_HELPER_NAMES, SCRAPER_ACTOR_LABELS, SCRAPER_CREDIT_COSTS, SCRAPER_OUTPUT_FIELDS, SCRIPT_PROVIDERS, SEASONS, SECTION_BOARD, SECTION_KINDS, SEEDANCE_2_CONTINUATION_REF_SEC, SEEDANCE_2_EXTEND_STITCH, SEEDANCE_2_PROVIDERS, SEEDANCE_2_R2V_MAX_AUDIO_SEC_BY_PROVIDER, SEEDANCE_2_R2V_MIN_REF_VIDEO_SEC, SEEDANCE_2_REF_LIMITS, SEEDANCE_LIP_SYNC_PROVIDERS, SEED_SUPPORT, SEPARATOR_DISPLAY, SEPARATOR_PRESETS, SHEET_ASPECTS, SHEET_BACKGROUNDS, SHEET_PRESETS, SHEET_SKINS, SHEET_TYPES, SHORT_FILM_ANGLE_COUNT, SHORT_FILM_EXPRESSION_COUNT, SHORT_FILM_VARIANT_THRESHOLD_SEC, SLOT_TOKEN_RE, SMART_CUT_WINDOW_DEFAULT, SMART_CUT_WINDOW_MAX, SMART_CUT_WINDOW_MIN, SOCIAL_POST_NODE_TYPES, STAGE_PATCH_SCHEMA, STATIC_CAPTION_STYLES, STRUCTURAL_SECTIONS, STRUCTURED_VISION_MODELS, SUNO_ADD_TRACK_MODELS, SUNO_FIELD_HANDLE_FIELDS, SUNO_MODELS, SUNO_TEXT_MAX, SUNO_TITLE_MAX, SUPPORTED_FONT_NAMES, SURROUND_DIRECTIONS, SWITCHX_BLOCK_FRAMES, SWITCHX_FRAME_TIERS, SceneHelperNameSchema, SceneInputModeSchema, SceneMetadataSchema, SceneNodeDataSchema, SceneSpecSchema, ScriptCriticVerdictSchema, ShotSpecSchema, ShowrunnerPlanSchema, StageAwaitingSubGateEventSchema, StoryboardCohesionCriticVerdictSchema, StyleDirectivesSchema, SubGateNameSchema, T2I_TO_I2I_VARIANT, TEXT_TO_AUDIO_PROVIDERS, TEXT_TO_VIDEO_PROVIDERS, TIER_MAX_PIPELINE_COST_CREDITS, TIER_PIPELINE_PARALLELISM, TILT_CARRIED_FRACTION, TRANSCRIBE_PROVIDERS, TRANSIENT_RUNTIME_KEYS, TTS_PROVIDERS, TTS_TEXT_MAX, TWO_K_RESOLUTION_PROVIDERS, TransitionTypeSchema, UPSCALE_IMAGE_PROVIDERS, USAGE_MODES, VARIABLES_HANDLE_ID, VARIABLE_PRICING_MODELS, VEHICLES, VEHICLE_SUBCATEGORY_LABELS, VEHICLE_SUBCATEGORY_ORDER, VEO_PROVIDERS, VIDEO_ANALYSIS_BUCKET_CREDITS, VIDEO_ANALYSIS_DEFAULT_VARIATION, VIDEO_ANALYSIS_DURATION_BUCKETS, VIDEO_ANALYSIS_DURATION_TOLERANCE_SEC, VIDEO_ANALYSIS_ENTITY_SOURCES, VIDEO_ANALYSIS_FACELESS_ANGLES, VIDEO_ANALYSIS_LEGACY_MODELS, VIDEO_ANALYSIS_LLM_MODELS, VIDEO_ANALYSIS_MAX_DURATION_SEC, VIDEO_ANALYSIS_MAX_SCENE_SEC, VIDEO_ANALYSIS_MAX_VARIATIONS, VIDEO_ANALYSIS_MIXED_TIERS, VIDEO_ANALYSIS_SHOT_ANGLES, VIDEO_ANALYSIS_SPEED_EFFECTS, VIDEO_ANALYSIS_TIERS, VIDEO_ANALYSIS_TIER_LABELS, VIDEO_ANALYSIS_TIER_ORDER, VIDEO_ANALYSIS_TRANSITIONS, VIDEO_ANALYSIS_VARIATION_SLUGS, VIDEO_ANALYSIS_VISUAL_EFFECTS, VIDEO_ANALYSIS_WINDOW, VIDEO_AUDIO_CAPABILITY, VIDEO_CLIP_CREDITS, VIDEO_CRITIC_CREDITS_PER_SHOT, VIDEO_CRITIC_FRAME_MODES, VIDEO_CRITIC_MAX_RETRIES, VIDEO_CRITIC_METADATA_KEYS, VIDEO_CRITIC_MIN_ADHERENCE_SCORE, VIDEO_DURATION_TIERS, VIDEO_GEN_COLLAPSED_T2V_IDS, VIDEO_GEN_PROVIDERS, VIDEO_INPUT_LIP_SYNC_PROVIDERS, VIDEO_MODEL_CAPS, VIDEO_MODE_ALIASES, VIDEO_PRODUCER_TYPES, VIDEO_PROMPT_MAX, VIDEO_PROVIDERS_REQUIRING_IMAGE, VIDEO_REF_LIMITS_BY_PROVIDER, VIDEO_TO_VIDEO_PROVIDERS, VIDEO_UPSCALE_PROVIDERS, VIDEO_UTIL_PRICING, VIDEO_VARIABLE_PRICING, VOICE_CHANGER_MODELS, VOICE_CHANGER_MODEL_IDS, VOICE_DESIGN_MODELS, ValidateMatchCutInputSchema, ValidateMatchCutResultSchema, VideoCriticVerdictSchema, VoiceMatchSchema, WARDROBE_VARIANTS, WEAPONS, WEAPON_SUBCATEGORY_LABELS, WEAPON_SUBCATEGORY_ORDER, aggregateByType, aiAvatarReserveCreditId, analyzedSceneSchema, applyDefaultVideoSelection, applyHandleInputOverride, applyRange, applyRangeIndices, applySlots, applyVideoAudioToggle, applyVideoNegativePrompt, aspectRatioFromDims, aspectRatioOptionsByKind, aspectRatioToNumber, assembleNarratedVideoCredits, availableReasoningEfforts, bucketSecondsFromCreditId, buildBoardPrompt, buildChildrenByParent, buildConditionVariables, buildCreditModelIdentifier, buildExpressionFromVisual, buildLipSyncCreditId, buildLlmCreditIdentifier, buildModelMenu, buildModelTree, buildMotionCreditModelIdentifier, buildNodePresetExport, buildPanelPrompt, buildProgressSegments, buildRangeLabel, buildScraperCreditId, buildSurroundFillPrompt, buildVideoAnalysisCreditId, buildVideoCreditModelIdentifier, calculateCombinedProgress, calculateMonetizationMarkup, calculateMonetizedCost, calculateProgress, canonicalVarName, characterBoardItems, characterBucketDisplayRank, characterMentionSlug, characterMentionableAssetArrays, characterSheetRefItems, characterVariantAssetArrays, cinematicCreditId, clampCinematicDuration, clampSmartCutWindow, cleanOrphanedItems, clearImageCriticMetadata, clearVideoCriticMetadata, clipLookSchema, collectAncestorRefs, combineSameLabelRefs, countRefModalityEdges, creditRangesAll, creditsToUsd, decodeProviderItem, defaultCarriedFraction, defaultRoleForSource, defaultVideoAspectRatio, deriveLinkedFields, deriveLottieSlotFields, deriveSlotRefs, describeEdgeBehavior, describeMaskRegion, describeSlotControl, dropUnknownBindings, dropUnknownSpeakers, durationsByMode, effectiveReasoningEffort, encodeProviderItem, ensureLocaleCatalogLoaded, entitySlotSchema, entryMatchesQuery, estimateCombineVideosCredits, estimateFilmCredits, estimateLoopTrimAddonCredits, estimateLoopVideoCredits, estimateScriptDurationSec, estimateSheetCost, estimateTrimVideoCredits, evaluateCondition, evaluateConditionGroup, evaluateJsonExpression, evaluateJsonPath, expandExtraRefsToConnectedReferences, expandItemsWithRepeat, extractAllGeneratedResults, extractCharacterLoraFields, extractGeneratedJsonAsList, extractPresetData, extractReferencedLabels, extractVideoDurationFromNode, fieldKeyFromHandle, filterCloneNodes, findCharacterMentionTokens, findLocationMentionTokens, findSeedance2AudioOverLimit, firstSightExtraRole, flattenItems, getAnimal, getAnimalLabel, getAspectRatioOptions, getAudioCrossfadeCurve, getCharacterFacet, getCombineTransition, getCreditRange, getDurationsForModel, getEffectiveRepeatCount, getFeaturedEntities, getFurniture, getFurnitureLabel, getInputFieldSchema, getInputNodes, getItemSortId, getLipSyncMaxAudioSeconds, getLlmModalityCaps, getLlmModel, getLlmTier, getLocaleDirection, getMaxImagePromptChars, getMaxNegativePromptChars, getMaxSunoPromptChars, getMaxSunoStyleChars, getMaxTtsChars, getMaxVideoPromptChars, getModel, getNodeLabel, getNodeResult, getOutputNodes, getOutputType, getParameterValue, getQualityOptions, getResolutionOptions, getRouteReachableNodeIds, getStrategy, getTargetField, getValidValues, getVehicle, getVehicleLabel, getVideoAudioCapability, getWeapon, getWeaponLabel, groupByFamily, groupHandleId, hasFeature, hexToRgbaArray, humanizeSlotSid, imageReferenceLimit, isAggregateableType, isCharacterAspectRatio, isCollectInEdge, isDefaultSelectorConfig, isExpandedClone, isFlux2Model, isGvpSupportedProvider, isHandleInputWired, isKineticCaptionStyle, isLocationUsageMode, isObjectAspectRatio, isOversizedScene, isPerSecondLipSyncProvider, isScraperActor, isSeedance2Provider, isTiltDirection, isUsageMode, isVeoProvider, isVideoAnalysisMixedTier, isVideoAnalysisTier, jsonResultToList, listBoardTemplates, listModels, listSlotSids, llmRouteDefaults, locationMentionSlug, locationReferencePhotoKindLabel, locationUsageModeLabel, mapAspectRatio, mapQuality, mapShotIntentToProviderDirectives, matchVariant, mergeClipLook, mergeExposedSettings, migrateEdgeOutputMode, migrateToItems, modelIdsByKindMode, modelToNodeTarget, modelsForInputMode, modelsWithFeature, motionGraphicsFeature, normalizeLottieLayers, normalizePinterestUrl, normalizeRoleSlug, parseAttributedDialogue, parseCharacterMentionToken, parseGroupHandle, parseHandleId, parseListExpression, parseLocationMentionToken, parseNodePresetExport, parseNodeRef, pickAiAvatarBucket, pickIds, pickLipSyncBucket, pickSwitchXFrameTier, pickVideoAnalysisBucket, planSheetGeneration, planSheetPanels, preferredInputModeForModel, presentTypes, presetDataMatches, presetEntries, qualityOptionsByKind, refHandleCategory, referenceModalityForHandle, referenceSheetCreditId, registerSidecarLoaders, renderAnalyzedScene, resolutionOptionsByKind, resolveAiAvatarCreditId, resolveAudioCrossfadeCurve, resolveCharacterAspectRatio, resolveCinematicCreditId, resolveConditionValue, resolveDefaultRole, resolveDescription, resolveDialogueVoices, resolveEffectiveSourceType, resolveEntityAspect, resolveFieldMappings, resolveImageGenCreditIdentifier, resolveIndex, resolveLabel, resolveListExpression, resolveLlmCreditId, resolveLocationFields, resolveLocationPresetCatalog, resolveLottieOverlaySrc, resolveNodeRefs, resolveObjectAspectRatio, resolvePipelineModel, resolveRelativeWindowToken, resolveScraperCreditId, resolveSelectorRefs, resolveSeparator, resolveSheetSections, resolveSourceThroughConnectedList, resolveSwitchXCreditId, resolveVideoAnalysisModel, resolveVideoProviderForMode, resolveXfadeName, rewriteSceneBindings, rewriteSlotTokens, rewriteSpeakerSlots, rgbaArrayToHex, roleToPhrase, runSelector, sanitizeRole, searchModelVariants, seedance2AudioLimitSec, selectByModulo, selectByNamedKey, selectByPredicate, selectListItems, selectLoraRoutingForMentions, selectRandom, settledWithLimit, slotVariationSchema, sortCharacterEntriesForDisplay, sortListItems, sourceRefKey, spliceDelimitedRows, splitByLoopDelimiter, splitGeneratedItems, spreadJsonArrayIfSingleton, stringifyPathResults, stripExportContent, stripTransientRuntimeData, supportedDefaultDimensions, supportsAdvancedMode, toConnectedReference, toConnectedReferences, togglePick, tryParseJson, unwrapUnresolvedTokens, usageModeDirective, usageModeIncludesName, usageModeLabel, usdToCredits, validateAiAvatarPayload, validateCinematicAvatarPayload, validateDurationForFormat, validateModeActivation, validateModelInput, validateNoNestedGroups, validateObjects, validateProviderForNodeType, validateSubWorkflowRoutes, variantJobId, videoAnalysisCreditSegment, videoAnalysisNumWindows, videoAnalysisResultSchema, videoModelCanSpeakDialogue, videoModelSupportsAudio, videoProviderRequiresImage, windowAnalysisSchema, zipMergeLists };
13030
+ export { ACTIVE_SCENE_HELPERS, ADVANCED_MODE_UNAVAILABLE_REASON, AGGREGATEABLE_TYPES, AI_AVATAR_DURATION_BUCKETS, AI_AVATAR_MAX_AUDIO_SEC, AI_AVATAR_MAX_DURATION_SEC, AI_AVATAR_RESERVE_IDS, AI_WRITER_PROVIDERS, ALA_CARTE_BOARDS, ALL_CAPTION_STYLES, ANIMALS, ANIMAL_SUBCATEGORY_LABELS, ANIMAL_SUBCATEGORY_ORDER, ASPECT_RATIO_DIMENSIONS, AUDIO_ADDON_PROVIDERS, AUDIO_CROSSFADE_CURVES, AUDIO_CROSSFADE_CURVE_IDS, AUDIO_FX_PRESETS, AUDIO_FX_PRESET_LABELS, AUDIO_FX_PRESET_SET, AUDIO_FX_REVERB_PRESETS, AUDIO_PRODUCER_TYPES, AddBRollResultSchema, AnchorSceneStyleResultSchema, AssetRefSchema, AuditImagesResultSchema, AuditImagesShotEntrySchema, AuditPromptIssueSchema, AuditPromptResultSchema, AvatarPayloadError, BOARD_TO_ASSET_TYPE, BOARD_TO_COLUMN, BOARD_VARIANTS, BridgeToNextSceneInputSchema, BridgeToNextSceneResultSchema, CATEGORY_DURATION_DEFAULTS, CHARACTER_ASPECT_DEFAULTS, CHARACTER_ASPECT_OPTIONS, CHARACTER_ASSET_TYPES, CHARACTER_ASSET_VARIANTS, CHARACTER_ATTACH_COLUMNS, CHARACTER_FACETS, CHARACTER_FACET_IDS, CHARACTER_LORA_TRAINING_JOB_TYPE, CHARACTER_MOTION_PROVIDERS, CHARACTER_PICKER_DISPLAY_ORDER, CHARACTER_REFERENCE_PHOTO_KINDS, CHARACTER_STYLES, CHARACTER_VARIANT_ASSET_BUCKETS, CHAT_ENABLED_STAGES, CHAT_STAGES, CHAT_TURN_CAPS, CHAT_WIRED_STAGES, CINEMATIC_DEFAULT_DURATION_SEC, CINEMATIC_DEFAULT_RESOLUTION, CINEMATIC_MAX_DURATION_SEC, CINEMATIC_MAX_LOOKS, CINEMATIC_MAX_REFERENCE_IMAGES, CINEMATIC_MAX_REFERENCE_VIDEOS, CINEMATIC_MIN_DURATION_SEC, CINEMATIC_MIN_LOOKS, CINEMATIC_PROMPT_MAX, CINEMATIC_RESERVE_IDS, COLLECT_IN_HANDLE, COMBINE_TRANSITIONS, COMBINE_TRANSITION_GROUP_LABELS, COMBINE_TRANSITION_GROUP_ORDER, COMBINE_TRANSITION_IDS, COMPOSER_PLAN_FIELDS, COMPOSER_PLAN_MAP, CONTENT_TYPES_BY_PLATFORM, CREATURE_ATTACH_COLUMNS, CREDIT_BASE_USD, CREDIT_ROUNDING_RESOLUTION, CastCoverageCriticVerdictSchema, CharacterImageCriticVerdictSchema, CharacterMetadataSchema, ChatTurnResponseSchema, CriticIssueSchema, DEFAULT_AUDIO_CROSSFADE_CURVE_ID, DEFAULT_CARRIED_FRACTION, DEFAULT_CHARACTER_ANGLE_COUNT, DEFAULT_CHARACTER_EXPRESSION_COUNT, DEFAULT_CHARACTER_FACET, DEFAULT_LABEL_BY_SOURCE, DEFAULT_LOCATION_USAGE_MODE, DEFAULT_PANEL_COUNT, DEFAULT_REF_IMAGE_MAX, DEFAULT_SECTIONS, DEFAULT_USAGE_MODE, DEFAULT_VIDEO_ANALYSIS_MODEL, DEFAULT_VIDEO_ANALYSIS_TIER, DEFAULT_VIDEO_CLIP_COST, DEFAULT_VIDEO_DURATION_SEC, DEFAULT_VIDEO_PROVIDER, DEFAULT_VOICE_CHANGER_MODEL, DEFAULT_VOICE_DESIGN_MODEL, DETAIL_VARIANTS, DURATION_PRICED_PROVIDERS, DYNAMIC_PRODUCER_TYPES, DetectionResultSchema, EFFORT_TIER_BUMP, EMOTIONAL_BEAT, ENTITY_ASPECT_DEFAULTS, ENTITY_IMAGE_HANDLE_TYPES, ENTITY_SECTIONS, ENTITY_STATUSES, ENTITY_TOOL_RETRY_CAP, ENTITY_TYPES, EXECUTION_DATA_KEYS, EXTEND_VIDEO_PROVIDERS, EntityMetadataSchema, EntityRejectInputSchema, EntityStaleEventSchema, EntityStateChangeEventSchema, FACE_SWAP_PROVIDERS, FAL_LIP_SYNC_PROVIDERS, FAN_OUT_EACH_TYPES, FEATURED_ENTITIES, FILM_BASE_CREDITS, FLEXIBLE_INPUT_LIP_SYNC_PROVIDERS, FLUX2_RES_MP, FLUX_LORA_CHARACTER_MODEL_ID, FRAME_MODE_ADAPTIVE_ONLY_ASPECT, FRAME_TARGET_HANDLES, FREECUT_EXPORT_COMPLETE, FREECUT_EXPORT_PROGRESS, FREECUT_READY, FREECUT_REQUEST_IMPORT, FURNITURE, FURNITURE_SUBCATEGORY_LABELS, FURNITURE_SUBCATEGORY_ORDER, FixContinuityInputSchema, FixContinuityResultSchema, GENERATE_TEXT_DELIMITER, GLOBAL_MAX_DURATION_SECONDS, GROUP_HANDLE_PREFIX, GUIDANCE_SCALE_SUPPORT, GVP_ANCHOR_CHOICES, GVP_DEFAULT_PROVIDER, GVP_END_FRAME_PROVIDERS, GVP_EXTEND_PROVIDERS, GVP_SUPPORTED_PROVIDERS, GenerateMotionInputSchema, GenerateMotionResultSchema, HANDLE_PORT_SEPARATOR, HELPERS_SHIPPED_IN_1B3, HIGH_QUALITY_PROVIDERS, HINT_EXEMPT_PARAMETER_TYPES, I2I_MASK_SUPPORT, I2I_STRENGTH_SUPPORT, IDEOGRAM_PROVIDERS, IMAGE_CRITIC_LEAF_MODES, IMAGE_CRITIC_MAX_RETRIES, IMAGE_CRITIC_METADATA_KEYS, IMAGE_CRITIC_MIN_ADHERENCE_SCORE, IMAGE_CRITIC_MODES, IMAGE_CRITIC_UNRESOLVABLE, IMAGE_EDIT_PROVIDERS, IMAGE_GEN_PROVIDERS, IMAGE_I2I_PROVIDERS, IMAGE_MASK_MODE, IMAGE_PROMPT_MAX, IMAGE_REF_TYPES, IMAGE_TO_VIDEO_PROVIDERS, INPUT_FIELD_MAP2 as INPUT_FIELD_MAP, INPUT_NODE_TYPES, INSTAGRAM_CAROUSEL_MAX_ITEMS, INSTAGRAM_CAROUSEL_MIN_ITEMS, ITER_CLONE_PATTERN, ImageCriticIssueSchema, ImageCriticResultSchema, ImageCriticVerdictSchema, ImprovePromptInputSchema, ImprovePromptResultSchema, KEYFRAME_CREDITS_PER_SHOT, KINETIC_CAPTION_STYLES, LANGUAGES, LEGACY_LOTTIE_HOST_REMAP, LIP_SYNC_DURATION_BUCKETS, LIP_SYNC_MAX_AUDIO_SECONDS, LIP_SYNC_PROVIDERS, LLM_FEATURE_DEFAULTS, LLM_MODALITY_CAPS, LLM_MODELS, LLM_MODEL_IDS, LLM_REASONING_EFFORTS, LLM_ROUTE_DEFAULTS, LLM_TEXT_INPUT_MAX, LOCATION_ASSET_TYPES, LOCATION_ASSET_VARIANTS, LOCATION_ATMOSPHERE_PROVIDERS, LOCATION_ATTACH_COLUMNS, LOCATION_BUCKET_TO_CATALOG_ID, LOCATION_PRESET_TO_CATALOG, LOCATION_REFERENCE_PHOTO_KINDS, LOCATION_REFERENCE_PHOTO_KIND_LABELS, LOCATION_USAGE_MODES, LOTTIE_OVERLAY_CATALOG, LOTTIE_SLOT_FIELD_PREFIX, LocationImageCriticVerdictSchema, LocationMetadataSchema, LocationsCoverageCriticIssueSchema, LocationsCoverageCriticVerdictSchema, MAX_CUSTOM_ENTRIES_PER_BOARD, MAX_IMAGE_PROMPT_CHARS_BY_PROVIDER, MAX_LOCATION_VARIANTS, MAX_NEGATIVE_PROMPT_CHARS_BY_PROVIDER, MAX_PANELS_PER_SHEET, MAX_TTS_CHARS_BY_PROVIDER, MAX_VIDEO_PROMPT_CHARS_BY_PROVIDER, MINIMAX_H3_DEFAULT_RESOLUTION, MINIMAX_H3_PROVIDERS, MODELS_WITH_REFERENCE_IMAGE_SUPPORT, MODEL_CATALOG, MODEL_RECOMMENDATIONS, MODIFY_IMAGE_PROVIDERS, MOTION_COLUMN, MOTION_TRANSFER_PROVIDERS, MUSIC_PROVIDERS, MatchCutVerdictSchema, NATIVE_ADAPTIVE_ASPECT, NATIVE_NEGATIVE_PROMPT_MODELS, NATIVE_NEGATIVE_VIDEO_PROVIDERS, NEGATIVE_PROMPT_MAX, NODARO_IMPORT_FILES, NODARO_LOAD_TIMELINE, NODARO_LOAD_VIDEO, NODARO_RESET_PROJECT, NODE_DEFAULT_TYPES, NODE_MAPPABLE_FIELDS, NODE_PRESET_EXPORT_KIND, NODE_REF_PATTERN, NON_EN_LOCALE_IDS, NO_SPLIT_DELIMITER, OBJECT_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS, OBJECT_ASSET_TYPES, OBJECT_ASSET_VARIANTS, OBJECT_ATTACH_COLUMNS, OBJECT_MOTION_PROVIDERS, OBJECT_PICKER_NODE_TYPES, OUTPUT_FIELD_MAP, OUTPUT_FORMATS, ObjectMetadataSchema, OptimizeForModelInputSchema, OptimizeForModelResultSchema, PARAMETER_NODE_TYPES, PASSTHROUGH_TYPES, PER_FORMAT_DURATION_BOUNDS, PIPELINE_ACTIVATION_MODES, PIPELINE_FORMATS, PIPELINE_HARD_TIMEOUT_MS, PIPELINE_MODEL_STAGES, PIPELINE_MODES, PIPELINE_OUTPUT_RESOLUTIONS, PIPELINE_PINNABLE_IMAGE_MODELS, PIPELINE_PINNABLE_SCRIPT_LLMS, PIPELINE_PINNABLE_VIDEO_MODELS, PIPELINE_STAGE_NAMES, PIPELINE_STAGE_TIMEOUT_MS, PIPELINE_TYPES, PLACEHOLDER_CHARACTER_NAME, PLATFORM_LABELS, PLATFORM_SPECS, PRESET_APPLY_CLEAR_KEYS, PRESET_EXCLUDED_KEYS, PRESET_LABELS, PRICING_DEFAULT_DURATION_SEC, PRICING_DEFAULT_RESOLUTION, PROMPT_HARD_CEILING, PROVIDER_DIRECTIVE_DEFAULTS, PROVIDER_PLACEHOLDER_PREFIX, PipelineCompletedEventSchema, PipelineConfigSchema, PipelineDriftSummarySchema, PipelineEditorDecisionsReadyEventSchema, PipelineForkedEventSchema, PipelineInputSchema, PipelineMusicReadyEventSchema, PipelineStageNameSchema, PipelineStageStatusSchema, PipelineStateSchema, PipelineStatusSchema, QA_CHECK_PROVIDERS, REDUCE_STRATEGIES, REDUCE_STRATEGY_IDS, REFERENCE_BOARD_PROVIDERS, REFERENCE_BOARD_TEMPLATES, REFERENCE_HANDLE_MAP, REFERENCE_ROLE_PRESETS, REF_HANDLE_CATEGORY, REF_IMAGE_MAX_LIMITS, RENDERING_SPEED_SUPPORT, REPEATABLE_NODE_TYPES, REPEAT_PLACEHOLDER, REPLICATE_LIP_SYNC_PROVIDERS, RESERVED_TEMPLATE_VARS, SCENE_HELPER_NAMES, SCRAPER_ACTOR_LABELS, SCRAPER_CREDIT_COSTS, SCRAPER_OUTPUT_FIELDS, SCRIPT_PROVIDERS, SEASONS, SECTION_BOARD, SECTION_KINDS, SEEDANCE_2_5_REF_LIMITS, SEEDANCE_2_CONTINUATION_REF_SEC, SEEDANCE_2_EXTEND_STITCH, SEEDANCE_2_PROVIDERS, SEEDANCE_2_R2V_MAX_AUDIO_SEC_BY_PROVIDER, SEEDANCE_2_R2V_MIN_REF_VIDEO_SEC, SEEDANCE_2_REF_LIMITS, SEEDANCE_LIP_SYNC_PROVIDERS, SEED_SUPPORT, SEPARATOR_DISPLAY, SEPARATOR_PRESETS, SHEET_ASPECTS, SHEET_BACKGROUNDS, SHEET_PRESETS, SHEET_SKINS, SHEET_TYPES, SHORT_FILM_ANGLE_COUNT, SHORT_FILM_EXPRESSION_COUNT, SHORT_FILM_VARIANT_THRESHOLD_SEC, SLOT_TOKEN_RE, SMART_CUT_WINDOW_DEFAULT, SMART_CUT_WINDOW_MAX, SMART_CUT_WINDOW_MIN, SOCIAL_POST_NODE_TYPES, STAGE_PATCH_SCHEMA, STATIC_CAPTION_STYLES, STRUCTURAL_SECTIONS, STRUCTURED_VISION_MODELS, SUNO_ADD_TRACK_MODELS, SUNO_FIELD_HANDLE_FIELDS, SUNO_MODELS, SUNO_TEXT_MAX, SUNO_TITLE_MAX, SUPPORTED_FONT_NAMES, SURROUND_DIRECTIONS, SWITCHX_BLOCK_FRAMES, SWITCHX_FRAME_TIERS, SceneHelperNameSchema, SceneInputModeSchema, SceneMetadataSchema, SceneNodeDataSchema, SceneSpecSchema, ScriptCriticVerdictSchema, ShotSpecSchema, ShowrunnerPlanSchema, StageAwaitingSubGateEventSchema, StoryboardCohesionCriticVerdictSchema, StyleDirectivesSchema, SubGateNameSchema, T2I_TO_I2I_VARIANT, TEXT_TO_AUDIO_PROVIDERS, TEXT_TO_VIDEO_PROVIDERS, TIER_MAX_PIPELINE_COST_CREDITS, TIER_PIPELINE_PARALLELISM, TILT_CARRIED_FRACTION, TRANSCRIBE_PROVIDERS, TRANSIENT_RUNTIME_KEYS, TTS_PROVIDERS, TTS_TEXT_MAX, TWO_K_RESOLUTION_PROVIDERS, TransitionTypeSchema, UPSCALE_IMAGE_PROVIDERS, USAGE_MODES, VARIABLES_HANDLE_ID, VARIABLE_PRICING_MODELS, VEHICLES, VEHICLE_SUBCATEGORY_LABELS, VEHICLE_SUBCATEGORY_ORDER, VEO_PROVIDERS, VIDEO_ANALYSIS_BUCKET_CREDITS, VIDEO_ANALYSIS_DEFAULT_VARIATION, VIDEO_ANALYSIS_DURATION_BUCKETS, VIDEO_ANALYSIS_DURATION_TOLERANCE_SEC, VIDEO_ANALYSIS_ENTITY_SOURCES, VIDEO_ANALYSIS_FACELESS_ANGLES, VIDEO_ANALYSIS_LEGACY_MODELS, VIDEO_ANALYSIS_LLM_MODELS, VIDEO_ANALYSIS_MAX_DURATION_SEC, VIDEO_ANALYSIS_MAX_SCENE_SEC, VIDEO_ANALYSIS_MAX_VARIATIONS, VIDEO_ANALYSIS_MIXED_TIERS, VIDEO_ANALYSIS_SHOT_ANGLES, VIDEO_ANALYSIS_SPEED_EFFECTS, VIDEO_ANALYSIS_TIERS, VIDEO_ANALYSIS_TIER_LABELS, VIDEO_ANALYSIS_TIER_ORDER, VIDEO_ANALYSIS_TRANSITIONS, VIDEO_ANALYSIS_VARIATION_SLUGS, VIDEO_ANALYSIS_VISUAL_EFFECTS, VIDEO_ANALYSIS_WINDOW, VIDEO_AUDIO_CAPABILITY, VIDEO_AUDIT_BUCKET_CREDITS, VIDEO_CLIP_CREDITS, VIDEO_CRITIC_CREDITS_PER_SHOT, VIDEO_CRITIC_FRAME_MODES, VIDEO_CRITIC_MAX_RETRIES, VIDEO_CRITIC_METADATA_KEYS, VIDEO_CRITIC_MIN_ADHERENCE_SCORE, VIDEO_DURATION_TIERS, VIDEO_GEN_COLLAPSED_T2V_IDS, VIDEO_GEN_PROVIDERS, VIDEO_INPUT_LIP_SYNC_PROVIDERS, VIDEO_MODEL_CAPS, VIDEO_MODE_ALIASES, VIDEO_PRODUCER_TYPES, VIDEO_PROMPT_MAX, VIDEO_PROVIDERS_REQUIRING_IMAGE, VIDEO_PROVIDERS_WITHOUT_DISPATCH, VIDEO_REF_LIMITS_BY_PROVIDER, VIDEO_TO_VIDEO_PROVIDERS, VIDEO_UPSCALE_PROVIDERS, VIDEO_UTIL_PRICING, VIDEO_VARIABLE_PRICING, VOICE_CHANGER_MODELS, VOICE_CHANGER_MODEL_IDS, VOICE_DESIGN_MODELS, ValidateMatchCutInputSchema, ValidateMatchCutResultSchema, VideoCriticVerdictSchema, VoiceMatchSchema, WARDROBE_VARIANTS, WEAPONS, WEAPON_SUBCATEGORY_LABELS, WEAPON_SUBCATEGORY_ORDER, aggregateByType, aiAvatarReserveCreditId, analyzedSceneSchema, applyDefaultVideoSelection, applyHandleInputOverride, applyRange, applyRangeIndices, applySlots, applyVideoAudioToggle, applyVideoNegativePrompt, aspectRatioFromDims, aspectRatioOptionsByKind, aspectRatioToNumber, assembleNarratedVideoCredits, availableReasoningEfforts, bucketSecondsFromAuditCreditId, bucketSecondsFromCreditId, buildBoardPrompt, buildChildrenByParent, buildConditionVariables, buildCreditModelIdentifier, buildExpressionFromVisual, buildLipSyncCreditId, buildLlmCreditIdentifier, buildModelMenu, buildModelTree, buildMotionCreditModelIdentifier, buildNodePresetExport, buildPanelPrompt, buildProgressSegments, buildRangeLabel, buildScraperCreditId, buildSurroundFillPrompt, buildVideoAnalysisCreditId, buildVideoAuditCreditId, buildVideoCreditModelIdentifier, calculateCombinedProgress, calculateMonetizationMarkup, calculateMonetizedCost, calculateProgress, canonicalVarName, characterBoardItems, characterBucketDisplayRank, characterMentionSlug, characterMentionableAssetArrays, characterSheetRefItems, characterVariantAssetArrays, cinematicCreditId, clampCinematicDuration, clampSmartCutWindow, cleanOrphanedItems, clearImageCriticMetadata, clearVideoCriticMetadata, clipLookSchema, collectAncestorRefs, combineSameLabelRefs, countRefModalityEdges, creditRangesAll, creditsToUsd, decodeProviderItem, defaultCarriedFraction, defaultRoleForSource, defaultVideoAspectRatio, deriveLinkedFields, deriveLottieSlotFields, deriveSlotRefs, describeEdgeBehavior, describeMaskRegion, describeSlotControl, dropUnknownBindings, dropUnknownSpeakers, durationsByMode, effectiveReasoningEffort, encodeProviderItem, ensureLocaleCatalogLoaded, entitySlotSchema, entryMatchesQuery, estimateCombineVideosCredits, estimateFilmCredits, estimateLoopTrimAddonCredits, estimateLoopVideoCredits, estimateScriptDurationSec, estimateSheetCost, estimateTrimVideoCredits, evaluateCondition, evaluateConditionGroup, evaluateJsonExpression, evaluateJsonPath, expandExtraRefsToConnectedReferences, expandItemsWithRepeat, extractAllGeneratedResults, extractCharacterLoraFields, extractGeneratedJsonAsList, extractPresetData, extractReferencedLabels, extractVideoDurationFromNode, fieldKeyFromHandle, filterCloneNodes, findCharacterMentionTokens, findLocationMentionTokens, findSeedance2AudioOverLimit, firstSightExtraRole, flattenItems, getAnimal, getAnimalLabel, getAspectRatioOptions, getAudioCrossfadeCurve, getCharacterFacet, getCombineTransition, getCreditRange, getDurationsForModel, getEffectiveRepeatCount, getFeaturedEntities, getFurniture, getFurnitureLabel, getInputFieldSchema, getInputNodes, getItemSortId, getLipSyncMaxAudioSeconds, getLlmModalityCaps, getLlmModel, getLlmTier, getLocaleDirection, getMaxImagePromptChars, getMaxNegativePromptChars, getMaxSunoPromptChars, getMaxSunoStyleChars, getMaxTtsChars, getMaxVideoPromptChars, getModel, getNodeLabel, getNodeResult, getOutputNodes, getOutputType, getParameterValue, getQualityOptions, getResolutionOptions, getRouteReachableNodeIds, getStrategy, getTargetField, getValidValues, getVehicle, getVehicleLabel, getVideoAudioCapability, getWeapon, getWeaponLabel, groupByFamily, groupHandleId, hasContiguousSegmentDurations, hasFeature, hexToRgbaArray, humanizeSlotSid, imageReferenceLimit, isAggregateableType, isCharacterAspectRatio, isCollectInEdge, isDefaultSelectorConfig, isExpandedClone, isFlux2Model, isGvpSupportedProvider, isHandleInputWired, isKineticCaptionStyle, isLocationUsageMode, isMinimaxH3Provider, isObjectAspectRatio, isOversizedScene, isPerSecondLipSyncProvider, isScraperActor, isSeedance2Provider, isTiltDirection, isUsageMode, isVeoProvider, isVideoAnalysisMixedTier, isVideoAnalysisTier, jsonResultToList, listBoardTemplates, listModels, listSlotSids, llmRouteDefaults, locationMentionSlug, locationReferencePhotoKindLabel, locationUsageModeLabel, mapAspectRatio, mapQuality, mapShotIntentToProviderDirectives, matchVariant, maxSegmentSecFor, maxSegmentsFor, mergeClipLook, mergeExposedSettings, migrateEdgeOutputMode, migrateToItems, minSegmentSecFor, modelIdsByKindMode, modelToNodeTarget, modelsForInputMode, modelsWithFeature, motionGraphicsFeature, normalizeLottieLayers, normalizeMinimaxH3Resolution, normalizePinterestUrl, normalizeRoleSlug, parseAttributedDialogue, parseCharacterMentionToken, parseGroupHandle, parseHandleId, parseListExpression, parseLocationMentionToken, parseNodePresetExport, parseNodeRef, pickAiAvatarBucket, pickIds, pickLipSyncBucket, pickSwitchXFrameTier, pickVideoAnalysisBucket, planSheetGeneration, planSheetPanels, preferredInputModeForModel, presentTypes, presetDataMatches, presetEntries, qualityOptionsByKind, refHandleCategory, referenceModalityForHandle, referenceSheetCreditId, registerSidecarLoaders, renderAnalyzedScene, resolutionOptionsByKind, resolveAiAvatarCreditId, resolveAudioCrossfadeCurve, resolveCharacterAspectRatio, resolveCinematicCreditId, resolveConditionValue, resolveDefaultRole, resolveDescription, resolveDialogueVoices, resolveEffectiveSourceType, resolveEntityAspect, resolveFieldMappings, resolveGvpAnchorWire, resolveImageGenCreditIdentifier, resolveIndex, resolveLabel, resolveListExpression, resolveLlmCreditId, resolveLocationFields, resolveLocationPresetCatalog, resolveLottieOverlaySrc, resolveNodeRefs, resolveObjectAspectRatio, resolvePipelineModel, resolveRelativeWindowToken, resolveScraperCreditId, resolveSelectorRefs, resolveSeparator, resolveSheetSections, resolveSourceThroughConnectedList, resolveSwitchXCreditId, resolveVideoAnalysisModel, resolveVideoProviderForMode, resolveXfadeName, rewriteSceneBindings, rewriteSlotTokens, rewriteSpeakerSlots, rgbaArrayToHex, roleToPhrase, runSelector, sanitizeRole, searchModelVariants, seedance2AudioLimitSec, segmentDurationsFor, selectByModulo, selectByNamedKey, selectByPredicate, selectListItems, selectLoraRoutingForMentions, selectRandom, settledWithLimit, slotVariationSchema, sortCharacterEntriesForDisplay, sortListItems, sourceRefKey, spliceDelimitedRows, splitByLoopDelimiter, splitGeneratedItems, spreadJsonArrayIfSingleton, stringifyPathResults, stripExportContent, stripTransientRuntimeData, supportedDefaultDimensions, supportsAdvancedMode, supportsEndAnchor, supportsExtendRender, toConnectedReference, toConnectedReferences, togglePick, tryParseJson, unwrapUnresolvedTokens, usageModeDirective, usageModeIncludesName, usageModeLabel, usdToCredits, validateAiAvatarPayload, validateCinematicAvatarPayload, validateDurationForFormat, validateModeActivation, validateModelInput, validateNoNestedGroups, validateObjects, validateProviderForNodeType, validateSubWorkflowRoutes, variantJobId, videoAnalysisCreditSegment, videoAnalysisNumWindows, videoAnalysisResultSchema, videoAuditCreditsForBucket, videoModelCanSpeakDialogue, videoModelSupportsAudio, videoProviderRequiresImage, windowAnalysisSchema, zipMergeLists };
12678
13031
  //# sourceMappingURL=index.js.map
12679
13032
  //# sourceMappingURL=index.js.map