@nodaro/shared 1.15.0 → 1.17.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 +74 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +16 -2
- package/dist/index.d.ts +16 -2
- package/dist/index.js +74 -10
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/llm-models.test.ts +31 -11
- package/src/__tests__/video-analysis-pricing.test.ts +31 -7
- package/src/freecut-protocol.ts +2 -0
- package/src/index.ts +1 -0
- package/src/llm-models.ts +57 -6
- package/src/model-catalog.ts +19 -2
- package/src/video-analysis-pricing.ts +7 -0
package/dist/index.cjs
CHANGED
|
@@ -1662,9 +1662,9 @@ var VIDEO_MODELS = {
|
|
|
1662
1662
|
kind: "video",
|
|
1663
1663
|
modes: ["video-analysis"],
|
|
1664
1664
|
family: "Nodaro",
|
|
1665
|
-
label: "Video Analysis (Fast)",
|
|
1665
|
+
label: "Video Analysis (Fast \u2014 legacy)",
|
|
1666
1666
|
series: "Video Analysis",
|
|
1667
|
-
description: "
|
|
1667
|
+
description: "Legacy fast-tier analysis model (pre-2026-07). Kept so stored raw-model configs keep running and pricing unchanged; new fast-tier runs use the current fast model.",
|
|
1668
1668
|
useCases: ["video-analysis", "shot-list", "fast"],
|
|
1669
1669
|
pricing: [
|
|
1670
1670
|
{ identifier: "video-analysis:gemini-3-flash", credits: 3, note: "10-min ceiling (no duration given)" },
|
|
@@ -1674,6 +1674,23 @@ var VIDEO_MODELS = {
|
|
|
1674
1674
|
{ identifier: "video-analysis:gemini-3-flash:600s", credits: 3, note: "10-min ceiling" }
|
|
1675
1675
|
]
|
|
1676
1676
|
},
|
|
1677
|
+
"gemini-3.6-flash-video-analysis": {
|
|
1678
|
+
id: "gemini-3.6-flash-video-analysis",
|
|
1679
|
+
kind: "video",
|
|
1680
|
+
modes: ["video-analysis"],
|
|
1681
|
+
family: "Nodaro",
|
|
1682
|
+
label: "Video Analysis (Fast)",
|
|
1683
|
+
series: "Video Analysis",
|
|
1684
|
+
description: "Analyze a video into a structured shot list (scenes, camera, audio) \u2014 fast, economy tier. Billed per duration bucket.",
|
|
1685
|
+
useCases: ["video-analysis", "shot-list", "fast"],
|
|
1686
|
+
pricing: [
|
|
1687
|
+
{ identifier: "video-analysis:gemini-3.6-flash", credits: 9, note: "10-min ceiling (no duration given)" },
|
|
1688
|
+
{ identifier: "video-analysis:gemini-3.6-flash:60s", credits: 2 },
|
|
1689
|
+
{ identifier: "video-analysis:gemini-3.6-flash:180s", credits: 2 },
|
|
1690
|
+
{ identifier: "video-analysis:gemini-3.6-flash:360s", credits: 5 },
|
|
1691
|
+
{ identifier: "video-analysis:gemini-3.6-flash:600s", credits: 9, note: "10-min ceiling" }
|
|
1692
|
+
]
|
|
1693
|
+
},
|
|
1677
1694
|
"gemini-3.1-pro-video-analysis": {
|
|
1678
1695
|
id: "gemini-3.1-pro-video-analysis",
|
|
1679
1696
|
kind: "video",
|
|
@@ -4266,6 +4283,24 @@ var LLM_MODELS = [
|
|
|
4266
4283
|
supportsImages: true,
|
|
4267
4284
|
maxOutputTokens: 8192
|
|
4268
4285
|
},
|
|
4286
|
+
{
|
|
4287
|
+
id: "gemini-3.6-flash",
|
|
4288
|
+
displayName: "Gemini 3.6 Flash",
|
|
4289
|
+
desc: "Latest fast Gemini, sharper reasoning",
|
|
4290
|
+
tier: "economy",
|
|
4291
|
+
kieFormat: "chat-completions",
|
|
4292
|
+
// KIE serves Gemini 3.6 Flash on the OpenAI-compatible dialect under this
|
|
4293
|
+
// slug (docs.kie.ai/market/gemini/gemini-3-6-flash-openai.md) — same
|
|
4294
|
+
// chat-completions path shape as gemini-3-flash, different slug prefix.
|
|
4295
|
+
kieSlugOrModel: "gemini-3-6-flash-openai",
|
|
4296
|
+
vendor: "google",
|
|
4297
|
+
structuredOutputMode: "kie-response-format",
|
|
4298
|
+
supportsImages: true,
|
|
4299
|
+
maxOutputTokens: 8192,
|
|
4300
|
+
// KIE's 3.6 endpoint accepts `reasoning_effort: low | high` (thinking
|
|
4301
|
+
// level) — exactly the chat-completions wire mapping deriveParams sends.
|
|
4302
|
+
reasoningEfforts: ["low", "high"]
|
|
4303
|
+
},
|
|
4269
4304
|
{
|
|
4270
4305
|
id: "claude-haiku-4.5",
|
|
4271
4306
|
displayName: "Claude Haiku 4.5",
|
|
@@ -4433,6 +4468,22 @@ var LLM_MODELS = [
|
|
|
4433
4468
|
reasoningEfforts: ["low", "medium", "high", "xhigh", "max"],
|
|
4434
4469
|
supportsTemperature: false,
|
|
4435
4470
|
preferKie: true
|
|
4471
|
+
},
|
|
4472
|
+
{
|
|
4473
|
+
id: "claude-fable-5",
|
|
4474
|
+
displayName: "Claude Fable 5",
|
|
4475
|
+
desc: "Frontier Claude above Opus, hardest problems",
|
|
4476
|
+
tier: "premium",
|
|
4477
|
+
kieFormat: "messages",
|
|
4478
|
+
kieSlugOrModel: "claude-fable-5",
|
|
4479
|
+
vendor: "anthropic",
|
|
4480
|
+
structuredOutputMode: "anthropic-tool",
|
|
4481
|
+
supportsImages: true,
|
|
4482
|
+
maxOutputTokens: 16384,
|
|
4483
|
+
directFallbackModel: "claude-fable-5",
|
|
4484
|
+
reasoningEfforts: ["low", "medium", "high", "xhigh", "max"],
|
|
4485
|
+
supportsTemperature: false,
|
|
4486
|
+
preferKie: true
|
|
4436
4487
|
}
|
|
4437
4488
|
];
|
|
4438
4489
|
var LLM_MODEL_IDS = LLM_MODELS.map((m) => m.id);
|
|
@@ -4444,8 +4495,8 @@ function motionGraphicsFeature(engine) {
|
|
|
4444
4495
|
}
|
|
4445
4496
|
var LLM_FEATURE_DEFAULTS = {
|
|
4446
4497
|
"ai-writer": "claude-sonnet-4.6",
|
|
4447
|
-
"llm-chat": "gemini-3-flash",
|
|
4448
|
-
"prompt-helper": "gemini-3-flash",
|
|
4498
|
+
"llm-chat": "gemini-3.6-flash",
|
|
4499
|
+
"prompt-helper": "gemini-3.6-flash",
|
|
4449
4500
|
"scene-graph-ai": "claude-sonnet-4.6",
|
|
4450
4501
|
"after-effects": "claude-sonnet-4.6",
|
|
4451
4502
|
"motion-graphics": "claude-sonnet-4.6",
|
|
@@ -4454,13 +4505,14 @@ var LLM_FEATURE_DEFAULTS = {
|
|
|
4454
4505
|
"3d-title": "claude-sonnet-4.6",
|
|
4455
4506
|
"image-to-text": "claude-sonnet-4.6",
|
|
4456
4507
|
"describe-to-picker": "claude-opus-4.7",
|
|
4457
|
-
"qa-check": "
|
|
4458
|
-
"generate-script": "gemini-3-flash",
|
|
4459
|
-
"translate": "gemini-3-flash",
|
|
4508
|
+
"qa-check": "gemini-3.6-flash",
|
|
4509
|
+
"generate-script": "gemini-3.6-flash",
|
|
4510
|
+
"translate": "gemini-3.6-flash",
|
|
4460
4511
|
"image-critic": "claude-sonnet-4.6"
|
|
4461
4512
|
};
|
|
4462
4513
|
var LLM_MODALITY_CAPS = {
|
|
4463
4514
|
"gemini-3-flash": { image: true, video: true, audio: true },
|
|
4515
|
+
"gemini-3.6-flash": { image: true, video: true, audio: true },
|
|
4464
4516
|
"gemini-3.1-pro": { image: true, video: true, audio: true },
|
|
4465
4517
|
"claude-haiku-4.5": { image: true, video: false, audio: false },
|
|
4466
4518
|
"claude-sonnet-4.6": { image: true, video: false, audio: false },
|
|
@@ -4472,7 +4524,8 @@ var LLM_MODALITY_CAPS = {
|
|
|
4472
4524
|
"gpt-5.6-terra": { image: true, video: false, audio: false },
|
|
4473
4525
|
"gpt-5.6-sol": { image: true, video: false, audio: false },
|
|
4474
4526
|
"claude-sonnet-5": { image: true, video: false, audio: false },
|
|
4475
|
-
"claude-opus-4.8": { image: true, video: false, audio: false }
|
|
4527
|
+
"claude-opus-4.8": { image: true, video: false, audio: false },
|
|
4528
|
+
"claude-fable-5": { image: true, video: false, audio: false }
|
|
4476
4529
|
};
|
|
4477
4530
|
function getLlmModalityCaps(modelId) {
|
|
4478
4531
|
if (!modelId) return { image: true, video: false, audio: false };
|
|
@@ -4521,7 +4574,11 @@ function resolveLlmCreditId(feature, body) {
|
|
|
4521
4574
|
return buildLlmCreditIdentifier(feature, b?.llmModel, b?.reasoningEffort);
|
|
4522
4575
|
}
|
|
4523
4576
|
var VIDEO_ANALYSIS_LLM_MODELS = LLM_MODELS.filter((m) => getLlmModalityCaps(m.id).video && getLlmModalityCaps(m.id).audio).map((m) => m.id);
|
|
4524
|
-
var VIDEO_ANALYSIS_TIERS = { fast: "gemini-3-flash", pro: "gemini-3.1-pro" };
|
|
4577
|
+
var VIDEO_ANALYSIS_TIERS = { fast: "gemini-3.6-flash", pro: "gemini-3.1-pro" };
|
|
4578
|
+
var VIDEO_ANALYSIS_LEGACY_MODELS = {
|
|
4579
|
+
// fast tier's backing model until 2026-07 (superseded by gemini-3.6-flash)
|
|
4580
|
+
"gemini-3-flash": "fast"
|
|
4581
|
+
};
|
|
4525
4582
|
var VIDEO_ANALYSIS_MIXED_TIERS = ["mixed", "mixed-fast"];
|
|
4526
4583
|
var VIDEO_ANALYSIS_TIER_ORDER = ["pro", "fast", "mixed", "mixed-fast"];
|
|
4527
4584
|
var DEFAULT_VIDEO_ANALYSIS_TIER = "pro";
|
|
@@ -12225,10 +12282,17 @@ var WINDOW_STRIDE = 145;
|
|
|
12225
12282
|
var WINDOW_OVERLAP = 5;
|
|
12226
12283
|
var VIDEO_ANALYSIS_WINDOW = { LEN: WINDOW_LEN, STRIDE: WINDOW_STRIDE, OVERLAP: WINDOW_OVERLAP, SINGLE_MAX: 180 };
|
|
12227
12284
|
var VIDEO_ANALYSIS_BUCKET_CREDITS = {
|
|
12285
|
+
// Legacy fast-tier model (pre-2026-07) — kept for stored raw-id configs.
|
|
12228
12286
|
"video-analysis:gemini-3-flash:60s": 1,
|
|
12229
12287
|
"video-analysis:gemini-3-flash:180s": 1,
|
|
12230
12288
|
"video-analysis:gemini-3-flash:360s": 2,
|
|
12231
12289
|
"video-analysis:gemini-3-flash:600s": 3,
|
|
12290
|
+
// Current fast tier — regenerated from the private formula for its backing
|
|
12291
|
+
// model; higher than the legacy fast schedule but still ≤ pro per bucket.
|
|
12292
|
+
"video-analysis:gemini-3.6-flash:60s": 2,
|
|
12293
|
+
"video-analysis:gemini-3.6-flash:180s": 2,
|
|
12294
|
+
"video-analysis:gemini-3.6-flash:360s": 5,
|
|
12295
|
+
"video-analysis:gemini-3.6-flash:600s": 9,
|
|
12232
12296
|
"video-analysis:gemini-3.1-pro:60s": 2,
|
|
12233
12297
|
"video-analysis:gemini-3.1-pro:180s": 3,
|
|
12234
12298
|
"video-analysis:gemini-3.1-pro:360s": 7,
|
|
@@ -12624,6 +12688,7 @@ exports.VIDEO_ANALYSIS_DEFAULT_VARIATION = VIDEO_ANALYSIS_DEFAULT_VARIATION;
|
|
|
12624
12688
|
exports.VIDEO_ANALYSIS_DURATION_BUCKETS = VIDEO_ANALYSIS_DURATION_BUCKETS;
|
|
12625
12689
|
exports.VIDEO_ANALYSIS_DURATION_TOLERANCE_SEC = VIDEO_ANALYSIS_DURATION_TOLERANCE_SEC;
|
|
12626
12690
|
exports.VIDEO_ANALYSIS_ENTITY_SOURCES = VIDEO_ANALYSIS_ENTITY_SOURCES;
|
|
12691
|
+
exports.VIDEO_ANALYSIS_LEGACY_MODELS = VIDEO_ANALYSIS_LEGACY_MODELS;
|
|
12627
12692
|
exports.VIDEO_ANALYSIS_LLM_MODELS = VIDEO_ANALYSIS_LLM_MODELS;
|
|
12628
12693
|
exports.VIDEO_ANALYSIS_MAX_DURATION_SEC = VIDEO_ANALYSIS_MAX_DURATION_SEC;
|
|
12629
12694
|
exports.VIDEO_ANALYSIS_MAX_SCENE_SEC = VIDEO_ANALYSIS_MAX_SCENE_SEC;
|