@nodaro/shared 3.9.0 → 3.10.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.cjs +254 -50
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +741 -30
- package/dist/index.d.ts +741 -30
- package/dist/index.js +231 -51
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/credit-identifiers.test.ts +51 -1
- package/src/__tests__/gvp-supported-providers.test.ts +20 -3
- package/src/__tests__/model-catalog-sections.test.ts +59 -0
- package/src/__tests__/model-tree.test.ts +2 -2
- package/src/__tests__/parameter-node-value.test.ts +35 -0
- package/src/__tests__/pricing-default-duration.test.ts +45 -0
- package/src/__tests__/prompt-length-limits.test.ts +4 -0
- package/src/__tests__/scene3d-delivery-review.test.ts +512 -0
- package/src/__tests__/template-categories.test.ts +45 -0
- package/src/__tests__/video-ref-limits.test.ts +11 -2
- package/src/credit-identifiers.ts +44 -9
- package/src/i18n/character-motion.ar.ts +1031 -0
- package/src/i18n/character-motion.de.ts +1031 -0
- package/src/i18n/character-motion.es.ts +1031 -0
- package/src/i18n/character-motion.fr.ts +1031 -0
- package/src/i18n/character-motion.he.ts +1031 -0
- package/src/i18n/character-motion.hi.ts +1031 -0
- package/src/i18n/character-motion.ja.ts +1031 -0
- package/src/i18n/character-motion.ko.ts +1031 -0
- package/src/i18n/character-motion.pt-BR.ts +1031 -0
- package/src/i18n/character-motion.ru.ts +1031 -0
- package/src/i18n/character-motion.zh-CN.ts +1031 -0
- package/src/i18n/types.ts +1 -0
- package/src/index.ts +21 -0
- package/src/model-catalog.ts +49 -32
- package/src/model-constants.ts +50 -11
- package/src/node-execution-state.ts +95 -0
- package/src/parameter-node-value.ts +33 -0
- package/src/presentation-utils.ts +1 -0
- package/src/pro-3d-render.ts +159 -0
- package/src/scene3d-delivery-notes.ts +490 -0
- package/src/scene3d-v2-plan.ts +8 -2
- package/src/smart-cut-windows.ts +15 -10
- package/src/template-categories.ts +67 -0
package/dist/index.cjs
CHANGED
|
@@ -601,23 +601,8 @@ var IMAGE_MODELS = {
|
|
|
601
601
|
{ identifier: "ideogram-remix:QUALITY", credits: 60, note: "best quality" }
|
|
602
602
|
]
|
|
603
603
|
},
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
kind: "image",
|
|
607
|
-
modes: ["edit"],
|
|
608
|
-
family: "Ideogram",
|
|
609
|
-
label: "Ideogram Reframe",
|
|
610
|
-
series: "Ideogram",
|
|
611
|
-
description: "Outpaint / reframe to a new aspect ratio while preserving subject.",
|
|
612
|
-
useCases: ["outpaint", "reframe"],
|
|
613
|
-
features: ["reference-image"],
|
|
614
|
-
aspectRatios: IDEOGRAM_RATIOS,
|
|
615
|
-
pricing: [
|
|
616
|
-
{ identifier: "ideogram-reframe", credits: 18, note: "BALANCED default" },
|
|
617
|
-
{ identifier: "ideogram-reframe:TURBO", credits: 18, note: "fastest" },
|
|
618
|
-
{ identifier: "ideogram-reframe:QUALITY", credits: 18, note: "best quality" }
|
|
619
|
-
]
|
|
620
|
-
},
|
|
604
|
+
// `ideogram-reframe` was retired 2026-09-15 — KIE's `ideogram/v3-reframe`
|
|
605
|
+
// fails every task upstream (#1331); see IDEOGRAM_PROVIDERS in model-constants.
|
|
621
606
|
// ── Google Imagen ──
|
|
622
607
|
"imagen4": {
|
|
623
608
|
id: "imagen4",
|
|
@@ -1069,9 +1054,17 @@ var VIDEO_MODELS = {
|
|
|
1069
1054
|
family: "Google",
|
|
1070
1055
|
label: "VEO 3.1 Quality",
|
|
1071
1056
|
series: "VEO",
|
|
1072
|
-
description: "Google VEO 3.1 Quality \u2014 premium cinematic video. 4/6/8s clips, optional end frame, native audio. Flat per-generation pricing across durations.",
|
|
1057
|
+
description: "Google VEO 3.1 Quality \u2014 premium cinematic video. 4/6/8s clips, optional end frame, native audio. No reference-to-video mode (Fast/Lite only). Flat per-generation pricing across durations.",
|
|
1073
1058
|
useCases: ["cinematic", "premium", "narrative"],
|
|
1074
|
-
|
|
1059
|
+
// NO "reference-image": KIE serves REFERENCE_2_VIDEO on the Fast and Lite
|
|
1060
|
+
// SKUs only. Its own words, on a production job (2026-09-04, app-reports
|
|
1061
|
+
// lane G): "Reference to video only supports the Veo Fast model and Veo
|
|
1062
|
+
// Lite model." Until 2026-09-15 this entry claimed the feature, so the
|
|
1063
|
+
// editor offered the reference handles, the adapter sent
|
|
1064
|
+
// generationType: "REFERENCE_2_VIDEO", and the call came back 422 every
|
|
1065
|
+
// time — after credits were reserved. `veo3.1` (KIE `veo3_fast`) and
|
|
1066
|
+
// `veo3_lite` DO serve it and keep the flag.
|
|
1067
|
+
features: ["end-frame", "audio"],
|
|
1075
1068
|
durations: [4, 6, 8],
|
|
1076
1069
|
aspectRatios: VIDEO_RATIOS_HV,
|
|
1077
1070
|
// 720p (default) + 1080p inline. 4K generates the base at 1080p then chains
|
|
@@ -2028,7 +2021,7 @@ var VIDEO_MODELS = {
|
|
|
2028
2021
|
id: "omnihuman-1-5",
|
|
2029
2022
|
kind: "video",
|
|
2030
2023
|
modes: ["lip-sync"],
|
|
2031
|
-
family: "
|
|
2024
|
+
family: "Bytedance",
|
|
2032
2025
|
label: "OmniHuman 1.5",
|
|
2033
2026
|
series: "OmniHuman",
|
|
2034
2027
|
description: "Premium prompt-directed talking avatar from a still image + audio. 720p / 1080p, up to 60s. People, pets, anime.",
|
|
@@ -2287,17 +2280,8 @@ var AUDIO_MODELS = {
|
|
|
2287
2280
|
pricing: [{ identifier: "elevenlabs-dialogue", credits: 25, note: "per 1K chars" }]
|
|
2288
2281
|
},
|
|
2289
2282
|
// ── ElevenLabs voice utilities ──
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
kind: "audio",
|
|
2293
|
-
modes: ["voice-clone"],
|
|
2294
|
-
family: "ElevenLabs",
|
|
2295
|
-
label: "Voice Clone (Instant)",
|
|
2296
|
-
series: "ElevenLabs",
|
|
2297
|
-
description: "Clone a voice from a short reference clip. Instant clone via direct ElevenLabs API.",
|
|
2298
|
-
useCases: ["voice-clone", "personalization"],
|
|
2299
|
-
pricing: [{ identifier: "voice-clone", credits: 50 }]
|
|
2300
|
-
},
|
|
2283
|
+
// (voice cloning was retired platform-wide on 2026-09-15 — no catalog entry,
|
|
2284
|
+
// no price, no MCP tool; existing clones still resolve as TTS voice ids.)
|
|
2301
2285
|
"elevenlabs-voice-design": {
|
|
2302
2286
|
id: "elevenlabs-voice-design",
|
|
2303
2287
|
kind: "audio",
|
|
@@ -2353,6 +2337,17 @@ var AUDIO_MODELS = {
|
|
|
2353
2337
|
useCases: ["dubbing", "multilingual"],
|
|
2354
2338
|
pricing: [{ identifier: "elevenlabs-dubbing", credits: 40, note: "per minute of the dubbed span (min 1)" }]
|
|
2355
2339
|
},
|
|
2340
|
+
"elevenlabs-dubbing-v2": {
|
|
2341
|
+
id: "elevenlabs-dubbing-v2",
|
|
2342
|
+
kind: "audio",
|
|
2343
|
+
modes: ["dubbing"],
|
|
2344
|
+
family: "ElevenLabs",
|
|
2345
|
+
label: "ElevenLabs Dubbing v2",
|
|
2346
|
+
series: "ElevenLabs",
|
|
2347
|
+
description: "Translate + dub audio or a whole video into a new language \u2014 video in, dubbed video out. Async.",
|
|
2348
|
+
useCases: ["dubbing", "multilingual"],
|
|
2349
|
+
pricing: [{ identifier: "elevenlabs-dubbing-v2", credits: 1100, note: "per minute of the dubbed span (min 1)" }]
|
|
2350
|
+
},
|
|
2356
2351
|
"elevenlabs-forced-alignment": {
|
|
2357
2352
|
id: "elevenlabs-forced-alignment",
|
|
2358
2353
|
kind: "audio",
|
|
@@ -2475,6 +2470,10 @@ function groupByFamily(entries) {
|
|
|
2475
2470
|
}
|
|
2476
2471
|
return Array.from(groups.entries()).map(([family, models]) => ({ family, models }));
|
|
2477
2472
|
}
|
|
2473
|
+
var MODEL_KINDS = ["image", "video", "audio"];
|
|
2474
|
+
function groupByKindAndFamily(entries) {
|
|
2475
|
+
return MODEL_KINDS.map((kind) => ({ kind, families: groupByFamily(entries.filter((m) => m.kind === kind)) })).filter((section) => section.families.length > 0);
|
|
2476
|
+
}
|
|
2478
2477
|
function getModel(id) {
|
|
2479
2478
|
return MODEL_CATALOG[id];
|
|
2480
2479
|
}
|
|
@@ -2915,16 +2914,23 @@ var MAX_IMAGE_PROMPT_CHARS_BY_PROVIDER = {
|
|
|
2915
2914
|
// docs.kie.ai/market/seedream-5-lite-image-to-image (NB: t2i sibling is 1000)
|
|
2916
2915
|
"qwen": 3e3,
|
|
2917
2916
|
// docs.kie.ai/market/qwen/text-to-image
|
|
2918
|
-
"qwen-edit": 2e3
|
|
2917
|
+
"qwen-edit": 2e3,
|
|
2919
2918
|
// docs.kie.ai/market/qwen/image-edit
|
|
2919
|
+
// Z-Image is the SHORTEST of the family — "maxLength: 1000" in its schema
|
|
2920
|
+
// (docs.kie.ai/market/z-image/z-image, re-fetched 2026-09-15). It was listed
|
|
2921
|
+
// below as "verified == 5000", which is how three production runs on
|
|
2922
|
+
// 2026-09-07 sent a workflow-assembled prompt straight into KIE's
|
|
2923
|
+
// `{"code":500,"msg":"The text length cannot exceed the maximum limit"}`.
|
|
2924
|
+
"z-image": 1e3
|
|
2925
|
+
// docs.kie.ai/market/z-image/z-image
|
|
2920
2926
|
// verified == 5000 default (no entry needed): imagen4(-fast/-ultra), nano-banana,
|
|
2921
2927
|
// nano-banana-edit, flux, flux-flex, gpt-image-2, ideogram-v3/-edit/-remix,
|
|
2922
|
-
//
|
|
2928
|
+
// grok, qwen-i2i, seedream-5-pro, seedream-5-pro-i2i
|
|
2923
2929
|
// (docs.kie.ai/market/seedream/5-pro-text-to-image + 5-pro-image-to-image).
|
|
2924
2930
|
// grok-i2i: doc states 390000 (78× its t2i sibling) — treated as a KIE schema
|
|
2925
2931
|
// typo and left at the 5000 default per the sanity-cap decision.
|
|
2926
2932
|
// UNVERIFIED (no limit stated in schema) → 5000 default: flux-kontext(-max)
|
|
2927
|
-
// gpt-image, gpt-image-i2i, flux-i2i, flux-pro-i2i
|
|
2933
|
+
// gpt-image, gpt-image-i2i, flux-i2i, flux-pro-i2i.
|
|
2928
2934
|
};
|
|
2929
2935
|
function getMaxImagePromptChars(provider) {
|
|
2930
2936
|
return provider && MAX_IMAGE_PROMPT_CHARS_BY_PROVIDER[provider] || IMAGE_PROMPT_MAX;
|
|
@@ -3118,7 +3124,6 @@ var MODELS_WITH_REFERENCE_IMAGE_SUPPORT = /* @__PURE__ */ new Set([
|
|
|
3118
3124
|
"flux-kontext-max",
|
|
3119
3125
|
"ideogram-edit",
|
|
3120
3126
|
"ideogram-remix",
|
|
3121
|
-
"ideogram-reframe",
|
|
3122
3127
|
"qwen-i2i",
|
|
3123
3128
|
"qwen-edit",
|
|
3124
3129
|
"seedream-edit",
|
|
@@ -3179,7 +3184,6 @@ var REF_IMAGE_MAX_LIMITS = {
|
|
|
3179
3184
|
"flux-kontext-max": 1,
|
|
3180
3185
|
"ideogram-edit": 1,
|
|
3181
3186
|
"ideogram-remix": 1,
|
|
3182
|
-
"ideogram-reframe": 1,
|
|
3183
3187
|
"qwen-i2i": 1,
|
|
3184
3188
|
"qwen-edit": 1,
|
|
3185
3189
|
"grok-i2i": 1,
|
|
@@ -3224,7 +3228,6 @@ var VARIABLE_PRICING_MODELS = {
|
|
|
3224
3228
|
"topaz-image-upscale": "resolution",
|
|
3225
3229
|
"ideogram-edit": "rendering-speed",
|
|
3226
3230
|
"ideogram-remix": "rendering-speed",
|
|
3227
|
-
"ideogram-reframe": "rendering-speed",
|
|
3228
3231
|
"ideogram-v3": "rendering-speed",
|
|
3229
3232
|
"wan-2.7": "resolution",
|
|
3230
3233
|
"wan-2.7-pro": "resolution"
|
|
@@ -3242,7 +3245,7 @@ var RESOLUTION_2K_4K_TIERED_PROVIDERS = /* @__PURE__ */ new Set([
|
|
|
3242
3245
|
"wan-2.7",
|
|
3243
3246
|
"wan-2.7-pro"
|
|
3244
3247
|
]);
|
|
3245
|
-
var IDEOGRAM_PROVIDERS = /* @__PURE__ */ new Set(["ideogram-edit", "ideogram-remix", "ideogram-
|
|
3248
|
+
var IDEOGRAM_PROVIDERS = /* @__PURE__ */ new Set(["ideogram-edit", "ideogram-remix", "ideogram-v3"]);
|
|
3246
3249
|
var IMAGE_GEN_PROVIDERS = [
|
|
3247
3250
|
"nano-banana",
|
|
3248
3251
|
"flux",
|
|
@@ -3289,7 +3292,6 @@ var IMAGE_I2I_PROVIDERS = [
|
|
|
3289
3292
|
"grok-2-i2i",
|
|
3290
3293
|
"ideogram-edit",
|
|
3291
3294
|
"ideogram-remix",
|
|
3292
|
-
"ideogram-reframe",
|
|
3293
3295
|
"qwen-i2i",
|
|
3294
3296
|
"qwen-edit",
|
|
3295
3297
|
"seedream-edit",
|
|
@@ -3683,7 +3685,6 @@ var I2I_STRENGTH_SUPPORT = {
|
|
|
3683
3685
|
};
|
|
3684
3686
|
var SEED_SUPPORT = /* @__PURE__ */ new Set([
|
|
3685
3687
|
"ideogram-remix",
|
|
3686
|
-
"ideogram-reframe",
|
|
3687
3688
|
"ideogram-v3",
|
|
3688
3689
|
"qwen",
|
|
3689
3690
|
"qwen-i2i",
|
|
@@ -3699,7 +3700,6 @@ var SEED_SUPPORT = /* @__PURE__ */ new Set([
|
|
|
3699
3700
|
]);
|
|
3700
3701
|
var RENDERING_SPEED_SUPPORT = /* @__PURE__ */ new Set([
|
|
3701
3702
|
"ideogram-remix",
|
|
3702
|
-
"ideogram-reframe",
|
|
3703
3703
|
"ideogram-v3"
|
|
3704
3704
|
]);
|
|
3705
3705
|
var GUIDANCE_SCALE_SUPPORT = {
|
|
@@ -3960,8 +3960,13 @@ var VIDEO_REF_LIMITS_BY_PROVIDER = {
|
|
|
3960
3960
|
// backend kie/models.ts maxRefImages: 7
|
|
3961
3961
|
"happyhorse-ref2v": { images: 9 },
|
|
3962
3962
|
// backend kie/models.ts maxRefImages: 9
|
|
3963
|
-
// VEO 3.x — REFERENCE_2_VIDEO path caps refs at 3 (kie/video.ts
|
|
3964
|
-
|
|
3963
|
+
// VEO 3.x — REFERENCE_2_VIDEO path caps refs at 3 (kie/video.ts slices to
|
|
3964
|
+
// this number). `veo3` (VEO 3.1 QUALITY) is deliberately ABSENT: KIE serves
|
|
3965
|
+
// reference-to-video on the Fast and Lite SKUs only and rejects it on
|
|
3966
|
+
// Quality with "Reference to video only supports the Veo Fast model and Veo
|
|
3967
|
+
// Lite model." (production, 2026-09-04). Absent ⇒ 0 ⇒ the handle dims, the
|
|
3968
|
+
// `connectedReferences` assembly strips image tokens, and kie/video.ts never
|
|
3969
|
+
// flips a Quality call to REFERENCE_2_VIDEO.
|
|
3965
3970
|
"veo3.1": { images: 3 },
|
|
3966
3971
|
"veo3_lite": { images: 3 }
|
|
3967
3972
|
// NOTE: wan-i2v / hailuo-2.3[-pro] / bytedance-pro[-fast] / grok-imagine-video-1.5
|
|
@@ -4189,8 +4194,23 @@ var VIDEO_VARIABLE_PRICING = {
|
|
|
4189
4194
|
"wan-3-prime": "duration+resolution"
|
|
4190
4195
|
};
|
|
4191
4196
|
var PRICING_DEFAULT_DURATION_SEC = {
|
|
4192
|
-
"minimax-h3": 6
|
|
4197
|
+
"minimax-h3": 6,
|
|
4198
|
+
// KIE renders 8s when `duration` is omitted (kie/models.ts extraParams), and
|
|
4199
|
+
// Seedance 2.5 prices one tier per second across 4–30s, so the 5s fallback
|
|
4200
|
+
// billed a 5s tier against an 8s render — and under-reserved every
|
|
4201
|
+
// reference-video run's output seconds by three (#1397).
|
|
4202
|
+
"seedance-2-5": 8,
|
|
4203
|
+
// Same shape: KIE renders 8s by default and the ladder is priced per second,
|
|
4204
|
+
// so the 5s fallback billed a 5s tier against an 8s render (caught by the
|
|
4205
|
+
// render-default ↔ priced-tier invariant in
|
|
4206
|
+
// backend/src/providers/__tests__/pricing-default-duration-sync.test.ts).
|
|
4207
|
+
"grok-imagine-video-1.5": 8
|
|
4193
4208
|
};
|
|
4209
|
+
function pricedOutputDurationSec(provider, requested) {
|
|
4210
|
+
const fallback = PRICING_DEFAULT_DURATION_SEC[provider] ?? 5;
|
|
4211
|
+
const parsed = typeof requested === "string" ? parseInt(requested, 10) : requested;
|
|
4212
|
+
return parsed === void 0 || Number.isNaN(parsed) ? fallback : parsed;
|
|
4213
|
+
}
|
|
4194
4214
|
var PRICING_DEFAULT_RESOLUTION = {
|
|
4195
4215
|
// KIE renders 720p when `resolution` is omitted (kie/models.ts extraParams).
|
|
4196
4216
|
"seedance-2-5": "720p",
|
|
@@ -4882,10 +4902,16 @@ function expandExtraRefsToConnectedReferences(extras, lookupCharacterContext) {
|
|
|
4882
4902
|
}
|
|
4883
4903
|
|
|
4884
4904
|
// src/credit-identifiers.ts
|
|
4905
|
+
function flux2MegapixelTier(model, resolution) {
|
|
4906
|
+
const bare = (v) => v.replace(/\s*MP$/i, "").trim();
|
|
4907
|
+
const raw = typeof resolution === "string" ? bare(resolution) : "";
|
|
4908
|
+
if (raw === "") return "1";
|
|
4909
|
+
const tier = FLUX2_RES_MP.find((t2) => Number(t2) === Number(raw));
|
|
4910
|
+
return tier ?? bare(defaultResolutionFor(model) ?? "1 MP");
|
|
4911
|
+
}
|
|
4885
4912
|
function buildCreditModelIdentifier(provider, quality, resolution, renderingSpeed, targetResolution, referenceImageCount) {
|
|
4886
4913
|
if (isFlux2Model(provider)) {
|
|
4887
|
-
|
|
4888
|
-
return `${provider}:${mp}MP:${Math.min(referenceImageCount ?? 0, 8)}ref`;
|
|
4914
|
+
return `${provider}:${flux2MegapixelTier(provider, resolution)}MP:${Math.min(referenceImageCount ?? 0, 8)}ref`;
|
|
4889
4915
|
}
|
|
4890
4916
|
if (HIGH_QUALITY_PROVIDERS.has(provider) && quality === "high") {
|
|
4891
4917
|
return `${provider}:high`;
|
|
@@ -4991,9 +5017,7 @@ function buildVideoCreditModelIdentifier(provider, duration, sound, nodeType, mo
|
|
|
4991
5017
|
if (!DURATION_PRICED_PROVIDERS.has(effectiveProvider)) {
|
|
4992
5018
|
return effectiveProvider;
|
|
4993
5019
|
}
|
|
4994
|
-
const
|
|
4995
|
-
const parsed = typeof duration === "string" ? parseInt(duration, 10) : duration ?? durationFallback;
|
|
4996
|
-
const durationSec = Number.isNaN(parsed) ? durationFallback : parsed;
|
|
5020
|
+
const durationSec = pricedOutputDurationSec(effectiveProvider, duration);
|
|
4997
5021
|
const tiers = VIDEO_DURATION_TIERS[effectiveProvider];
|
|
4998
5022
|
if (!tiers) return effectiveProvider;
|
|
4999
5023
|
const tier = tiers.find((t2) => durationSec <= t2.maxSeconds) ?? tiers[tiers.length - 1];
|
|
@@ -5713,6 +5737,7 @@ var INPUT_FIELD_MAP = {
|
|
|
5713
5737
|
"post-process-effects": { key: "postProcess", type: "select" },
|
|
5714
5738
|
"action-fx": { key: "actionFx", type: "select" },
|
|
5715
5739
|
"character-fx": { key: "characterFx", type: "select" },
|
|
5740
|
+
"character-motion": { key: "characterMotion", type: "select" },
|
|
5716
5741
|
"transition": { key: "transition", type: "select" },
|
|
5717
5742
|
"loop-subject": { key: "loopSubject", type: "select" },
|
|
5718
5743
|
// --- Multi-dimension pickers: representative (first) field. Overriding only
|
|
@@ -8191,6 +8216,7 @@ var PARAMETER_NODE_TYPES = /* @__PURE__ */ new Set([
|
|
|
8191
8216
|
"post-process-effects",
|
|
8192
8217
|
"action-fx",
|
|
8193
8218
|
"character-fx",
|
|
8219
|
+
"character-motion",
|
|
8194
8220
|
"transition",
|
|
8195
8221
|
"loop-subject",
|
|
8196
8222
|
"scene-count",
|
|
@@ -8208,6 +8234,17 @@ var HINT_EXEMPT_PARAMETER_TYPES = /* @__PURE__ */ new Set([
|
|
|
8208
8234
|
"duration",
|
|
8209
8235
|
"aspect-ratio"
|
|
8210
8236
|
]);
|
|
8237
|
+
var VIDEO_ONLY_PARAMETER_NODE_TYPES = /* @__PURE__ */ new Set([
|
|
8238
|
+
"camera-motion",
|
|
8239
|
+
"temporal",
|
|
8240
|
+
"transition",
|
|
8241
|
+
"character-fx",
|
|
8242
|
+
"character-motion"
|
|
8243
|
+
]);
|
|
8244
|
+
var EXECUTION_GRAPH_COMPOSED_PARAMETER_TYPES = /* @__PURE__ */ new Set([
|
|
8245
|
+
"camera-motion",
|
|
8246
|
+
"character-motion"
|
|
8247
|
+
]);
|
|
8211
8248
|
var registeredPersonPackFields = [];
|
|
8212
8249
|
function setRegisteredPersonPackFields(fields) {
|
|
8213
8250
|
registeredPersonPackFields = [...fields];
|
|
@@ -8250,6 +8287,8 @@ function getParameterValue(data, nodeType) {
|
|
|
8250
8287
|
return trim(data.actionFx);
|
|
8251
8288
|
case "character-fx":
|
|
8252
8289
|
return trim(data.characterFx);
|
|
8290
|
+
case "character-motion":
|
|
8291
|
+
return trim(data.characterMotion);
|
|
8253
8292
|
case "transition":
|
|
8254
8293
|
return trim(data.transition);
|
|
8255
8294
|
case "style":
|
|
@@ -13387,6 +13426,12 @@ var VOICE_CHANGER_MODEL_IDS = VOICE_CHANGER_MODELS.map(
|
|
|
13387
13426
|
);
|
|
13388
13427
|
var DEFAULT_VOICE_CHANGER_MODEL = "eleven_multilingual_sts_v2";
|
|
13389
13428
|
|
|
13429
|
+
// src/node-execution-state.ts
|
|
13430
|
+
var OUTPUT_BEARING_NODE_STATUSES = /* @__PURE__ */ new Set(["completed", "failed"]);
|
|
13431
|
+
function nodeStateMayCarryOutput(status) {
|
|
13432
|
+
return status !== void 0 && OUTPUT_BEARING_NODE_STATUSES.has(status);
|
|
13433
|
+
}
|
|
13434
|
+
|
|
13390
13435
|
// src/normalize-node-params.ts
|
|
13391
13436
|
var MODEL_PARAM_NODE_TYPES = /* @__PURE__ */ new Set([
|
|
13392
13437
|
"generate-image",
|
|
@@ -14034,6 +14079,45 @@ function buildBoardPrompt(templateId, ctx) {
|
|
|
14034
14079
|
return tpl.build(ctx);
|
|
14035
14080
|
}
|
|
14036
14081
|
|
|
14082
|
+
// src/template-categories.ts
|
|
14083
|
+
var TEMPLATE_CATEGORIES = [
|
|
14084
|
+
"product-imagery",
|
|
14085
|
+
"static-ads",
|
|
14086
|
+
"user-generated-content",
|
|
14087
|
+
"video-ads",
|
|
14088
|
+
"brand-assets",
|
|
14089
|
+
"automations",
|
|
14090
|
+
"campaign-concepts",
|
|
14091
|
+
"social-creatives"
|
|
14092
|
+
];
|
|
14093
|
+
var DEFAULT_TEMPLATE_CATEGORY = "automations";
|
|
14094
|
+
var LEGACY_TEMPLATE_CATEGORIES = {
|
|
14095
|
+
"image-generation": "product-imagery",
|
|
14096
|
+
"video-production": "video-ads",
|
|
14097
|
+
"audio-music": "social-creatives",
|
|
14098
|
+
"content-writing": "campaign-concepts",
|
|
14099
|
+
"social-media": "social-creatives",
|
|
14100
|
+
"data-processing": "automations",
|
|
14101
|
+
"multi-step": "automations",
|
|
14102
|
+
other: "automations"
|
|
14103
|
+
};
|
|
14104
|
+
var CURRENT = new Set(TEMPLATE_CATEGORIES);
|
|
14105
|
+
function isTemplateCategory(value) {
|
|
14106
|
+
return typeof value === "string" && CURRENT.has(value);
|
|
14107
|
+
}
|
|
14108
|
+
function resolveTemplateCategory(value) {
|
|
14109
|
+
if (value == null) return void 0;
|
|
14110
|
+
if (isTemplateCategory(value)) return value;
|
|
14111
|
+
return LEGACY_TEMPLATE_CATEGORIES[value];
|
|
14112
|
+
}
|
|
14113
|
+
function normalizeTemplateCategory(value) {
|
|
14114
|
+
return resolveTemplateCategory(value) ?? DEFAULT_TEMPLATE_CATEGORY;
|
|
14115
|
+
}
|
|
14116
|
+
function templateCategoryStoredValues(category) {
|
|
14117
|
+
const legacy = Object.keys(LEGACY_TEMPLATE_CATEGORIES).filter((value) => LEGACY_TEMPLATE_CATEGORIES[value] === category);
|
|
14118
|
+
return [category, ...legacy];
|
|
14119
|
+
}
|
|
14120
|
+
|
|
14037
14121
|
// src/model-tree.ts
|
|
14038
14122
|
var ENUM_TARGETS = [
|
|
14039
14123
|
[IMAGE_GEN_PROVIDERS, "generate-image"],
|
|
@@ -16837,6 +16921,56 @@ function parseScene3DCameraTrackJson(text) {
|
|
|
16837
16921
|
}
|
|
16838
16922
|
return { ok: true, value: parsed.data };
|
|
16839
16923
|
}
|
|
16924
|
+
|
|
16925
|
+
// src/scene3d-delivery-notes.ts
|
|
16926
|
+
var SCENE3D_AUTHORING_ASSUMPTION_CODE = "SCENE_AUTHORING_ASSUMPTION";
|
|
16927
|
+
var SCENE3D_REVIEW_REFUSED_CODE = "SCENE_REVIEW_REFUSED";
|
|
16928
|
+
var SCENE3D_REVIEW_UNAVAILABLE_CODE = "SCENE_REVIEW_UNAVAILABLE";
|
|
16929
|
+
var SCENE3D_REMEDY_AUTO_APPLIED_CODE = "REMEDY_AUTO_APPLIED";
|
|
16930
|
+
var SCENE3D_ASSERTION_RESTORED_CODE = "ASSERTION_RESTORED";
|
|
16931
|
+
var SCENE3D_REVIEW_UNAVAILABLE_REASONS = ["provider", "unusable"];
|
|
16932
|
+
function isScene3DReviewUnavailableReason(value) {
|
|
16933
|
+
return SCENE3D_REVIEW_UNAVAILABLE_REASONS.includes(value);
|
|
16934
|
+
}
|
|
16935
|
+
function scene3DReviewVerdictOf(output) {
|
|
16936
|
+
const review = output?.metadata?.review;
|
|
16937
|
+
if (typeof review !== "object" || review === null) return void 0;
|
|
16938
|
+
const candidate = review;
|
|
16939
|
+
if (candidate.verdict !== "refused" && candidate.verdict !== "unavailable") return void 0;
|
|
16940
|
+
const objections = (Array.isArray(candidate.objections) ? candidate.objections : []).flatMap((entry) => {
|
|
16941
|
+
if (typeof entry !== "object" || entry === null) return [];
|
|
16942
|
+
const objection = entry;
|
|
16943
|
+
if (typeof objection.what !== "string" || !objection.what) return [];
|
|
16944
|
+
const frames = (Array.isArray(objection.frames) ? objection.frames : []).filter((frame) => Number.isSafeInteger(frame) && frame >= 0);
|
|
16945
|
+
return [{
|
|
16946
|
+
category: typeof objection.category === "string" && objection.category ? objection.category : "unsupported",
|
|
16947
|
+
what: objection.what,
|
|
16948
|
+
...typeof objection.correction === "string" && objection.correction ? { correction: objection.correction } : {},
|
|
16949
|
+
frames
|
|
16950
|
+
}];
|
|
16951
|
+
});
|
|
16952
|
+
const findings = {
|
|
16953
|
+
objections,
|
|
16954
|
+
...typeof candidate.observed === "string" && candidate.observed ? { observed: candidate.observed } : {}
|
|
16955
|
+
};
|
|
16956
|
+
if (candidate.verdict === "refused") return { verdict: "refused", ...findings };
|
|
16957
|
+
const attempts = typeof candidate.attempts === "number" && Number.isSafeInteger(candidate.attempts) && candidate.attempts > 0 ? candidate.attempts : 1;
|
|
16958
|
+
const reason = isScene3DReviewUnavailableReason(candidate.reason) ? candidate.reason : "provider";
|
|
16959
|
+
return { verdict: "unavailable", reason, attempts, ...findings };
|
|
16960
|
+
}
|
|
16961
|
+
function scene3DReviewNote(verdict) {
|
|
16962
|
+
if (verdict.verdict === "unavailable") {
|
|
16963
|
+
const asked = verdict.attempts === 1 ? "one attempt" : `${verdict.attempts} attempts`;
|
|
16964
|
+
const partial = verdict.objections.length ? ` Part of the review did answer first, and its ${verdict.objections.length === 1 ? "one finding is" : `${verdict.objections.length} findings are`} listed \u2014 but they are not the whole verdict.` : "";
|
|
16965
|
+
const missing = verdict.reason === "unusable" ? `returned no usable verdict in ${asked}` : `did not reach its provider in ${asked}`;
|
|
16966
|
+
return `The scene built and every mandatory assertion passed, but the visual review ${missing}; it was delivered unreviewed.${partial}`;
|
|
16967
|
+
}
|
|
16968
|
+
const count = verdict.objections.length;
|
|
16969
|
+
if (!count) {
|
|
16970
|
+
return "The visual review refused this scene without naming anything to change; it was delivered anyway because every mandatory assertion passed.";
|
|
16971
|
+
}
|
|
16972
|
+
return `The visual review refused this scene on ${count === 1 ? "one finding" : `${count} findings`}; it was delivered anyway because every mandatory assertion passed.`;
|
|
16973
|
+
}
|
|
16840
16974
|
var scene3DInputAssetSchema = zod.z.object({
|
|
16841
16975
|
id: zod.z.string().regex(/^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$/),
|
|
16842
16976
|
revisionId: zod.z.uuid(),
|
|
@@ -16907,6 +17041,26 @@ var pro3DRenderQuoteSchema = zod.z.object({
|
|
|
16907
17041
|
function isPro3DRenderQuote(value) {
|
|
16908
17042
|
return pro3DRenderQuoteSchema.safeParse(value).success;
|
|
16909
17043
|
}
|
|
17044
|
+
var pro3DRenderReviewFindingsShape = {
|
|
17045
|
+
objections: zod.z.array(
|
|
17046
|
+
zod.z.object({
|
|
17047
|
+
category: zod.z.string(),
|
|
17048
|
+
what: zod.z.string(),
|
|
17049
|
+
correction: zod.z.string().optional(),
|
|
17050
|
+
frames: zod.z.array(zod.z.number().int().min(0)).default([])
|
|
17051
|
+
}).passthrough()
|
|
17052
|
+
),
|
|
17053
|
+
observed: zod.z.string().optional()
|
|
17054
|
+
};
|
|
17055
|
+
var pro3DRenderReviewVerdictSchema = zod.z.union([
|
|
17056
|
+
zod.z.object({ verdict: zod.z.literal("refused"), ...pro3DRenderReviewFindingsShape }).passthrough(),
|
|
17057
|
+
zod.z.object({
|
|
17058
|
+
verdict: zod.z.literal("unavailable"),
|
|
17059
|
+
reason: zod.z.enum(SCENE3D_REVIEW_UNAVAILABLE_REASONS).catch("provider"),
|
|
17060
|
+
attempts: zod.z.number().int().min(1).catch(1),
|
|
17061
|
+
...pro3DRenderReviewFindingsShape
|
|
17062
|
+
}).passthrough()
|
|
17063
|
+
]);
|
|
16910
17064
|
var pro3DRenderShotStillSchema = zod.z.object({
|
|
16911
17065
|
shotIndex: zod.z.number().int().min(0),
|
|
16912
17066
|
frame: zod.z.number().int().min(0),
|
|
@@ -16937,8 +17091,34 @@ var pro3DRenderJobOutputSchema = zod.z.object({
|
|
|
16937
17091
|
height: zod.z.number().int().positive(),
|
|
16938
17092
|
fps: zod.z.number().positive(),
|
|
16939
17093
|
frames: zod.z.number().int().positive(),
|
|
16940
|
-
duration: zod.z.number().positive()
|
|
17094
|
+
duration: zod.z.number().positive(),
|
|
17095
|
+
summary: zod.z.string().optional(),
|
|
17096
|
+
/**
|
|
17097
|
+
* Degrades to absent rather than refusing the RESULT, which is the whole lesson of the
|
|
17098
|
+
* verdict this round added. A narrow `verdict` here did not merely mis-read an unreviewed
|
|
17099
|
+
* delivery — it failed `isPro3DRenderJobOutput` for the entire job, blanking a real,
|
|
17100
|
+
* paid, playable MP4 over an advisory field. A verdict a future engine invents must cost
|
|
17101
|
+
* at most itself; the `SCENE_REVIEW_*` entry in `validation.warnings[]` still arrives
|
|
17102
|
+
* either way, because that array has no code enum.
|
|
17103
|
+
*/
|
|
17104
|
+
review: pro3DRenderReviewVerdictSchema.optional().catch(void 0)
|
|
16941
17105
|
}).passthrough(),
|
|
17106
|
+
repairPasses: zod.z.number().int().min(0).optional(),
|
|
17107
|
+
admissionRetries: zod.z.number().int().min(0).optional(),
|
|
17108
|
+
mechanicalPasses: zod.z.number().int().min(0).optional(),
|
|
17109
|
+
// Tolerant like the review verdict above, and for the same reason: this rides a result that
|
|
17110
|
+
// already has a real MP4, so a malformed entry must never blank a video the platform rendered
|
|
17111
|
+
// and charged for. The identity fields are required because an entry without them names
|
|
17112
|
+
// nothing; `value` is unknown because a restored assertion holds whatever it holds.
|
|
17113
|
+
restoredAssertions: zod.z.array(
|
|
17114
|
+
zod.z.object({
|
|
17115
|
+
op: zod.z.string(),
|
|
17116
|
+
path: zod.z.string(),
|
|
17117
|
+
value: zod.z.unknown().optional(),
|
|
17118
|
+
assertionId: zod.z.string(),
|
|
17119
|
+
reason: zod.z.string()
|
|
17120
|
+
}).passthrough()
|
|
17121
|
+
).optional(),
|
|
16942
17122
|
changeSummary: zod.z.string().optional()
|
|
16943
17123
|
}).passthrough();
|
|
16944
17124
|
function isPro3DRenderJobOutput(value) {
|
|
@@ -17411,6 +17591,7 @@ exports.DEFAULT_PANEL_COUNT = DEFAULT_PANEL_COUNT;
|
|
|
17411
17591
|
exports.DEFAULT_REF_IMAGE_MAX = DEFAULT_REF_IMAGE_MAX;
|
|
17412
17592
|
exports.DEFAULT_SECTIONS = DEFAULT_SECTIONS;
|
|
17413
17593
|
exports.DEFAULT_SUNO_MODEL = DEFAULT_SUNO_MODEL;
|
|
17594
|
+
exports.DEFAULT_TEMPLATE_CATEGORY = DEFAULT_TEMPLATE_CATEGORY;
|
|
17414
17595
|
exports.DEFAULT_USAGE_MODE = DEFAULT_USAGE_MODE;
|
|
17415
17596
|
exports.DEFAULT_VIDEO_ANALYSIS_MODEL = DEFAULT_VIDEO_ANALYSIS_MODEL;
|
|
17416
17597
|
exports.DEFAULT_VIDEO_ANALYSIS_TIER = DEFAULT_VIDEO_ANALYSIS_TIER;
|
|
@@ -17439,6 +17620,7 @@ exports.ENTITY_TABLE = ENTITY_TABLE;
|
|
|
17439
17620
|
exports.ENTITY_TOOL_RETRY_CAP = ENTITY_TOOL_RETRY_CAP;
|
|
17440
17621
|
exports.ENTITY_TYPES = ENTITY_TYPES;
|
|
17441
17622
|
exports.EXECUTION_DATA_KEYS = EXECUTION_DATA_KEYS;
|
|
17623
|
+
exports.EXECUTION_GRAPH_COMPOSED_PARAMETER_TYPES = EXECUTION_GRAPH_COMPOSED_PARAMETER_TYPES;
|
|
17442
17624
|
exports.EXTEND_VIDEO_PROVIDERS = EXTEND_VIDEO_PROVIDERS;
|
|
17443
17625
|
exports.EntityMetadataSchema = EntityMetadataSchema;
|
|
17444
17626
|
exports.EntityRejectInputSchema = EntityRejectInputSchema;
|
|
@@ -17513,6 +17695,7 @@ exports.KEYFRAME_CREDITS_PER_SHOT = KEYFRAME_CREDITS_PER_SHOT;
|
|
|
17513
17695
|
exports.KINETIC_CAPTION_STYLES = KINETIC_CAPTION_STYLES;
|
|
17514
17696
|
exports.LANGUAGES = LANGUAGES;
|
|
17515
17697
|
exports.LEGACY_LOTTIE_HOST_REMAP = LEGACY_LOTTIE_HOST_REMAP;
|
|
17698
|
+
exports.LEGACY_TEMPLATE_CATEGORIES = LEGACY_TEMPLATE_CATEGORIES;
|
|
17516
17699
|
exports.LIP_SYNC_DURATION_BUCKETS = LIP_SYNC_DURATION_BUCKETS;
|
|
17517
17700
|
exports.LIP_SYNC_MAX_AUDIO_SECONDS = LIP_SYNC_MAX_AUDIO_SECONDS;
|
|
17518
17701
|
exports.LIP_SYNC_PROVIDERS = LIP_SYNC_PROVIDERS;
|
|
@@ -17552,6 +17735,7 @@ exports.MINIMAX_H3_DEFAULT_RESOLUTION = MINIMAX_H3_DEFAULT_RESOLUTION;
|
|
|
17552
17735
|
exports.MINIMAX_H3_PROVIDERS = MINIMAX_H3_PROVIDERS;
|
|
17553
17736
|
exports.MODELS_WITH_REFERENCE_IMAGE_SUPPORT = MODELS_WITH_REFERENCE_IMAGE_SUPPORT;
|
|
17554
17737
|
exports.MODEL_CATALOG = MODEL_CATALOG;
|
|
17738
|
+
exports.MODEL_KINDS = MODEL_KINDS;
|
|
17555
17739
|
exports.MODEL_PARAM_NODE_TYPES = MODEL_PARAM_NODE_TYPES;
|
|
17556
17740
|
exports.MODEL_RECOMMENDATIONS = MODEL_RECOMMENDATIONS;
|
|
17557
17741
|
exports.MODIFY_IMAGE_PROVIDERS = MODIFY_IMAGE_PROVIDERS;
|
|
@@ -17584,6 +17768,7 @@ exports.ORG_ERROR_CODES = ORG_ERROR_CODES;
|
|
|
17584
17768
|
exports.ORG_KINDS = ORG_KINDS;
|
|
17585
17769
|
exports.ORG_ROLES = ORG_ROLES;
|
|
17586
17770
|
exports.ORG_STATUSES = ORG_STATUSES;
|
|
17771
|
+
exports.OUTPUT_BEARING_NODE_STATUSES = OUTPUT_BEARING_NODE_STATUSES;
|
|
17587
17772
|
exports.OUTPUT_FIELD_MAP = OUTPUT_FIELD_MAP;
|
|
17588
17773
|
exports.OUTPUT_FORMATS = OUTPUT_FORMATS;
|
|
17589
17774
|
exports.OVERLAY_ANCHORS = OVERLAY_ANCHORS;
|
|
@@ -17676,9 +17861,11 @@ exports.REPEATABLE_NODE_TYPES = REPEATABLE_NODE_TYPES;
|
|
|
17676
17861
|
exports.REPEAT_PLACEHOLDER = REPEAT_PLACEHOLDER;
|
|
17677
17862
|
exports.REPLICATE_LIP_SYNC_PROVIDERS = REPLICATE_LIP_SYNC_PROVIDERS;
|
|
17678
17863
|
exports.RESERVED_TEMPLATE_VARS = RESERVED_TEMPLATE_VARS;
|
|
17864
|
+
exports.SCENE3D_ASSERTION_RESTORED_CODE = SCENE3D_ASSERTION_RESTORED_CODE;
|
|
17679
17865
|
exports.SCENE3D_ASSET_KINDS = SCENE3D_ASSET_KINDS;
|
|
17680
17866
|
exports.SCENE3D_ASSET_ROLES = SCENE3D_ASSET_ROLES;
|
|
17681
17867
|
exports.SCENE3D_ASSET_ROLE_KINDS = SCENE3D_ASSET_ROLE_KINDS;
|
|
17868
|
+
exports.SCENE3D_AUTHORING_ASSUMPTION_CODE = SCENE3D_AUTHORING_ASSUMPTION_CODE;
|
|
17682
17869
|
exports.SCENE3D_AUTHORING_ENGINES = SCENE3D_AUTHORING_ENGINES;
|
|
17683
17870
|
exports.SCENE3D_BASIC_ENGINE = SCENE3D_BASIC_ENGINE;
|
|
17684
17871
|
exports.SCENE3D_BASIC_SCHEMA_VERSION = SCENE3D_BASIC_SCHEMA_VERSION;
|
|
@@ -17703,11 +17890,15 @@ exports.SCENE3D_PLAN_FIELD = SCENE3D_PLAN_FIELD;
|
|
|
17703
17890
|
exports.SCENE3D_PLAN_TYPE = SCENE3D_PLAN_TYPE;
|
|
17704
17891
|
exports.SCENE3D_PRIMITIVES = SCENE3D_PRIMITIVES;
|
|
17705
17892
|
exports.SCENE3D_PRIMITIVE_MATERIAL_ROLE = SCENE3D_PRIMITIVE_MATERIAL_ROLE;
|
|
17893
|
+
exports.SCENE3D_REMEDY_AUTO_APPLIED_CODE = SCENE3D_REMEDY_AUTO_APPLIED_CODE;
|
|
17706
17894
|
exports.SCENE3D_RENDERER_ASSET_KINDS = SCENE3D_RENDERER_ASSET_KINDS;
|
|
17707
17895
|
exports.SCENE3D_RENDER_BASE_MAX_PX = SCENE3D_RENDER_BASE_MAX_PX;
|
|
17708
17896
|
exports.SCENE3D_RENDER_TIERS = SCENE3D_RENDER_TIERS;
|
|
17709
17897
|
exports.SCENE3D_RENDER_TIER_MULTIPLIERS = SCENE3D_RENDER_TIER_MULTIPLIERS;
|
|
17710
17898
|
exports.SCENE3D_RENDER_XLARGE_MIN_AREA_PX = SCENE3D_RENDER_XLARGE_MIN_AREA_PX;
|
|
17899
|
+
exports.SCENE3D_REVIEW_REFUSED_CODE = SCENE3D_REVIEW_REFUSED_CODE;
|
|
17900
|
+
exports.SCENE3D_REVIEW_UNAVAILABLE_CODE = SCENE3D_REVIEW_UNAVAILABLE_CODE;
|
|
17901
|
+
exports.SCENE3D_REVIEW_UNAVAILABLE_REASONS = SCENE3D_REVIEW_UNAVAILABLE_REASONS;
|
|
17711
17902
|
exports.SCENE3D_SCHEMA_VERSION = SCENE3D_SCHEMA_VERSION;
|
|
17712
17903
|
exports.SCENE3D_SCHEMA_VERSION_V2 = SCENE3D_SCHEMA_VERSION_V2;
|
|
17713
17904
|
exports.SCENE3D_SUPPORTED_SCHEMA_VERSIONS = SCENE3D_SUPPORTED_SCHEMA_VERSIONS;
|
|
@@ -17788,6 +17979,7 @@ exports.StyleDirectivesSchema = StyleDirectivesSchema;
|
|
|
17788
17979
|
exports.SubGateNameSchema = SubGateNameSchema;
|
|
17789
17980
|
exports.T2I_TO_I2I_VARIANT = T2I_TO_I2I_VARIANT;
|
|
17790
17981
|
exports.TASK_CHAINED_EDIT_PROVIDERS = TASK_CHAINED_EDIT_PROVIDERS;
|
|
17982
|
+
exports.TEMPLATE_CATEGORIES = TEMPLATE_CATEGORIES;
|
|
17791
17983
|
exports.TEXT_TO_AUDIO_PROVIDERS = TEXT_TO_AUDIO_PROVIDERS;
|
|
17792
17984
|
exports.TEXT_TO_VIDEO_PROVIDERS = TEXT_TO_VIDEO_PROVIDERS;
|
|
17793
17985
|
exports.TIER_MAX_PIPELINE_COST_CREDITS = TIER_MAX_PIPELINE_COST_CREDITS;
|
|
@@ -17850,6 +18042,7 @@ exports.VIDEO_GEN_PROVIDERS = VIDEO_GEN_PROVIDERS;
|
|
|
17850
18042
|
exports.VIDEO_INPUT_LIP_SYNC_PROVIDERS = VIDEO_INPUT_LIP_SYNC_PROVIDERS;
|
|
17851
18043
|
exports.VIDEO_MODEL_CAPS = VIDEO_MODEL_CAPS;
|
|
17852
18044
|
exports.VIDEO_MODE_ALIASES = VIDEO_MODE_ALIASES;
|
|
18045
|
+
exports.VIDEO_ONLY_PARAMETER_NODE_TYPES = VIDEO_ONLY_PARAMETER_NODE_TYPES;
|
|
17853
18046
|
exports.VIDEO_PRODUCER_TYPES = VIDEO_PRODUCER_TYPES;
|
|
17854
18047
|
exports.VIDEO_PROMPT_MAX = VIDEO_PROMPT_MAX;
|
|
17855
18048
|
exports.VIDEO_PROVIDERS_REQUIRING_IMAGE = VIDEO_PROVIDERS_REQUIRING_IMAGE;
|
|
@@ -18043,6 +18236,7 @@ exports.getVideoAudioCapability = getVideoAudioCapability;
|
|
|
18043
18236
|
exports.getWeapon = getWeapon;
|
|
18044
18237
|
exports.getWeaponLabel = getWeaponLabel;
|
|
18045
18238
|
exports.groupByFamily = groupByFamily;
|
|
18239
|
+
exports.groupByKindAndFamily = groupByKindAndFamily;
|
|
18046
18240
|
exports.groupHandleId = groupHandleId;
|
|
18047
18241
|
exports.groupLlmModelsByVendor = groupLlmModelsByVendor;
|
|
18048
18242
|
exports.hasContiguousSegmentDurations = hasContiguousSegmentDurations;
|
|
@@ -18083,9 +18277,11 @@ exports.isScene3DHttpUrl = isScene3DHttpUrl;
|
|
|
18083
18277
|
exports.isScene3DPlan = isScene3DPlan;
|
|
18084
18278
|
exports.isScene3DPlanV1 = isScene3DPlanV1;
|
|
18085
18279
|
exports.isScene3DPlanV2 = isScene3DPlanV2;
|
|
18280
|
+
exports.isScene3DReviewUnavailableReason = isScene3DReviewUnavailableReason;
|
|
18086
18281
|
exports.isScene3DSchemaVersionSupported = isScene3DSchemaVersionSupported;
|
|
18087
18282
|
exports.isScraperActor = isScraperActor;
|
|
18088
18283
|
exports.isSeedance2Provider = isSeedance2Provider;
|
|
18284
|
+
exports.isTemplateCategory = isTemplateCategory;
|
|
18089
18285
|
exports.isTiltDirection = isTiltDirection;
|
|
18090
18286
|
exports.isUsageMode = isUsageMode;
|
|
18091
18287
|
exports.isVeoProvider = isVeoProvider;
|
|
@@ -18119,12 +18315,14 @@ exports.modelsForInputMode = modelsForInputMode;
|
|
|
18119
18315
|
exports.modelsWithFeature = modelsWithFeature;
|
|
18120
18316
|
exports.motionGraphicsFeature = motionGraphicsFeature;
|
|
18121
18317
|
exports.newScene3DRevisionId = newScene3DRevisionId;
|
|
18318
|
+
exports.nodeStateMayCarryOutput = nodeStateMayCarryOutput;
|
|
18122
18319
|
exports.normalizeLottieLayers = normalizeLottieLayers;
|
|
18123
18320
|
exports.normalizeMinimaxH3Resolution = normalizeMinimaxH3Resolution;
|
|
18124
18321
|
exports.normalizeModelInput = normalizeModelInput;
|
|
18125
18322
|
exports.normalizeNodeModelParams = normalizeNodeModelParams;
|
|
18126
18323
|
exports.normalizePinterestUrl = normalizePinterestUrl;
|
|
18127
18324
|
exports.normalizeRoleSlug = normalizeRoleSlug;
|
|
18325
|
+
exports.normalizeTemplateCategory = normalizeTemplateCategory;
|
|
18128
18326
|
exports.normalizeVideoRequestParams = normalizeVideoRequestParams;
|
|
18129
18327
|
exports.normalizeWan3Resolution = normalizeWan3Resolution;
|
|
18130
18328
|
exports.orderedLlmModels = orderedLlmModels;
|
|
@@ -18162,12 +18360,14 @@ exports.presentTypes = presentTypes;
|
|
|
18162
18360
|
exports.presetApplyClearKeys = presetApplyClearKeys;
|
|
18163
18361
|
exports.presetDataMatches = presetDataMatches;
|
|
18164
18362
|
exports.presetEntries = presetEntries;
|
|
18363
|
+
exports.pricedOutputDurationSec = pricedOutputDurationSec;
|
|
18165
18364
|
exports.pricedVideoSelection = pricedVideoSelection;
|
|
18166
18365
|
exports.pro3DRenderCoreOutputSchema = pro3DRenderCoreOutputSchema;
|
|
18167
18366
|
exports.pro3DRenderFrameUnit = pro3DRenderFrameUnit;
|
|
18168
18367
|
exports.pro3DRenderJobOutputSchema = pro3DRenderJobOutputSchema;
|
|
18169
18368
|
exports.pro3DRenderProducedSchemaVersion = pro3DRenderProducedSchemaVersion;
|
|
18170
18369
|
exports.pro3DRenderQuoteSchema = pro3DRenderQuoteSchema;
|
|
18370
|
+
exports.pro3DRenderReviewVerdictSchema = pro3DRenderReviewVerdictSchema;
|
|
18171
18371
|
exports.pro3DRenderShotStillSchema = pro3DRenderShotStillSchema;
|
|
18172
18372
|
exports.pro3DRenderShotStills = pro3DRenderShotStills;
|
|
18173
18373
|
exports.pro3DRenderTimingOverrides = pro3DRenderTimingOverrides;
|
|
@@ -18218,6 +18418,7 @@ exports.resolveSlideshowTransition = resolveSlideshowTransition;
|
|
|
18218
18418
|
exports.resolveSourceThroughConnectedList = resolveSourceThroughConnectedList;
|
|
18219
18419
|
exports.resolveStoredTier = resolveStoredTier;
|
|
18220
18420
|
exports.resolveSwitchXCreditId = resolveSwitchXCreditId;
|
|
18421
|
+
exports.resolveTemplateCategory = resolveTemplateCategory;
|
|
18221
18422
|
exports.resolveTopazUpscale = resolveTopazUpscale;
|
|
18222
18423
|
exports.resolveVideoAnalysisModel = resolveVideoAnalysisModel;
|
|
18223
18424
|
exports.resolveVideoModeForInputs = resolveVideoModeForInputs;
|
|
@@ -18290,6 +18491,8 @@ exports.scene3DProvenanceSchema = scene3DProvenanceSchema;
|
|
|
18290
18491
|
exports.scene3DReferenceSchema = scene3DReferenceSchema;
|
|
18291
18492
|
exports.scene3DRenderTier = scene3DRenderTier;
|
|
18292
18493
|
exports.scene3DRenderTierCredits = scene3DRenderTierCredits;
|
|
18494
|
+
exports.scene3DReviewNote = scene3DReviewNote;
|
|
18495
|
+
exports.scene3DReviewVerdictOf = scene3DReviewVerdictOf;
|
|
18293
18496
|
exports.scene3DSampleForFrame = scene3DSampleForFrame;
|
|
18294
18497
|
exports.scene3DSha256Schema = scene3DSha256Schema;
|
|
18295
18498
|
exports.scene3DShotForFrame = scene3DShotForFrame;
|
|
@@ -18337,6 +18540,7 @@ exports.supportedDefaultDimensions = supportedDefaultDimensions;
|
|
|
18337
18540
|
exports.supportsAdvancedMode = supportsAdvancedMode;
|
|
18338
18541
|
exports.supportsEndAnchor = supportsEndAnchor;
|
|
18339
18542
|
exports.supportsExtendRender = supportsExtendRender;
|
|
18543
|
+
exports.templateCategoryStoredValues = templateCategoryStoredValues;
|
|
18340
18544
|
exports.toConnectedReference = toConnectedReference;
|
|
18341
18545
|
exports.toConnectedReferences = toConnectedReferences;
|
|
18342
18546
|
exports.togglePick = togglePick;
|