@sogni-ai/sogni-intelligence-client 4.10.2 → 4.12.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.d.ts.map +1 -1
- package/dist/client/SogniClientWrapper.js +23 -5
- package/dist/client/SogniClientWrapper.js.map +1 -1
- package/dist/contracts/index.d.ts +1 -1
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +4 -2
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/toolPromptMarkers.d.ts +2 -0
- package/dist/contracts/toolPromptMarkers.d.ts.map +1 -1
- package/dist/contracts/toolPromptMarkers.js +3 -1
- package/dist/contracts/toolPromptMarkers.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -2
- package/dist/index.js.map +1 -1
- package/dist/media/index.d.ts +2 -0
- package/dist/media/index.d.ts.map +1 -1
- package/dist/media/index.js +2 -0
- package/dist/media/index.js.map +1 -1
- package/dist/media/modelConsentRequired.d.ts +22 -0
- package/dist/media/modelConsentRequired.d.ts.map +1 -0
- package/dist/media/modelConsentRequired.js +106 -0
- package/dist/media/modelConsentRequired.js.map +1 -0
- package/dist/media/modelNotYetAvailable.d.ts +15 -0
- package/dist/media/modelNotYetAvailable.d.ts.map +1 -0
- package/dist/media/modelNotYetAvailable.js +98 -0
- package/dist/media/modelNotYetAvailable.js.map +1 -0
- package/dist/media/videoSettings.d.ts +1 -1
- package/dist/media/videoSettings.d.ts.map +1 -1
- package/dist/media/videoSettings.js +16 -0
- package/dist/media/videoSettings.js.map +1 -1
- package/dist/openai-tools/_manifests.generated.d.ts.map +1 -1
- package/dist/openai-tools/_manifests.generated.js +24 -14
- package/dist/openai-tools/_manifests.generated.js.map +1 -1
- package/dist/openai-tools/generation-tools.json +24 -14
- package/dist/public-skill-runtime/index.d.ts +17 -1
- package/dist/public-skill-runtime/index.d.ts.map +1 -1
- package/dist/public-skill-runtime/index.js +59 -7
- package/dist/public-skill-runtime/index.js.map +1 -1
- package/dist/schemas/tools/animate_photo.schema.json +1 -1
- package/dist/schemas/tools/edit_image.schema.json +1 -1
- package/dist/schemas/tools/extend_video.schema.json +4 -2
- package/dist/schemas/tools/generate_image.schema.json +1 -1
- package/dist/schemas/tools/generate_video.schema.json +5 -3
- package/dist/schemas/tools/replace_video_segment.schema.json +4 -2
- package/dist/schemas/tools/sound_to_video.schema.json +4 -2
- package/dist/schemas/tools/video_to_video.schema.json +6 -4
- package/dist/tools/definitions/animate-photo/definition.js +1 -1
- package/dist/tools/definitions/animate-photo/definition.js.map +1 -1
- package/dist/tools/definitions/extend-video/definition.js +3 -3
- 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 +8 -3
- package/dist/tools/definitions/generate-video/definition.js.map +1 -1
- package/dist/tools/definitions/replace-video-segment/definition.js +2 -2
- 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 +6 -2
- package/dist/tools/definitions/sound-to-video/definition.js.map +1 -1
- package/dist/tools/definitions/video-to-video/definition.d.ts.map +1 -1
- package/dist/tools/definitions/video-to-video/definition.js +7 -4
- package/dist/tools/definitions/video-to-video/definition.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +21 -18
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/shared/_catalogs.generated.d.ts.map +1 -1
- package/dist/tools/shared/_catalogs.generated.js +12 -0
- package/dist/tools/shared/_catalogs.generated.js.map +1 -1
- package/dist/tools/shared/errorClassification.d.ts.map +1 -1
- package/dist/tools/shared/errorClassification.js +2 -1
- package/dist/tools/shared/errorClassification.js.map +1 -1
- package/dist/tools/shared/modelRegistry.d.ts.map +1 -1
- package/dist/tools/shared/modelRegistry.js +6 -0
- package/dist/tools/shared/modelRegistry.js.map +1 -1
- package/dist/tools/shared/seedancePolicyErrors.d.ts +4 -3
- package/dist/tools/shared/seedancePolicyErrors.d.ts.map +1 -1
- package/dist/tools/shared/seedancePolicyErrors.js +23 -2
- package/dist/tools/shared/seedancePolicyErrors.js.map +1 -1
- package/dist/utils/errors.d.ts +12 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +40 -2
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/helpers.js +1 -1
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/seedanceModelIds.d.ts +5 -0
- package/dist/utils/seedanceModelIds.d.ts.map +1 -1
- package/dist/utils/seedanceModelIds.js +27 -1
- package/dist/utils/seedanceModelIds.js.map +1 -1
- package/dist/workflows/executor.d.ts.map +1 -1
- package/dist/workflows/executor.js +5 -4
- package/dist/workflows/executor.js.map +1 -1
- package/dist-esm/client/SogniClientWrapper.js +24 -6
- package/dist-esm/client/SogniClientWrapper.js.map +1 -1
- package/dist-esm/contracts/index.js +1 -1
- package/dist-esm/contracts/index.js.map +1 -1
- package/dist-esm/contracts/toolPromptMarkers.js +2 -0
- package/dist-esm/contracts/toolPromptMarkers.js.map +1 -1
- package/dist-esm/index.js +4 -2
- package/dist-esm/index.js.map +1 -1
- package/dist-esm/media/index.js +2 -0
- package/dist-esm/media/index.js.map +1 -1
- package/dist-esm/media/modelConsentRequired.js +100 -0
- package/dist-esm/media/modelConsentRequired.js.map +1 -0
- package/dist-esm/media/modelNotYetAvailable.js +92 -0
- package/dist-esm/media/modelNotYetAvailable.js.map +1 -0
- package/dist-esm/media/videoSettings.js +16 -0
- package/dist-esm/media/videoSettings.js.map +1 -1
- package/dist-esm/openai-tools/_manifests.generated.js +24 -14
- package/dist-esm/openai-tools/_manifests.generated.js.map +1 -1
- package/dist-esm/openai-tools/generation-tools.json +24 -14
- package/dist-esm/public-skill-runtime/index.js +60 -8
- package/dist-esm/public-skill-runtime/index.js.map +1 -1
- package/dist-esm/schemas/tools/animate_photo.schema.json +1 -1
- package/dist-esm/schemas/tools/edit_image.schema.json +1 -1
- package/dist-esm/schemas/tools/extend_video.schema.json +4 -2
- package/dist-esm/schemas/tools/generate_image.schema.json +1 -1
- package/dist-esm/schemas/tools/generate_video.schema.json +5 -3
- package/dist-esm/schemas/tools/replace_video_segment.schema.json +4 -2
- package/dist-esm/schemas/tools/sound_to_video.schema.json +4 -2
- package/dist-esm/schemas/tools/video_to_video.schema.json +6 -4
- package/dist-esm/tools/definitions/animate-photo/definition.js +1 -1
- package/dist-esm/tools/definitions/animate-photo/definition.js.map +1 -1
- package/dist-esm/tools/definitions/extend-video/definition.js +3 -3
- package/dist-esm/tools/definitions/extend-video/definition.js.map +1 -1
- package/dist-esm/tools/definitions/generate-video/definition.js +9 -4
- package/dist-esm/tools/definitions/generate-video/definition.js.map +1 -1
- package/dist-esm/tools/definitions/replace-video-segment/definition.js +2 -2
- package/dist-esm/tools/definitions/replace-video-segment/definition.js.map +1 -1
- package/dist-esm/tools/definitions/sound-to-video/definition.js +7 -3
- package/dist-esm/tools/definitions/sound-to-video/definition.js.map +1 -1
- package/dist-esm/tools/definitions/video-to-video/definition.js +8 -5
- package/dist-esm/tools/definitions/video-to-video/definition.js.map +1 -1
- package/dist-esm/tools/index.js +1 -0
- package/dist-esm/tools/index.js.map +1 -1
- package/dist-esm/tools/shared/_catalogs.generated.js +12 -0
- package/dist-esm/tools/shared/_catalogs.generated.js.map +1 -1
- package/dist-esm/tools/shared/errorClassification.js +2 -1
- package/dist-esm/tools/shared/errorClassification.js.map +1 -1
- package/dist-esm/tools/shared/modelRegistry.js +6 -0
- package/dist-esm/tools/shared/modelRegistry.js.map +1 -1
- package/dist-esm/tools/shared/seedancePolicyErrors.js +23 -3
- package/dist-esm/tools/shared/seedancePolicyErrors.js.map +1 -1
- package/dist-esm/utils/errors.js +35 -1
- package/dist-esm/utils/errors.js.map +1 -1
- package/dist-esm/utils/helpers.js +2 -2
- package/dist-esm/utils/helpers.js.map +1 -1
- package/dist-esm/utils/seedanceModelIds.js +24 -1
- package/dist-esm/utils/seedanceModelIds.js.map +1 -1
- package/dist-esm/workflows/executor.js +5 -4
- package/dist-esm/workflows/executor.js.map +1 -1
- package/package.json +4 -4
|
@@ -111,6 +111,8 @@ const videoModelIds_js_1 = require("../utils/videoModelIds.js");
|
|
|
111
111
|
const imageReferenceModelIds_js_1 = require("../utils/imageReferenceModelIds.js");
|
|
112
112
|
const gptImage_js_1 = require("../media/gptImage.js");
|
|
113
113
|
const videoSettings_js_1 = require("../media/videoSettings.js");
|
|
114
|
+
const modelConsentRequired_js_1 = require("../media/modelConsentRequired.js");
|
|
115
|
+
const modelNotYetAvailable_js_1 = require("../media/modelNotYetAvailable.js");
|
|
114
116
|
const toolPromptMarkers_js_1 = require("../contracts/toolPromptMarkers.js");
|
|
115
117
|
function isLtxWorkflow(workflow) {
|
|
116
118
|
return workflow === 't2v' || workflow === 'i2v' || workflow === 'ia2v' || workflow === 'a2v' || workflow === 'v2v';
|
|
@@ -373,6 +375,24 @@ function codeEquals(code, expected) {
|
|
|
373
375
|
return String(code).toLowerCase() === String(expected).toLowerCase();
|
|
374
376
|
}
|
|
375
377
|
function classifySkillError(error) {
|
|
378
|
+
const consentPayload = (0, modelConsentRequired_js_1.modelConsentRequiredPayloadFromError)(error);
|
|
379
|
+
if (consentPayload) {
|
|
380
|
+
return {
|
|
381
|
+
error_type: 'PERMISSION_REQUIRED',
|
|
382
|
+
category: 'permission_required',
|
|
383
|
+
message: consentPayload.message,
|
|
384
|
+
retryable: false,
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
|
+
const notYetAvailablePayload = (0, modelNotYetAvailable_js_1.modelNotYetAvailablePayloadFromError)(error);
|
|
388
|
+
if (notYetAvailablePayload) {
|
|
389
|
+
return {
|
|
390
|
+
error_type: 'MODEL_UNAVAILABLE',
|
|
391
|
+
category: 'model_unavailable',
|
|
392
|
+
message: notYetAvailablePayload.message,
|
|
393
|
+
retryable: false,
|
|
394
|
+
};
|
|
395
|
+
}
|
|
376
396
|
const message = skillErrorMessage(error);
|
|
377
397
|
const lower = message.toLowerCase();
|
|
378
398
|
const code = skillErrorCode(error);
|
|
@@ -767,10 +787,12 @@ exports.IMAGE_EDITING_SKILL = {
|
|
|
767
787
|
exports.VIDEO_GENERATION_SKILL = {
|
|
768
788
|
id: 'video_generation',
|
|
769
789
|
name: 'Video generation',
|
|
770
|
-
description: 'Text-to-video synthesis with LTX, Wan, Seedance, HappyHorse, and MiniMax H3, including Wan 3.0 Enhanced through MuleRouter. Use when the user wants a new video clip generated from a prompt or loose reference set.',
|
|
790
|
+
description: 'Text-to-video synthesis with LTX, Wan, Seedance, HappyHorse, and MiniMax H3, including Seedance 2.5 Uncensored, Seedance 2.0 Mini Uncensored and Wan 3.0 Enhanced through MuleRouter. Use when the user wants a new video clip generated from a prompt or loose reference set.',
|
|
771
791
|
toolNames: ['generate_video'],
|
|
772
792
|
constraints: [
|
|
773
793
|
'For My Personas video requests, default to image_editing first to produce a conditioned scene image before animation. Use direct video only when the user explicitly asks to animate an existing persona image/reference or no source image is available for a voice-only request.',
|
|
794
|
+
'Seedance 2.5 Uncensored uses selector seedance2-5-uncensored (Sogni model id seedance-2-5-uncensored): the same modes, 480p/720p/1080p, 4-30 seconds at 24 fps, reference limits, MOV and last-frame options as seedance2-5. Use it only when the user asks for Seedance 2.5 Uncensored, Seedance Uncensored, or Seedance Spicy, and never swap it for seedance2-5. Each account must accept a one-time likeness and consent agreement in the Sogni app first; error 4103 means it has not, so tell the user to accept it there and do not retry.',
|
|
795
|
+
'Seedance 2.0 Mini Uncensored uses selector seedance2-mini-uncensored (Sogni model id seedance-2-0-mini-uncensored): the same modes, 480p/720p, 4-15 seconds at 24 fps and reference limits as seedance2-mini. Use it only when the user asks for Seedance 2.0 Mini Uncensored, Seedance Mini Uncensored, or Seedance Mini Spicy, and never swap it for seedance2-mini or seedance2-5-uncensored. It shares the Seedance 2.5 Uncensored likeness and consent agreement, so error 4103 means the account has not accepted it: tell the user to accept it in the Sogni app and do not retry.',
|
|
774
796
|
'Wan 3.0 Enhanced uses exact Sogni model id wan3.0-spicy-video (MuleRouter provider id w3.0-video): 2-30 seconds at 30 fps, 480p/720p/1080p, native audio, prompt expansion, adaptive/fixed ratios, and up to 10 image/5 video/5 audio references. First/last-frame mode and loose-reference mode are mutually exclusive. It has no document/web context, watermark, negative prompt, source-video edit, or extend mode.',
|
|
775
797
|
'MiniMax H3 two-stage: 1080p and 2K H3 delivery is its own selector, not an option. minimax-h3-fasth3-t2v-turbo-2stage on generate_video (animate_photo carries minimax-h3-fasth3-i2v-turbo-2stage and minimax-h3-fasth3-flf2v-turbo-2stage) renders the FastH3 canvas, then the worker enlarges it 2x and refines it, so the clip is delivered at twice the canvas with the same length and audio. targetResolution names the delivered class: 1080 renders a 544px short-edge canvas (960x544 becomes 1920x1088) for 10 Spark per second, 1440 or omitted renders the 768p canvas for 2K (1344x768 becomes 2688x1536) for 16 Spark per second, and 720 renders a 384px canvas (672x384 becomes 1344x768) for the regular FastH3 price of 4 Spark per second. Choose it when the user asks for 1080p, 1440p or 2K H3 output, for two-stage output, or for the sharpest/best H3 quality, and send the same prompt contract, durations and LoRAs as the matching FastH3 selector; keep ordinary 768p FastH3 output on the regular FastH3 selector at targetResolution 768. Reference-to-video has its own two-stage selectors on generate_video: minimax-h3-r2v-2stage (Standard, 20 steps) and minimax-h3-r2v-balanced-2stage (Balanced, 8 steps) take exactly the references, prompt contract, durations and LoRAs of minimax-h3-r2v and minimax-h3-r2v-balanced, deliver twice the canvas, and read targetResolution the same way; each bills its tier\'s rate plus the two-stage surcharge of the delivered class. Keep the one-stage R2V selectors for ordinary 768p output.',
|
|
776
798
|
`${toolPromptMarkers_js_1.MINIMAX_H3_KEYFRAMES_GUIDANCE} On generate_video only the MiniMax H3 reference-to-video selectors take keyframes, never text-to-video; the keyframe images are not references and do not go in referenceImageIndices.`,
|
|
@@ -1014,8 +1036,12 @@ function publicSeedanceVideoModelFromInput(input) {
|
|
|
1014
1036
|
const resolved = resolveVideoModelAlias(requestedModelId, 't2v');
|
|
1015
1037
|
if (resolved === exports.SEEDANCE_WORKFLOW_MODELS.t2v25)
|
|
1016
1038
|
return 'seedance2-5';
|
|
1039
|
+
if (resolved === exports.SEEDANCE_WORKFLOW_MODELS.t2v25Uncensored)
|
|
1040
|
+
return 'seedance2-5-uncensored';
|
|
1017
1041
|
if (resolved === exports.SEEDANCE_WORKFLOW_MODELS.t2vMini)
|
|
1018
1042
|
return 'seedance2-mini';
|
|
1043
|
+
if (resolved === exports.SEEDANCE_WORKFLOW_MODELS.t2vMiniUncensored)
|
|
1044
|
+
return 'seedance2-mini-uncensored';
|
|
1019
1045
|
if (resolved === exports.SEEDANCE_WORKFLOW_MODELS.t2v)
|
|
1020
1046
|
return 'seedance2';
|
|
1021
1047
|
throw new Error(`No Seedance storyboard execution contract is registered for model "${requestedModelId}".`);
|
|
@@ -1032,7 +1058,7 @@ const PUBLIC_SEEDANCE_ADAPTER = {
|
|
|
1032
1058
|
prompt: compileStoryboardImagePromptFromProject(storyboard),
|
|
1033
1059
|
args: {
|
|
1034
1060
|
videoModel,
|
|
1035
|
-
...(videoModel
|
|
1061
|
+
...((0, seedanceModelIds_js_1.isSeedance25VideoModelId)(videoModel) ? { targetResolution: 1080 } : {}),
|
|
1036
1062
|
aspectRatio: storyboard.targetVideoAspectRatio,
|
|
1037
1063
|
skipPromptProcessing: true,
|
|
1038
1064
|
expandPrompt: false,
|
|
@@ -1042,14 +1068,14 @@ const PUBLIC_SEEDANCE_ADAPTER = {
|
|
|
1042
1068
|
if (input.stage === 'scene_clip') {
|
|
1043
1069
|
const scene = requireStoryboardScene('SEEDANCE_ADAPTER', input);
|
|
1044
1070
|
const referenceTag = input.primaryReferenceTag ?? formatModelRef('seedance', 1, 'image');
|
|
1045
|
-
const maxDuration = videoModel
|
|
1071
|
+
const maxDuration = (0, seedanceModelIds_js_1.isSeedance25VideoModelId)(videoModel) ? 30 : 15;
|
|
1046
1072
|
const duration = Math.max(4, Math.min(maxDuration, Math.round(scene.durationSec ?? 5)));
|
|
1047
1073
|
return {
|
|
1048
1074
|
stage: 'scene_clip',
|
|
1049
1075
|
prompt: compileSeedanceSceneClipPromptFromProject(storyboard, scene, referenceTag),
|
|
1050
1076
|
args: {
|
|
1051
1077
|
videoModel,
|
|
1052
|
-
...(videoModel
|
|
1078
|
+
...((0, seedanceModelIds_js_1.isSeedance25VideoModelId)(videoModel) ? { targetResolution: 1080 } : {}),
|
|
1053
1079
|
duration,
|
|
1054
1080
|
aspectRatio: storyboard.targetVideoAspectRatio,
|
|
1055
1081
|
skipPromptProcessing: true,
|
|
@@ -1375,9 +1401,11 @@ function resolveLtx23WorkflowModelForQuality(workflow, qualityTier) {
|
|
|
1375
1401
|
exports.SEEDANCE_WORKFLOW_MODELS = Object.freeze({
|
|
1376
1402
|
t2v: seedanceModelIds_js_1.SEEDANCE_VIDEO_MODEL_IDS.standard,
|
|
1377
1403
|
t2vMini: seedanceModelIds_js_1.SEEDANCE_VIDEO_MODEL_IDS.mini,
|
|
1404
|
+
t2vMiniUncensored: seedanceModelIds_js_1.SEEDANCE_VIDEO_MODEL_IDS.miniUncensored,
|
|
1378
1405
|
ia2v: seedanceModelIds_js_1.SEEDANCE_VIDEO_MODEL_IDS.standard,
|
|
1379
1406
|
v2v: seedanceModelIds_js_1.SEEDANCE_VIDEO_MODEL_IDS.standard,
|
|
1380
|
-
t2v25: seedanceModelIds_js_1.SEEDANCE_VIDEO_MODEL_IDS.v25
|
|
1407
|
+
t2v25: seedanceModelIds_js_1.SEEDANCE_VIDEO_MODEL_IDS.v25,
|
|
1408
|
+
t2v25Uncensored: seedanceModelIds_js_1.SEEDANCE_VIDEO_MODEL_IDS.v25Uncensored
|
|
1381
1409
|
});
|
|
1382
1410
|
exports.HAPPYHORSE_WORKFLOW_MODELS = Object.freeze({
|
|
1383
1411
|
t2v: 'happyhorse-1.1-t2v',
|
|
@@ -1622,6 +1650,20 @@ exports.VIDEO_MODEL_REGISTRY = Object.freeze({
|
|
|
1622
1650
|
maxFrames: 721,
|
|
1623
1651
|
supportsNativeAudio: true
|
|
1624
1652
|
},
|
|
1653
|
+
[exports.SEEDANCE_WORKFLOW_MODELS.t2v25Uncensored]: {
|
|
1654
|
+
workflow: 't2v',
|
|
1655
|
+
family: 'seedance2',
|
|
1656
|
+
defaultWidth: 1280,
|
|
1657
|
+
defaultHeight: 720,
|
|
1658
|
+
minDimension: 1,
|
|
1659
|
+
maxDimension: 2206,
|
|
1660
|
+
dimensionMultiple: 1,
|
|
1661
|
+
fps: 24,
|
|
1662
|
+
frameStep: 1,
|
|
1663
|
+
minFrames: 97,
|
|
1664
|
+
maxFrames: 721,
|
|
1665
|
+
supportsNativeAudio: true
|
|
1666
|
+
},
|
|
1625
1667
|
[exports.WAN3_WORKFLOW_MODEL]: {
|
|
1626
1668
|
workflow: 't2v',
|
|
1627
1669
|
family: 'wan3',
|
|
@@ -1752,6 +1794,10 @@ exports.VIDEO_MODEL_ALIASES = Object.freeze({
|
|
|
1752
1794
|
'seedance2-t2v': exports.SEEDANCE_WORKFLOW_MODELS.t2v,
|
|
1753
1795
|
'seedance2-mini': exports.SEEDANCE_WORKFLOW_MODELS.t2vMini,
|
|
1754
1796
|
'seedance2-mini-t2v': exports.SEEDANCE_WORKFLOW_MODELS.t2vMini,
|
|
1797
|
+
'seedance2-mini-uncensored': exports.SEEDANCE_WORKFLOW_MODELS.t2vMiniUncensored,
|
|
1798
|
+
'seedance2-mini-uncensored-t2v': exports.SEEDANCE_WORKFLOW_MODELS.t2vMiniUncensored,
|
|
1799
|
+
'seedance-mini-uncensored': exports.SEEDANCE_WORKFLOW_MODELS.t2vMiniUncensored,
|
|
1800
|
+
'seedance-mini-spicy': exports.SEEDANCE_WORKFLOW_MODELS.t2vMiniUncensored,
|
|
1755
1801
|
'seedance2-fast': exports.SEEDANCE_WORKFLOW_MODELS.t2vMini,
|
|
1756
1802
|
'seedance2-fast-t2v': exports.SEEDANCE_WORKFLOW_MODELS.t2vMini,
|
|
1757
1803
|
'seedance-2-0-fast': exports.SEEDANCE_WORKFLOW_MODELS.t2vMini,
|
|
@@ -1761,6 +1807,12 @@ exports.VIDEO_MODEL_ALIASES = Object.freeze({
|
|
|
1761
1807
|
'seedance2-5-t2v': exports.SEEDANCE_WORKFLOW_MODELS.t2v25,
|
|
1762
1808
|
'seedance2-5-ia2v': exports.SEEDANCE_WORKFLOW_MODELS.t2v25,
|
|
1763
1809
|
'seedance2-5-v2v': exports.SEEDANCE_WORKFLOW_MODELS.t2v25,
|
|
1810
|
+
'seedance2-5-uncensored': exports.SEEDANCE_WORKFLOW_MODELS.t2v25Uncensored,
|
|
1811
|
+
'seedance2-5-uncensored-t2v': exports.SEEDANCE_WORKFLOW_MODELS.t2v25Uncensored,
|
|
1812
|
+
'seedance2-5-uncensored-ia2v': exports.SEEDANCE_WORKFLOW_MODELS.t2v25Uncensored,
|
|
1813
|
+
'seedance2-5-uncensored-v2v': exports.SEEDANCE_WORKFLOW_MODELS.t2v25Uncensored,
|
|
1814
|
+
'seedance-uncensored': exports.SEEDANCE_WORKFLOW_MODELS.t2v25Uncensored,
|
|
1815
|
+
'seedance-spicy': exports.SEEDANCE_WORKFLOW_MODELS.t2v25Uncensored,
|
|
1764
1816
|
wan3: exports.WAN3_WORKFLOW_MODEL,
|
|
1765
1817
|
'wan3.0': exports.WAN3_WORKFLOW_MODEL,
|
|
1766
1818
|
'wan3-video': exports.WAN3_WORKFLOW_MODEL,
|
|
@@ -7386,10 +7438,10 @@ function buildStoryboardVideoHostedToolSequenceInput(options) {
|
|
|
7386
7438
|
const imageQuality = options.imageQuality ?? 'high';
|
|
7387
7439
|
const imageOutputFormat = options.imageOutputFormat ?? 'png';
|
|
7388
7440
|
const videoModel = options.videoModel ?? 'seedance2-5';
|
|
7389
|
-
const videoMaximumDuration = videoModel
|
|
7441
|
+
const videoMaximumDuration = (0, seedanceModelIds_js_1.isSeedance25VideoModelId)(videoModel) ? 30 : 15;
|
|
7390
7442
|
const requestedVideoDuration = options.videoDurationSec ?? project.durationSec ?? 5;
|
|
7391
7443
|
const videoDuration = Math.max(4, Math.min(videoMaximumDuration, Math.round(requestedVideoDuration)));
|
|
7392
|
-
const videoTargetResolution = options.videoTargetResolution ?? (videoModel
|
|
7444
|
+
const videoTargetResolution = options.videoTargetResolution ?? ((0, seedanceModelIds_js_1.isSeedanceMiniVideoModelId)(videoModel) ? 720 : 1080);
|
|
7393
7445
|
const videoDimensions = dimensionsForShortSideAspectRatio(project.targetVideoAspectRatio, videoTargetResolution);
|
|
7394
7446
|
const storyboardImagePrompt = compileVideoStoryboardImagePrompt(compileOptions);
|
|
7395
7447
|
const seedanceVideoPrompt = compileSeedanceStoryboardPromptFromProject(project, {
|