@sogni-ai/sogni-intelligence-client 3.14.4 → 3.15.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/client/SogniClientWrapper.js +1 -1
- package/dist/client/SogniClientWrapper.js.map +1 -1
- package/dist/contracts/data/promptContracts.d.ts.map +1 -1
- package/dist/contracts/data/promptContracts.js +12 -11
- package/dist/contracts/data/promptContracts.js.map +1 -1
- package/dist/contracts/hostedToolValidation.d.ts.map +1 -1
- package/dist/contracts/hostedToolValidation.js +7 -2
- package/dist/contracts/hostedToolValidation.js.map +1 -1
- package/dist/media/videoAppSettings.d.ts +10 -10
- package/dist/media/videoAppSettings.d.ts.map +1 -1
- package/dist/media/videoAppSettings.js +10 -10
- package/dist/media/videoAppSettings.js.map +1 -1
- package/dist/media/videoSettings.d.ts +8 -1
- package/dist/media/videoSettings.d.ts.map +1 -1
- package/dist/media/videoSettings.js +223 -2
- package/dist/media/videoSettings.js.map +1 -1
- package/dist/public-skill-runtime/index.d.ts +18 -2
- package/dist/public-skill-runtime/index.d.ts.map +1 -1
- package/dist/public-skill-runtime/index.js +103 -17
- package/dist/public-skill-runtime/index.js.map +1 -1
- package/dist/skills/asset_reference_management/modelRefRegistry.d.ts.map +1 -1
- package/dist/skills/asset_reference_management/modelRefRegistry.js +3 -0
- package/dist/skills/asset_reference_management/modelRefRegistry.js.map +1 -1
- package/dist/skills/asset_reference_management/types.d.ts +1 -1
- package/dist/skills/asset_reference_management/types.d.ts.map +1 -1
- package/dist/tools/definitions/animate-photo/definition.d.ts.map +1 -1
- package/dist/tools/definitions/animate-photo/definition.js +10 -6
- package/dist/tools/definitions/animate-photo/definition.js.map +1 -1
- package/dist/tools/definitions/extend-video/definition.d.ts.map +1 -1
- package/dist/tools/definitions/extend-video/definition.js +3 -4
- package/dist/tools/definitions/extend-video/definition.js.map +1 -1
- package/dist/tools/definitions/generate-video/definition.d.ts.map +1 -1
- package/dist/tools/definitions/generate-video/definition.js +6 -4
- package/dist/tools/definitions/generate-video/definition.js.map +1 -1
- package/dist/tools/definitions/replace-video-segment/definition.js +3 -3
- package/dist/tools/definitions/replace-video-segment/definition.js.map +1 -1
- package/dist/tools/definitions/sound-to-video/definition.d.ts.map +1 -1
- package/dist/tools/definitions/sound-to-video/definition.js +9 -4
- package/dist/tools/definitions/sound-to-video/definition.js.map +1 -1
- package/dist/tools/definitions/video-to-video/definition.js +14 -14
- package/dist/tools/definitions/video-to-video/definition.js.map +1 -1
- package/dist/tools/shared/modelRegistry.d.ts.map +1 -1
- package/dist/tools/shared/modelRegistry.js +14 -1
- package/dist/tools/shared/modelRegistry.js.map +1 -1
- package/dist/utils/helpers.js +1 -1
- package/dist/utils/helpers.js.map +1 -1
- package/dist-esm/client/SogniClientWrapper.js +1 -1
- package/dist-esm/client/SogniClientWrapper.js.map +1 -1
- package/dist-esm/contracts/data/promptContracts.js +12 -11
- package/dist-esm/contracts/data/promptContracts.js.map +1 -1
- package/dist-esm/contracts/hostedToolValidation.js +7 -2
- package/dist-esm/contracts/hostedToolValidation.js.map +1 -1
- package/dist-esm/media/videoAppSettings.js +11 -11
- package/dist-esm/media/videoAppSettings.js.map +1 -1
- package/dist-esm/media/videoSettings.js +219 -1
- package/dist-esm/media/videoSettings.js.map +1 -1
- package/dist-esm/public-skill-runtime/index.js +101 -16
- package/dist-esm/public-skill-runtime/index.js.map +1 -1
- package/dist-esm/skills/asset_reference_management/modelRefRegistry.js +3 -0
- package/dist-esm/skills/asset_reference_management/modelRefRegistry.js.map +1 -1
- package/dist-esm/tools/definitions/animate-photo/definition.js +10 -6
- package/dist-esm/tools/definitions/animate-photo/definition.js.map +1 -1
- package/dist-esm/tools/definitions/extend-video/definition.js +3 -4
- package/dist-esm/tools/definitions/extend-video/definition.js.map +1 -1
- package/dist-esm/tools/definitions/generate-video/definition.js +6 -4
- package/dist-esm/tools/definitions/generate-video/definition.js.map +1 -1
- package/dist-esm/tools/definitions/replace-video-segment/definition.js +3 -3
- package/dist-esm/tools/definitions/replace-video-segment/definition.js.map +1 -1
- package/dist-esm/tools/definitions/sound-to-video/definition.js +9 -4
- package/dist-esm/tools/definitions/sound-to-video/definition.js.map +1 -1
- package/dist-esm/tools/definitions/video-to-video/definition.js +14 -14
- package/dist-esm/tools/definitions/video-to-video/definition.js.map +1 -1
- package/dist-esm/tools/shared/modelRegistry.js +14 -1
- package/dist-esm/tools/shared/modelRegistry.js.map +1 -1
- package/dist-esm/utils/helpers.js +1 -1
- package/dist-esm/utils/helpers.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.STORYBOARD_DEFAULT_MAX_FRAMES = exports.STORYBOARD_DEFAULT_MIN_FRAMES = exports.STORYBOARD_PLANNING_CONTRACT_JSON_SCHEMA = exports.STORYBOARD_PLANNING_CONTRACT_SCHEMA_VERSION = exports.IMAGE_MODEL_ALIASES = exports.IMAGE_MODEL_DEFAULTS = exports.QUALITY_TIERS = exports.VIDEO_MODEL_ALIASES = exports.VIDEO_WORKFLOW_DEFAULT_MODELS = exports.EXPANDED_VIDEO_MODEL_REGISTRY = exports.VIDEO_MODEL_REGISTRY = exports.HAPPYHORSE_WORKFLOW_MODELS = exports.SEEDANCE_WORKFLOW_MODELS = exports.LTX23_DEV_WORKFLOW_MODELS = exports.LTX23_EROS_MODEL_ID = exports.LTX23_WORKFLOW_MODELS = exports.DEFAULT_STORYBOARD_CANVAS_HINT_MARKER = exports.GPT_IMAGE_STORYBOARD_DEFAULTS = exports.SEEDANCE_V2V_REFERENCE_MAX_DURATION_SECONDS = exports.SEEDANCE_STORYBOARD_REFERENCE_PROMPT = exports.storyboardAdapterRegistry = exports.SkillRegistry = exports.StoryboardAdapterUnsupportedStageError = exports.ALL_BUILT_IN_SKILLS = exports.COMPOSITION_PLANNING_SKILL = exports.APP_SETTINGS_SKILL = exports.PERSONA_MANAGEMENT_SKILL = exports.MEDIA_ANALYSIS_SKILL = exports.MUSIC_GENERATION_SKILL = exports.VIDEO_EDITING_SKILL = exports.VIDEO_GENERATION_SKILL = exports.IMAGE_EDITING_SKILL = exports.IMAGE_GENERATION_SKILL = exports.QUALITY_AUDIT_SKILL = exports.ASSET_REFERENCE_MANAGEMENT_SKILL = exports.SESSION_CONTROL_SKILL = exports.TOOL_RESULT_DELIMITERS = exports.PUBLIC_SKILL_DEFAULT_TOOL_DEFINITIONS = exports.PUBLIC_SKILL_DEFAULT_TOOL_NAMES = exports.PUBLIC_SKILL_DEFAULT_REPAIR_RECIPES = exports.PUBLIC_SKILL_DEFAULT_PROMPT_CONTRACTS = exports.PUBLIC_SKILL_DEFAULT_POLICIES = exports.SKILL_RUNTIME_VERSION = void 0;
|
|
3
|
+
exports.STORYBOARD_DEFAULT_MAX_FRAMES = exports.STORYBOARD_DEFAULT_MIN_FRAMES = exports.STORYBOARD_PLANNING_CONTRACT_JSON_SCHEMA = exports.STORYBOARD_PLANNING_CONTRACT_SCHEMA_VERSION = exports.IMAGE_MODEL_ALIASES = exports.IMAGE_MODEL_DEFAULTS = exports.QUALITY_TIERS = exports.VIDEO_MODEL_ALIASES = exports.VIDEO_WORKFLOW_DEFAULT_MODELS = exports.EXPANDED_VIDEO_MODEL_REGISTRY = exports.VIDEO_MODEL_REGISTRY = exports.HAPPYHORSE_WORKFLOW_MODELS = exports.SEEDANCE_WORKFLOW_MODELS = exports.LTX25_DEV_WORKFLOW_MODELS = exports.LTX25_WORKFLOW_MODELS = exports.LTX23_DEV_WORKFLOW_MODELS = exports.LTX23_EROS_MODEL_ID = exports.LTX23_WORKFLOW_MODELS = exports.DEFAULT_STORYBOARD_CANVAS_HINT_MARKER = exports.GPT_IMAGE_STORYBOARD_DEFAULTS = exports.SEEDANCE_V2V_REFERENCE_MAX_DURATION_SECONDS = exports.SEEDANCE_STORYBOARD_REFERENCE_PROMPT = exports.storyboardAdapterRegistry = exports.SkillRegistry = exports.StoryboardAdapterUnsupportedStageError = exports.ALL_BUILT_IN_SKILLS = exports.COMPOSITION_PLANNING_SKILL = exports.APP_SETTINGS_SKILL = exports.PERSONA_MANAGEMENT_SKILL = exports.MEDIA_ANALYSIS_SKILL = exports.MUSIC_GENERATION_SKILL = exports.VIDEO_EDITING_SKILL = exports.VIDEO_GENERATION_SKILL = exports.IMAGE_EDITING_SKILL = exports.IMAGE_GENERATION_SKILL = exports.QUALITY_AUDIT_SKILL = exports.ASSET_REFERENCE_MANAGEMENT_SKILL = exports.SESSION_CONTROL_SKILL = exports.TOOL_RESULT_DELIMITERS = exports.PUBLIC_SKILL_DEFAULT_TOOL_DEFINITIONS = exports.PUBLIC_SKILL_DEFAULT_TOOL_NAMES = exports.PUBLIC_SKILL_DEFAULT_REPAIR_RECIPES = exports.PUBLIC_SKILL_DEFAULT_PROMPT_CONTRACTS = exports.PUBLIC_SKILL_DEFAULT_POLICIES = exports.SKILL_RUNTIME_VERSION = void 0;
|
|
4
4
|
exports.createPublicSkillContractRuntime = createPublicSkillContractRuntime;
|
|
5
5
|
exports.createPublicSkillDefaultContractRuntime = createPublicSkillDefaultContractRuntime;
|
|
6
6
|
exports.classifyPublicSkillTurn = classifyPublicSkillTurn;
|
|
@@ -21,6 +21,7 @@ exports.compileForModel = compileForModel;
|
|
|
21
21
|
exports.normalizeReferenceAudioMimeType = normalizeReferenceAudioMimeType;
|
|
22
22
|
exports.detectReferenceAudioFormat = detectReferenceAudioFormat;
|
|
23
23
|
exports.shouldTrimSeedanceV2VSourceVideo = shouldTrimSeedanceV2VSourceVideo;
|
|
24
|
+
exports.resolveLtx25WorkflowModelForQuality = resolveLtx25WorkflowModelForQuality;
|
|
24
25
|
exports.resolveLtx23WorkflowModelForQuality = resolveLtx23WorkflowModelForQuality;
|
|
25
26
|
exports.isLtx2Model = isLtx2Model;
|
|
26
27
|
exports.isWanModel = isWanModel;
|
|
@@ -1037,6 +1038,29 @@ const PUBLIC_GPT_IMAGE_2_ADAPTER = {
|
|
|
1037
1038
|
return 'GPT IMAGE 2 ROUTING: When the user asks for a ChatGPT, OpenAI, GPT, GPT-2, GPT Image, or gpt-image-2 image/model, use model="gpt-image-2". Use generate_image for text-to-image requests. If uploaded/reference/persona images must guide identity, likeness, composition, style, or objects, use edit_image with model="gpt-image-2" instead of forcing generate_image.';
|
|
1038
1039
|
},
|
|
1039
1040
|
};
|
|
1041
|
+
const PUBLIC_LTX25_ADAPTER = {
|
|
1042
|
+
modelId: 'ltx25',
|
|
1043
|
+
name: 'LTX 2.5',
|
|
1044
|
+
supportedStages: ['scene_clip'],
|
|
1045
|
+
compile(storyboard, input) {
|
|
1046
|
+
if (input.stage !== 'scene_clip')
|
|
1047
|
+
throw new StoryboardAdapterUnsupportedStageError('ltx25', input.stage);
|
|
1048
|
+
const scene = requireStoryboardScene('LTX25_ADAPTER', input);
|
|
1049
|
+
const referenceTag = input.primaryReferenceTag ?? 'context_image_0';
|
|
1050
|
+
return {
|
|
1051
|
+
stage: 'scene_clip',
|
|
1052
|
+
prompt: compactSceneVideoPrompt(storyboard, scene, referenceTag),
|
|
1053
|
+
args: {
|
|
1054
|
+
videoModel: 'ltx25',
|
|
1055
|
+
duration: clampSeedanceStoryboardDuration(scene.durationSec ?? 5),
|
|
1056
|
+
aspectRatio: storyboard.targetVideoAspectRatio,
|
|
1057
|
+
},
|
|
1058
|
+
};
|
|
1059
|
+
},
|
|
1060
|
+
getSystemPromptGuidance() {
|
|
1061
|
+
return 'LTX 2.5 VIDEO PROMPTING: For image-to-video, describe motion, action, camera, dialogue, and sound not already obvious in the reference frame. Keep recurring character names and visual anchors stable across scenes. Use LTX 2.3 only for explicit rollback or its ID-LoRA/transition/10Eros-only paths.';
|
|
1062
|
+
},
|
|
1063
|
+
};
|
|
1040
1064
|
const PUBLIC_LTX23_ADAPTER = {
|
|
1041
1065
|
modelId: 'ltx23',
|
|
1042
1066
|
name: 'LTX-2.3',
|
|
@@ -1088,6 +1112,7 @@ const PUBLIC_WAN_ADAPTER = {
|
|
|
1088
1112
|
const PUBLIC_STORYBOARD_ADAPTERS = [
|
|
1089
1113
|
PUBLIC_SEEDANCE_ADAPTER,
|
|
1090
1114
|
PUBLIC_GPT_IMAGE_2_ADAPTER,
|
|
1115
|
+
PUBLIC_LTX25_ADAPTER,
|
|
1091
1116
|
PUBLIC_LTX23_ADAPTER,
|
|
1092
1117
|
PUBLIC_WAN_ADAPTER,
|
|
1093
1118
|
];
|
|
@@ -1146,8 +1171,12 @@ exports.storyboardAdapterRegistry = {
|
|
|
1146
1171
|
return PUBLIC_SEEDANCE_ADAPTER;
|
|
1147
1172
|
if (trimmed.startsWith('gpt-image'))
|
|
1148
1173
|
return PUBLIC_GPT_IMAGE_2_ADAPTER;
|
|
1149
|
-
if (trimmed.startsWith('
|
|
1174
|
+
if (trimmed.startsWith('ltx25'))
|
|
1175
|
+
return PUBLIC_LTX25_ADAPTER;
|
|
1176
|
+
if (trimmed.startsWith('ltx23') || trimmed.startsWith('ltx2-'))
|
|
1150
1177
|
return PUBLIC_LTX23_ADAPTER;
|
|
1178
|
+
if (trimmed.startsWith('ltx'))
|
|
1179
|
+
return PUBLIC_LTX25_ADAPTER;
|
|
1151
1180
|
if (trimmed.startsWith('wan'))
|
|
1152
1181
|
return PUBLIC_WAN_ADAPTER;
|
|
1153
1182
|
return null;
|
|
@@ -1240,6 +1269,25 @@ exports.LTX23_DEV_WORKFLOW_MODELS = Object.freeze({
|
|
|
1240
1269
|
ia2v: 'ltx23-22b-fp8_ia2v_dev',
|
|
1241
1270
|
a2v: 'ltx23-22b-fp8_a2v_dev'
|
|
1242
1271
|
});
|
|
1272
|
+
exports.LTX25_WORKFLOW_MODELS = Object.freeze({
|
|
1273
|
+
t2v: 'ltx25-22b-int8_t2v_distilled',
|
|
1274
|
+
i2v: 'ltx25-22b-int8_i2v_distilled',
|
|
1275
|
+
ia2v: 'ltx25-22b-int8_ia2v_distilled',
|
|
1276
|
+
a2v: 'ltx25-22b-int8_a2v_distilled',
|
|
1277
|
+
v2v: 'ltx25-22b-int8_v2v_distilled'
|
|
1278
|
+
});
|
|
1279
|
+
exports.LTX25_DEV_WORKFLOW_MODELS = Object.freeze({
|
|
1280
|
+
t2v: 'ltx25-22b-int8_t2v_dev',
|
|
1281
|
+
i2v: 'ltx25-22b-int8_i2v_dev',
|
|
1282
|
+
ia2v: 'ltx25-22b-int8_ia2v_dev',
|
|
1283
|
+
a2v: 'ltx25-22b-int8_a2v_dev',
|
|
1284
|
+
v2v: 'ltx25-22b-int8_v2v_dev'
|
|
1285
|
+
});
|
|
1286
|
+
function resolveLtx25WorkflowModelForQuality(workflow, qualityTier) {
|
|
1287
|
+
return qualityTier === 'pro'
|
|
1288
|
+
? exports.LTX25_DEV_WORKFLOW_MODELS[workflow]
|
|
1289
|
+
: exports.LTX25_WORKFLOW_MODELS[workflow];
|
|
1290
|
+
}
|
|
1243
1291
|
function resolveLtx23WorkflowModelForQuality(workflow, qualityTier) {
|
|
1244
1292
|
if (qualityTier === 'pro' && workflow !== 'v2v') {
|
|
1245
1293
|
return exports.LTX23_DEV_WORKFLOW_MODELS[workflow];
|
|
@@ -1507,6 +1555,30 @@ exports.VIDEO_MODEL_REGISTRY = Object.freeze({
|
|
|
1507
1555
|
});
|
|
1508
1556
|
exports.EXPANDED_VIDEO_MODEL_REGISTRY = (() => {
|
|
1509
1557
|
const registry = { ...exports.VIDEO_MODEL_REGISTRY };
|
|
1558
|
+
for (const workflow of ['t2v', 'i2v', 'ia2v', 'a2v', 'v2v']) {
|
|
1559
|
+
const base = registry[exports.LTX23_WORKFLOW_MODELS[workflow]];
|
|
1560
|
+
if (!base)
|
|
1561
|
+
continue;
|
|
1562
|
+
const ltx25Base = {
|
|
1563
|
+
...base,
|
|
1564
|
+
family: 'ltx25',
|
|
1565
|
+
maxDimension: 3840,
|
|
1566
|
+
fps: 24,
|
|
1567
|
+
sampler: 'euler_ancestral',
|
|
1568
|
+
scheduler: 'manual_sigmas',
|
|
1569
|
+
supportsNativeAudio: true
|
|
1570
|
+
};
|
|
1571
|
+
registry[exports.LTX25_WORKFLOW_MODELS[workflow]] = {
|
|
1572
|
+
...ltx25Base,
|
|
1573
|
+
steps: 8,
|
|
1574
|
+
guidance: 1.0
|
|
1575
|
+
};
|
|
1576
|
+
registry[exports.LTX25_DEV_WORKFLOW_MODELS[workflow]] = {
|
|
1577
|
+
...ltx25Base,
|
|
1578
|
+
steps: 30,
|
|
1579
|
+
guidance: 3.0
|
|
1580
|
+
};
|
|
1581
|
+
}
|
|
1510
1582
|
for (const workflow of ['t2v', 'i2v', 'ia2v', 'a2v']) {
|
|
1511
1583
|
const base = registry[exports.LTX23_WORKFLOW_MODELS[workflow]];
|
|
1512
1584
|
if (!base)
|
|
@@ -1540,16 +1612,22 @@ exports.EXPANDED_VIDEO_MODEL_REGISTRY = (() => {
|
|
|
1540
1612
|
return Object.freeze(registry);
|
|
1541
1613
|
})();
|
|
1542
1614
|
exports.VIDEO_WORKFLOW_DEFAULT_MODELS = Object.freeze({
|
|
1543
|
-
t2v: exports.
|
|
1544
|
-
i2v:
|
|
1615
|
+
t2v: exports.LTX25_WORKFLOW_MODELS.t2v,
|
|
1616
|
+
i2v: exports.LTX25_WORKFLOW_MODELS.i2v,
|
|
1545
1617
|
s2v: 'wan_v2.2-14b-fp8_s2v_lightx2v',
|
|
1546
|
-
ia2v: exports.
|
|
1547
|
-
a2v: exports.
|
|
1618
|
+
ia2v: exports.LTX25_WORKFLOW_MODELS.ia2v,
|
|
1619
|
+
a2v: exports.LTX25_WORKFLOW_MODELS.a2v,
|
|
1548
1620
|
'animate-move': 'wan_v2.2-14b-fp8_animate-move_lightx2v',
|
|
1549
1621
|
'animate-replace': 'wan_v2.2-14b-fp8_animate-replace_lightx2v',
|
|
1550
|
-
v2v: exports.
|
|
1622
|
+
v2v: exports.LTX25_WORKFLOW_MODELS.v2v
|
|
1551
1623
|
});
|
|
1552
1624
|
exports.VIDEO_MODEL_ALIASES = Object.freeze({
|
|
1625
|
+
ltx25: exports.LTX25_WORKFLOW_MODELS.t2v,
|
|
1626
|
+
'ltx25-t2v': exports.LTX25_WORKFLOW_MODELS.t2v,
|
|
1627
|
+
'ltx25-i2v': exports.LTX25_WORKFLOW_MODELS.i2v,
|
|
1628
|
+
'ltx25-ia2v': exports.LTX25_WORKFLOW_MODELS.ia2v,
|
|
1629
|
+
'ltx25-a2v': exports.LTX25_WORKFLOW_MODELS.a2v,
|
|
1630
|
+
'ltx25-v2v': exports.LTX25_WORKFLOW_MODELS.v2v,
|
|
1553
1631
|
ltx23: exports.LTX23_WORKFLOW_MODELS.t2v,
|
|
1554
1632
|
'ltx23-t2v': exports.LTX23_WORKFLOW_MODELS.t2v,
|
|
1555
1633
|
'ltx23-i2v': exports.LTX23_WORKFLOW_MODELS.i2v,
|
|
@@ -1639,7 +1717,7 @@ exports.IMAGE_MODEL_ALIASES = Object.freeze({
|
|
|
1639
1717
|
'dark-beast-krea-2-identity-edit-lora-v1-2': 'dark_beast_krea2_identity_edit_v1_2'
|
|
1640
1718
|
});
|
|
1641
1719
|
function isLtx2Model(modelId) {
|
|
1642
|
-
return modelId?.startsWith('ltx2-') || modelId?.startsWith('ltx23-') || false;
|
|
1720
|
+
return modelId?.startsWith('ltx2-') || modelId?.startsWith('ltx23-') || modelId?.startsWith('ltx25-') || false;
|
|
1643
1721
|
}
|
|
1644
1722
|
function isWanModel(modelId) {
|
|
1645
1723
|
return modelId?.startsWith('wan_') || false;
|
|
@@ -1659,6 +1737,11 @@ function resolveVideoModelAlias(modelId, workflow) {
|
|
|
1659
1737
|
if (!modelId)
|
|
1660
1738
|
return modelId;
|
|
1661
1739
|
const key = String(modelId).trim().toLowerCase();
|
|
1740
|
+
if (key === 'ltx25') {
|
|
1741
|
+
if (workflow && isLtxWorkflow(workflow)) {
|
|
1742
|
+
return exports.LTX25_WORKFLOW_MODELS[workflow];
|
|
1743
|
+
}
|
|
1744
|
+
}
|
|
1662
1745
|
if (key === 'ltx23' && isLtxWorkflow(workflow)) {
|
|
1663
1746
|
return exports.LTX23_WORKFLOW_MODELS[workflow];
|
|
1664
1747
|
}
|
|
@@ -1694,6 +1777,9 @@ function getBuiltinVideoModelConfig(modelId) {
|
|
|
1694
1777
|
if (id.startsWith('ltx23-') && isLtxWorkflow(workflow)) {
|
|
1695
1778
|
return exports.EXPANDED_VIDEO_MODEL_REGISTRY[exports.LTX23_WORKFLOW_MODELS[workflow]] || null;
|
|
1696
1779
|
}
|
|
1780
|
+
if (id.startsWith('ltx25-') && isLtxWorkflow(workflow)) {
|
|
1781
|
+
return exports.EXPANDED_VIDEO_MODEL_REGISTRY[exports.LTX25_WORKFLOW_MODELS[workflow]] || null;
|
|
1782
|
+
}
|
|
1697
1783
|
if (id.startsWith('ltx2-')) {
|
|
1698
1784
|
return {
|
|
1699
1785
|
workflow,
|
|
@@ -1959,15 +2045,15 @@ function selectDefaultVideoModel(workflow, opts = {}, config) {
|
|
|
1959
2045
|
if (configured)
|
|
1960
2046
|
return resolveVideoModelAlias(configured, workflow) || null;
|
|
1961
2047
|
if (workflow === 'ia2v')
|
|
1962
|
-
return
|
|
2048
|
+
return resolveLtx25WorkflowModelForQuality('ia2v', opts.quality);
|
|
1963
2049
|
if (workflow === 'a2v')
|
|
1964
|
-
return
|
|
2050
|
+
return resolveLtx25WorkflowModelForQuality('a2v', opts.quality);
|
|
1965
2051
|
if (workflow === 'v2v')
|
|
1966
|
-
return
|
|
2052
|
+
return resolveLtx25WorkflowModelForQuality('v2v', opts.quality);
|
|
1967
2053
|
if (workflow === 't2v')
|
|
1968
|
-
return
|
|
2054
|
+
return resolveLtx25WorkflowModelForQuality('t2v', opts.quality);
|
|
1969
2055
|
if (workflow === 'i2v' && (opts.referenceAudioIdentity || promptNeedsLtxNativeAudio(opts.prompt) || opts.quality === 'hq' || opts.quality === 'pro')) {
|
|
1970
|
-
return
|
|
2056
|
+
return resolveLtx25WorkflowModelForQuality('i2v', opts.quality);
|
|
1971
2057
|
}
|
|
1972
2058
|
return exports.VIDEO_WORKFLOW_DEFAULT_MODELS[workflow] || null;
|
|
1973
2059
|
}
|
|
@@ -4119,7 +4205,7 @@ function extractStoryboardRequiredText(text) {
|
|
|
4119
4205
|
}
|
|
4120
4206
|
const labeledTextPattern = /\b(?:on[-\s]?screen\s+text|visible\s+text|text\s+only|text|end\s+card\s+text|final\s+text|tagline|cta|headline|title\s+card|copy)\s*:\s*([^\n]{1,260})/gi;
|
|
4121
4207
|
for (const match of text.matchAll(labeledTextPattern)) {
|
|
4122
|
-
const value = match[1] || '';
|
|
4208
|
+
const value = (match[1] || '').split('|')[0];
|
|
4123
4209
|
const matchStartInText = match.index ?? 0;
|
|
4124
4210
|
const lineStart = text.lastIndexOf('\n', matchStartInText) + 1;
|
|
4125
4211
|
const valueStartInMatch = match[0].indexOf(value);
|
|
@@ -4822,7 +4908,7 @@ function splitStoryboardTableSections(text) {
|
|
|
4822
4908
|
return sections;
|
|
4823
4909
|
}
|
|
4824
4910
|
function splitStoryboardSceneSections(text) {
|
|
4825
|
-
const matches = Array.from(text.matchAll(/^\s*(?:[-*+>#_]{1,6}\s*)*(?:[*_]{1,3})?\s*(?:Scene|Shot|Beat|Panel|Frame)\s*(\d{1,2})\b\s*(?:[-:.)|]\s*)?([^\n]*)/gim));
|
|
4911
|
+
const matches = Array.from(text.matchAll(/^\s*(?:[-*+>#_]{1,6}\s*)*(?:[*_]{1,3})?\s*(?:Scene|Shot|Beat|Panel|Frame)\s*_?\s*(\d{1,2})\b\s*(?:[-:.)|]\s*)?([^\n]*)/gim));
|
|
4826
4912
|
if (matches.length === 0)
|
|
4827
4913
|
return [];
|
|
4828
4914
|
return matches.map((match, index) => {
|
|
@@ -4888,7 +4974,7 @@ function splitStoryboardNumberedListSceneSections(text) {
|
|
|
4888
4974
|
return [];
|
|
4889
4975
|
}
|
|
4890
4976
|
function splitStoryboardInlineSceneSections(text) {
|
|
4891
|
-
const markerPattern = /(^|[\s.;])((?:Scene|Shot|Beat|Panel|Frame)\s*(\d{1,2})(?:\s*,\s*(?:Scene|Shot|Beat|Panel|Frame)\s*\d{1,2})?\s*(?:\([^)]{0,120}\))?\s*(?:[:\-–—]\s*)?)/gi;
|
|
4977
|
+
const markerPattern = /(^|[\s.;])((?:Scene|Shot|Beat|Panel|Frame)\s*_?\s*(\d{1,2})(?:\s*,\s*(?:Scene|Shot|Beat|Panel|Frame)\s*_?\s*\d{1,2})?\s*(?:\([^)]{0,120}\))?\s*(?:[:\-–—]\s*)?)/gi;
|
|
4892
4978
|
const matches = Array.from(text.matchAll(markerPattern))
|
|
4893
4979
|
.map(match => {
|
|
4894
4980
|
const leading = match[1] || '';
|
|
@@ -5946,7 +6032,7 @@ function buildStoryboardProject(options) {
|
|
|
5946
6032
|
if (Number.isInteger(value) && value >= 1 && value <= 64)
|
|
5947
6033
|
numbersSeen.add(value);
|
|
5948
6034
|
}
|
|
5949
|
-
for (const match of text.matchAll(/^\s*(?:[-*+>#_]{1,6}\s*)*(?:[*_]{1,3})?\s*(?:Scene|Shot|Beat|Panel|Frame)\s*(\d{1,2})\b/gim)) {
|
|
6035
|
+
for (const match of text.matchAll(/^\s*(?:[-*+>#_]{1,6}\s*)*(?:[*_]{1,3})?\s*(?:Scene|Shot|Beat|Panel|Frame)\s*_?\s*(\d{1,2})\b/gim)) {
|
|
5950
6036
|
const value = Number(match[1]);
|
|
5951
6037
|
if (Number.isInteger(value) && value >= 1 && value <= 64)
|
|
5952
6038
|
numbersSeen.add(value);
|