@nodaro/shared 2.0.3 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +50 -49
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +50 -49
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/video-analysis-catalog-sync.test.ts +5 -4
- package/src/model-catalog.ts +25 -25
- package/src/video-analysis-pricing.ts +32 -24
package/dist/index.js
CHANGED
|
@@ -1668,11 +1668,11 @@ var VIDEO_MODELS = {
|
|
|
1668
1668
|
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
1669
|
useCases: ["video-analysis", "shot-list", "fast"],
|
|
1670
1670
|
pricing: [
|
|
1671
|
-
{ identifier: "video-analysis:gemini-3-flash", credits:
|
|
1672
|
-
{ identifier: "video-analysis:gemini-3-flash:60s", credits:
|
|
1673
|
-
{ identifier: "video-analysis:gemini-3-flash:180s", credits:
|
|
1674
|
-
{ identifier: "video-analysis:gemini-3-flash:360s", credits:
|
|
1675
|
-
{ identifier: "video-analysis:gemini-3-flash:600s", credits:
|
|
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" }
|
|
1676
1676
|
]
|
|
1677
1677
|
},
|
|
1678
1678
|
"gemini-3.6-flash-video-analysis": {
|
|
@@ -1685,11 +1685,11 @@ var VIDEO_MODELS = {
|
|
|
1685
1685
|
description: "Analyze a video into a structured shot list (scenes, camera, audio) \u2014 fast, economy tier. Billed per duration bucket.",
|
|
1686
1686
|
useCases: ["video-analysis", "shot-list", "fast"],
|
|
1687
1687
|
pricing: [
|
|
1688
|
-
{ identifier: "video-analysis:gemini-3.6-flash", credits:
|
|
1689
|
-
{ identifier: "video-analysis:gemini-3.6-flash:60s", credits:
|
|
1690
|
-
{ identifier: "video-analysis:gemini-3.6-flash:180s", credits:
|
|
1691
|
-
{ identifier: "video-analysis:gemini-3.6-flash:360s", credits:
|
|
1692
|
-
{ identifier: "video-analysis:gemini-3.6-flash:600s", credits:
|
|
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" }
|
|
1693
1693
|
]
|
|
1694
1694
|
},
|
|
1695
1695
|
"gemini-3.1-pro-video-analysis": {
|
|
@@ -1702,11 +1702,11 @@ var VIDEO_MODELS = {
|
|
|
1702
1702
|
description: "Analyze a video into a structured shot list (scenes, camera, audio) \u2014 higher-fidelity, default tier. Billed per duration bucket.",
|
|
1703
1703
|
useCases: ["video-analysis", "shot-list", "cinematic"],
|
|
1704
1704
|
pricing: [
|
|
1705
|
-
{ identifier: "video-analysis:gemini-3.1-pro", credits:
|
|
1706
|
-
{ identifier: "video-analysis:gemini-3.1-pro:60s", credits:
|
|
1707
|
-
{ identifier: "video-analysis:gemini-3.1-pro:180s", credits:
|
|
1708
|
-
{ identifier: "video-analysis:gemini-3.1-pro:360s", credits:
|
|
1709
|
-
{ identifier: "video-analysis:gemini-3.1-pro:600s", credits:
|
|
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" }
|
|
1710
1710
|
]
|
|
1711
1711
|
},
|
|
1712
1712
|
// Both mixed tiers are variants of the same advanced multi-engine analysis
|
|
@@ -1722,11 +1722,11 @@ var VIDEO_MODELS = {
|
|
|
1722
1722
|
description: "Our most advanced analysis tier \u2014 multiple analysis engines combined into one result for maximum completeness and accuracy. Billed per duration bucket.",
|
|
1723
1723
|
useCases: ["video-analysis", "shot-list", "premium", "most-complete"],
|
|
1724
1724
|
pricing: [
|
|
1725
|
-
{ identifier: "video-analysis:mixed", credits:
|
|
1726
|
-
{ identifier: "video-analysis:mixed:60s", credits:
|
|
1727
|
-
{ identifier: "video-analysis:mixed:180s", credits:
|
|
1728
|
-
{ identifier: "video-analysis:mixed:360s", credits:
|
|
1729
|
-
{ identifier: "video-analysis:mixed:600s", credits:
|
|
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" }
|
|
1730
1730
|
]
|
|
1731
1731
|
},
|
|
1732
1732
|
// SMART — the accuracy tier, and the only one that does not rely on voting.
|
|
@@ -1743,11 +1743,11 @@ var VIDEO_MODELS = {
|
|
|
1743
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.",
|
|
1744
1744
|
useCases: ["video-analysis", "shot-list", "premium", "most-accurate"],
|
|
1745
1745
|
pricing: [
|
|
1746
|
-
{ identifier: "video-analysis:smart", credits:
|
|
1747
|
-
{ identifier: "video-analysis:smart:60s", credits:
|
|
1748
|
-
{ identifier: "video-analysis:smart:180s", credits:
|
|
1749
|
-
{ identifier: "video-analysis:smart:360s", credits:
|
|
1750
|
-
{ identifier: "video-analysis:smart:600s", credits:
|
|
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" }
|
|
1751
1751
|
]
|
|
1752
1752
|
}
|
|
1753
1753
|
};
|
|
@@ -12612,35 +12612,36 @@ var WINDOW_OVERLAP = 5;
|
|
|
12612
12612
|
var VIDEO_ANALYSIS_WINDOW = { LEN: WINDOW_LEN, STRIDE: WINDOW_STRIDE, OVERLAP: WINDOW_OVERLAP, SINGLE_MAX: 180 };
|
|
12613
12613
|
var VIDEO_ANALYSIS_BUCKET_CREDITS = {
|
|
12614
12614
|
// Legacy fast-tier model (pre-2026-07) — kept for stored raw-id configs.
|
|
12615
|
-
"video-analysis:gemini-3-flash:60s":
|
|
12616
|
-
"video-analysis:gemini-3-flash:180s":
|
|
12617
|
-
"video-analysis:gemini-3-flash:360s":
|
|
12618
|
-
"video-analysis:gemini-3-flash:600s":
|
|
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,
|
|
12619
12619
|
// Current fast tier — regenerated from the private formula for its backing
|
|
12620
12620
|
// model; higher than the legacy fast schedule but still ≤ pro per bucket.
|
|
12621
|
-
"video-analysis:gemini-3.6-flash:60s":
|
|
12622
|
-
"video-analysis:gemini-3.6-flash:180s":
|
|
12623
|
-
"video-analysis:gemini-3.6-flash:360s":
|
|
12624
|
-
"video-analysis:gemini-3.6-flash:600s":
|
|
12625
|
-
"video-analysis:gemini-3.1-pro:60s":
|
|
12626
|
-
"video-analysis:gemini-3.1-pro:180s":
|
|
12627
|
-
"video-analysis:gemini-3.1-pro:360s":
|
|
12628
|
-
"video-analysis:gemini-3.1-pro:600s":
|
|
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,
|
|
12629
12629
|
// Mixed tiers (`mixed` + `mixed-fast`) share ONE credit family — they are
|
|
12630
12630
|
// variants of the same engine plan (plan internals live in the private
|
|
12631
12631
|
// analysis plugin). Admin-tunable via model_pricing like every other row.
|
|
12632
|
-
"video-analysis:mixed:60s":
|
|
12633
|
-
"video-analysis:mixed:180s":
|
|
12634
|
-
"video-analysis:mixed:360s":
|
|
12635
|
-
"video-analysis:mixed:600s":
|
|
12636
|
-
// SMART — the one native-transport plan: a single pass with reasoning
|
|
12637
|
-
//
|
|
12638
|
-
// because it genuinely costs more to run
|
|
12639
|
-
// accuracy
|
|
12640
|
-
|
|
12641
|
-
"video-analysis:smart:
|
|
12642
|
-
"video-analysis:smart:
|
|
12643
|
-
"video-analysis:smart:
|
|
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
|
|
12644
12645
|
};
|
|
12645
12646
|
function videoAnalysisCreditSegment(modelOrSentinel) {
|
|
12646
12647
|
return modelOrSentinel === "mixed-fast" ? "mixed" : modelOrSentinel;
|