@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.
Files changed (77) hide show
  1. package/dist/client/SogniClientWrapper.js +1 -1
  2. package/dist/client/SogniClientWrapper.js.map +1 -1
  3. package/dist/contracts/data/promptContracts.d.ts.map +1 -1
  4. package/dist/contracts/data/promptContracts.js +12 -11
  5. package/dist/contracts/data/promptContracts.js.map +1 -1
  6. package/dist/contracts/hostedToolValidation.d.ts.map +1 -1
  7. package/dist/contracts/hostedToolValidation.js +7 -2
  8. package/dist/contracts/hostedToolValidation.js.map +1 -1
  9. package/dist/media/videoAppSettings.d.ts +10 -10
  10. package/dist/media/videoAppSettings.d.ts.map +1 -1
  11. package/dist/media/videoAppSettings.js +10 -10
  12. package/dist/media/videoAppSettings.js.map +1 -1
  13. package/dist/media/videoSettings.d.ts +8 -1
  14. package/dist/media/videoSettings.d.ts.map +1 -1
  15. package/dist/media/videoSettings.js +223 -2
  16. package/dist/media/videoSettings.js.map +1 -1
  17. package/dist/public-skill-runtime/index.d.ts +18 -2
  18. package/dist/public-skill-runtime/index.d.ts.map +1 -1
  19. package/dist/public-skill-runtime/index.js +103 -17
  20. package/dist/public-skill-runtime/index.js.map +1 -1
  21. package/dist/skills/asset_reference_management/modelRefRegistry.d.ts.map +1 -1
  22. package/dist/skills/asset_reference_management/modelRefRegistry.js +3 -0
  23. package/dist/skills/asset_reference_management/modelRefRegistry.js.map +1 -1
  24. package/dist/skills/asset_reference_management/types.d.ts +1 -1
  25. package/dist/skills/asset_reference_management/types.d.ts.map +1 -1
  26. package/dist/tools/definitions/animate-photo/definition.d.ts.map +1 -1
  27. package/dist/tools/definitions/animate-photo/definition.js +10 -6
  28. package/dist/tools/definitions/animate-photo/definition.js.map +1 -1
  29. package/dist/tools/definitions/extend-video/definition.d.ts.map +1 -1
  30. package/dist/tools/definitions/extend-video/definition.js +3 -4
  31. package/dist/tools/definitions/extend-video/definition.js.map +1 -1
  32. package/dist/tools/definitions/generate-video/definition.d.ts.map +1 -1
  33. package/dist/tools/definitions/generate-video/definition.js +6 -4
  34. package/dist/tools/definitions/generate-video/definition.js.map +1 -1
  35. package/dist/tools/definitions/replace-video-segment/definition.js +3 -3
  36. package/dist/tools/definitions/replace-video-segment/definition.js.map +1 -1
  37. package/dist/tools/definitions/sound-to-video/definition.d.ts.map +1 -1
  38. package/dist/tools/definitions/sound-to-video/definition.js +9 -4
  39. package/dist/tools/definitions/sound-to-video/definition.js.map +1 -1
  40. package/dist/tools/definitions/video-to-video/definition.js +14 -14
  41. package/dist/tools/definitions/video-to-video/definition.js.map +1 -1
  42. package/dist/tools/shared/modelRegistry.d.ts.map +1 -1
  43. package/dist/tools/shared/modelRegistry.js +14 -1
  44. package/dist/tools/shared/modelRegistry.js.map +1 -1
  45. package/dist/utils/helpers.js +1 -1
  46. package/dist/utils/helpers.js.map +1 -1
  47. package/dist-esm/client/SogniClientWrapper.js +1 -1
  48. package/dist-esm/client/SogniClientWrapper.js.map +1 -1
  49. package/dist-esm/contracts/data/promptContracts.js +12 -11
  50. package/dist-esm/contracts/data/promptContracts.js.map +1 -1
  51. package/dist-esm/contracts/hostedToolValidation.js +7 -2
  52. package/dist-esm/contracts/hostedToolValidation.js.map +1 -1
  53. package/dist-esm/media/videoAppSettings.js +11 -11
  54. package/dist-esm/media/videoAppSettings.js.map +1 -1
  55. package/dist-esm/media/videoSettings.js +219 -1
  56. package/dist-esm/media/videoSettings.js.map +1 -1
  57. package/dist-esm/public-skill-runtime/index.js +101 -16
  58. package/dist-esm/public-skill-runtime/index.js.map +1 -1
  59. package/dist-esm/skills/asset_reference_management/modelRefRegistry.js +3 -0
  60. package/dist-esm/skills/asset_reference_management/modelRefRegistry.js.map +1 -1
  61. package/dist-esm/tools/definitions/animate-photo/definition.js +10 -6
  62. package/dist-esm/tools/definitions/animate-photo/definition.js.map +1 -1
  63. package/dist-esm/tools/definitions/extend-video/definition.js +3 -4
  64. package/dist-esm/tools/definitions/extend-video/definition.js.map +1 -1
  65. package/dist-esm/tools/definitions/generate-video/definition.js +6 -4
  66. package/dist-esm/tools/definitions/generate-video/definition.js.map +1 -1
  67. package/dist-esm/tools/definitions/replace-video-segment/definition.js +3 -3
  68. package/dist-esm/tools/definitions/replace-video-segment/definition.js.map +1 -1
  69. package/dist-esm/tools/definitions/sound-to-video/definition.js +9 -4
  70. package/dist-esm/tools/definitions/sound-to-video/definition.js.map +1 -1
  71. package/dist-esm/tools/definitions/video-to-video/definition.js +14 -14
  72. package/dist-esm/tools/definitions/video-to-video/definition.js.map +1 -1
  73. package/dist-esm/tools/shared/modelRegistry.js +14 -1
  74. package/dist-esm/tools/shared/modelRegistry.js.map +1 -1
  75. package/dist-esm/utils/helpers.js +1 -1
  76. package/dist-esm/utils/helpers.js.map +1 -1
  77. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"modelRefRegistry.d.ts","sourceRoot":"","sources":["../../../src/skills/asset_reference_management/modelRefRegistry.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,WAAW,cAAc;IAE7B,KAAK,EAAE,MAAM,CAAC;IAEd,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IAC/C,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IAE5C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACxC,SAAS,EAAE,OAAO,CAAC;CACpB;AA2JD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAEjE;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,wBAAwB,CAqCrF;AAED,wBAAgB,wBAAwB,IAAI,aAAa,CAAC;IACxD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC,CASD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAEtF;AAED,wBAAgB,sBAAsB,IAAI,iBAAiB,EAAE,CAE5D"}
1
+ {"version":3,"file":"modelRefRegistry.d.ts","sourceRoot":"","sources":["../../../src/skills/asset_reference_management/modelRefRegistry.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,WAAW,cAAc;IAE7B,KAAK,EAAE,MAAM,CAAC;IAEd,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IAC/C,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IAE5C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACxC,SAAS,EAAE,OAAO,CAAC;CACpB;AA6JD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAEjE;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,wBAAwB,CAqCrF;AAED,wBAAgB,wBAAwB,IAAI,aAAa,CAAC;IACxD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC,CASD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAEtF;AAED,wBAAgB,sBAAsB,IAAI,iBAAiB,EAAE,CAE5D"}
@@ -116,6 +116,7 @@ const MODEL_REF_FORMATS = {
116
116
  happyhorse: HAPPYHORSE_FORMAT,
117
117
  'gpt-image-2': GPT_IMAGE_2_FORMAT,
118
118
  ltx23: CONTEXT_FORMAT,
119
+ ltx25: CONTEXT_FORMAT,
119
120
  wan: CONTEXT_FORMAT,
120
121
  'qwen-image-edit': CONTEXT_FORMAT,
121
122
  'krea-identity-edit': CONTEXT_FORMAT,
@@ -141,6 +142,8 @@ function resolveContextModelRefId(modelId) {
141
142
  modelId.startsWith('dark-beast-krea-2-identity-edit')) {
142
143
  return 'krea-identity-edit';
143
144
  }
145
+ if (modelId.startsWith('ltx25'))
146
+ return 'ltx25';
144
147
  if (modelId.startsWith('ltx'))
145
148
  return 'ltx23';
146
149
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"modelRefRegistry.js","sourceRoot":"","sources":["../../../src/skills/asset_reference_management/modelRefRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modelRefRegistry.js","sourceRoot":"","sources":["../../../src/skills/asset_reference_management/modelRefRegistry.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export interface AssetManifest {
14
14
  next_index: number;
15
15
  updated_at: string;
16
16
  }
17
- export type KnownAssetModelId = 'seedance' | 'happyhorse' | 'ltx23' | 'gpt-image-2' | 'wan' | 'qwen-image-edit' | 'krea-identity-edit' | 'flux' | 'minimax-h3';
17
+ export type KnownAssetModelId = 'seedance' | 'happyhorse' | 'ltx23' | 'ltx25' | 'gpt-image-2' | 'wan' | 'qwen-image-edit' | 'krea-identity-edit' | 'flux' | 'minimax-h3';
18
18
  export interface AssetReferenceValidationResult {
19
19
  resolved: ReadonlyArray<{
20
20
  token: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/skills/asset_reference_management/types.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAGpD,MAAM,WAAW,WAAW;IAE1B,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,EAAE,SAAS,CAAC;IAEhB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAElC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE1B,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9C;AAGD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAE/B,UAAU,EAAE,MAAM,CAAC;IAEnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,YAAY,GACZ,OAAO,GACP,aAAa,GACb,KAAK,GACL,iBAAiB,GACjB,oBAAoB,GACpB,MAAM,GACN,YAAY,CAAC;AAOjB,MAAM,WAAW,8BAA8B;IAE7C,QAAQ,EAAE,aAAa,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IAEH,QAAQ,EAAE,aAAa,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,eAAe,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,wBAAwB,CAAC;QAChG,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC,CAAC;IAOH,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/skills/asset_reference_management/types.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAGpD,MAAM,WAAW,WAAW;IAE1B,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,EAAE,SAAS,CAAC;IAEhB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAElC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE1B,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9C;AAGD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAE/B,UAAU,EAAE,MAAM,CAAC;IAEnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,YAAY,GACZ,OAAO,GACP,OAAO,GACP,aAAa,GACb,KAAK,GACL,iBAAiB,GACjB,oBAAoB,GACpB,MAAM,GACN,YAAY,CAAC;AAOjB,MAAM,WAAW,8BAA8B;IAE7C,QAAQ,EAAE,aAAa,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IAEH,QAAQ,EAAE,aAAa,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,eAAe,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,wBAAwB,CAAC;QAChG,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC,CAAC;IAOH,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../src/tools/definitions/animate-photo/definition.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,eAAO,MAAM,UAAU,EAAE,cAiJxB,CAAC"}
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../src/tools/definitions/animate-photo/definition.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,eAAO,MAAM,UAAU,EAAE,cAqJxB,CAAC"}
@@ -7,7 +7,7 @@ exports.definition = {
7
7
  type: "function",
8
8
  function: {
9
9
  name: "animate_photo",
10
- description: 'Animate a photo into video with motion, audio, and dialogue using LTX 2.3 or WAN 2.2. Do NOT use this tool for seedance2, seedance2-mini, seedance2-fast, or seedance2-5. Seedance media references — including Seedance 2.5 first-and-last-frame requests — must go through generate_video with referenceImageIndices/referenceVideoIndices/referenceAudioIndices and @Image/@Video/@Audio role text in the prompt; for seamless-loop Seedance requests with one uploaded image, the prompt should anchor it as both the first frame and last frame. LTX/WAN NOTE: uploaded audio files are not loose references for ltx23/wan22; use sound_to_video when uploaded audio is the primary sync target. DANCE REQUESTS ("make them dance", "do the X dance"): use dance_montage — NOT this tool. LTX 2.3 generates audio natively — describe dialogue and ambient sounds directly in the prompt (do NOT pre-generate audio for this tool). If the user provides exact speech, include it in double quotes; if they only imply speech, describe the performance and voice without inventing quoted words. Avoid placeholders such as "while speaking", "dialogue begins", "explaining", or "final line lands". PERSONA VOICE: Only when the user explicitly asks to use/clone a registered persona voice clip, call resolve_personas first, then set voicePersonaName to select which persona\'s voice clip to use. Do not set voicePersonaName for ordinary character dialogue or inferred voices; describe those voices in the prompt for native LTX audio. For cross-persona narration (e.g. David narrates a video of Aleyna), resolve both personas and set voicePersonaName to the narrator only if that registered voice was requested. Persona voice requires ltx23 because WAN 2.2 does not support voice identity. PERSONA PIPELINE: For persona videos, ensure an image of the persona exists before calling animate_photo. The standard pipeline is: resolve_personas → edit_image → animate_photo. If a suitable persona image already exists (user uploaded one, a prior edit_image/generate_image result, OR the user explicitly says to use the Persona image/reference photo directly), skip edit_image and animate directly. After resolve_personas, this tool can animate the injected persona image directly when that explicit direct-use instruction is given. Auto-uses the latest result image (from any prior tool) unless sourceImageIndex is set. Supports start-frame (default), end-frame, and start+end interpolation modes for LTX/WAN — ask the user which frame role their image should play if they mention "end frame", "last frame", or provide two images. FIRST+LAST FRAME WORKFLOW: When the user wants a non-Seedance video using two different scenes as start and end frames, prefer generating both images in a single generate_image/edit_image call with numberOfVariations=2 and Dynamic Prompts, then call animate_photo with frameRole="both", sourceImageIndex=0, endImageIndex=1. If the user explicitly wants separately created frame assets, preserve that staged instruction while keeping indices correct. In frameRole="both", the handler automatically inspects both images and upgrades the base prompt into a scene-aware smooth transition prompt, so your prompt should state the desired transition style, action, dialogue, and audio rather than trying to list every visible object. If the request is vague, analyze the image first and suggest 2-3 specific animation ideas tailored to what you see. Call once you have clear creative intent. N-VIDEOS PATTERN: Avoid sequential animate_photo calls for N outputs. For a single fixed source/end frame where only prompt text varies, use sourceImageIndex + numberOfVariations=N + one Dynamic Prompt branch in prompt so Sogni submits one project with multiple jobs. If the user explicitly asks for Dynamic Prompt or Dynamic Template syntax, prefer this one-project path whenever every output uses the same source/end frames and shared settings, even if they also ask to stitch the completed clips afterward. Use sourceImageIndices/prompts for multi-segment stitched non-Seedance video, different source/end assets, different audio windows, different durations/dimensions, isolated retry lifecycle, or other per-output parameters. sourceImageIndices supports up to 16 entries; there is NO 3-clip cap, so do not split one planned batch into "first 3" and "remaining" calls. For a dialogue-heavy total-duration request with no explicit per-clip duration, prefer 15-second clips on ltx23 (30s total = 2 clips × 15s) and 10-second clips on wan22 (60s total on wan22 = 6 clips × 10s; do NOT pick 4 clips × 15s on wan22 — the wan22 worker rejects clips longer than 10s). Multi-source flavors: (A) SHARED CONTENT — when all N clips have the same dialogue/motion but different source visuals (different scenes, outfits, environments, persona looks), first generate N distinct images via ONE edit_image/generate_image call with numberOfVariations=N + Dynamic Prompts {|}, then call animate_photo with sourceImageIndices=[start..start+N-1] and a single shared `prompt`. If all segments intentionally reuse the primary uploaded image and only prompt text varies, use sourceImageIndex=-1, frameRole="both" if requested, endImageIndex=-1 if requested, numberOfVariations=N, and one Dynamic Prompt branch in prompt. Each branch option must be a complete natural-language motion prompt; do not include "clip N", source-frame boilerplate, "overall request context", or instructions to follow the user request. For a long scripted/dialogue/storyboard video from a single supplied/uploaded image where each segment needs isolated exact dialogue or per-segment wiring, use sourceImageIndices=[-1,-1,...] and per-clip prompts. Only set frameRole="both" and endImageIndex=-1 when the user explicitly says the same uploaded/source/original image should be both the first and last frame of every segment. If the user requests generated source images first, honor that image stage, then animate the generated result indices. When using generated scene keyframes and each clip should begin and end on its own scene image for stitching, call animate_photo with frameRole="both" and sourceImageIndices=[start..end] but OMIT endImageIndex; do not set endImageIndex=-1 unless every source is the uploaded image. (B) PER-CLIP CONTENT — when source/end asset wiring or other per-output parameters differ, pass BOTH sourceImageIndices AND `prompts` (an array of N strings, one per clip) in the same single call. Each prompt must independently anchor the visible characters, scene action, camera, audio, exact screenplay-style speaker tags, and exact quoted dialogue for that segment. If you just wrote or displayed a script/table, copy the exact dialogue lines into the corresponding per-clip prompts; do not summarize them as speech activity. If using named speaker tags with any multi-person reference image or generated scene keyframe, include one explicit cast map in each prompt that binds each name to visible position, clothing, and props/actions, e.g. SPEAKER_A = left person holding a prop; SPEAKER_B = center person with tablet; SPEAKER_C = right person near table. Do not also describe the same people again as generic man/boy/girl/woman/character subjects. For screenplay, storyboard, commercial, series, or other longer-form tasks with recurring characters, preserve the same character names and repeated visual anchors in every per-clip prompt where each character appears. Use the standard single-source path (numberOfVariations only) when the user wants motion variety from a single fixed frame.',
10
+ description: 'Animate a photo into video with motion, audio, and dialogue using LTX 2.5 by default, LTX 2.3 as rollback, or WAN 2.2. Do NOT use this tool for seedance2, seedance2-mini, seedance2-fast, or seedance2-5. Seedance media references — including Seedance 2.5 first-and-last-frame requests — must go through generate_video with referenceImageIndices/referenceVideoIndices/referenceAudioIndices and @Image/@Video/@Audio role text in the prompt; for seamless-loop Seedance requests with one uploaded image, the prompt should anchor it as both the first frame and last frame. LTX/WAN NOTE: uploaded audio files are not loose references for ltx25/ltx23/wan22; use sound_to_video when uploaded audio is the primary sync target. DANCE REQUESTS ("make them dance", "do the X dance"): use dance_montage — NOT this tool. LTX 2.5 and LTX 2.3 generate audio natively — describe dialogue and ambient sounds directly in the prompt (do NOT pre-generate audio for this tool). If the user provides exact speech, include it in double quotes; if they only imply speech, describe the performance and voice without inventing quoted words. Avoid placeholders such as "while speaking", "dialogue begins", "explaining", or "final line lands". PERSONA VOICE: Only when the user explicitly asks to use/clone a registered persona voice clip, call resolve_personas first, then set voicePersonaName to select which persona\'s voice clip to use. Do not set voicePersonaName for ordinary character dialogue or inferred voices; describe those voices in the prompt for native LTX audio. For cross-persona narration (e.g. David narrates a video of Aleyna), resolve both personas and set voicePersonaName to the narrator only if that registered voice was requested. Persona voice requires ltx23 because LTX 2.5 has no compatible ID-LoRA and WAN 2.2 does not support voice identity. PERSONA PIPELINE: For persona videos, ensure an image of the persona exists before calling animate_photo. The standard pipeline is: resolve_personas → edit_image → animate_photo. If a suitable persona image already exists (user uploaded one, a prior edit_image/generate_image result, OR the user explicitly says to use the Persona image/reference photo directly), skip edit_image and animate directly. After resolve_personas, this tool can animate the injected persona image directly when that explicit direct-use instruction is given. Auto-uses the latest result image (from any prior tool) unless sourceImageIndex is set. Supports start-frame (default), end-frame, and start+end interpolation modes for LTX/WAN — ask the user which frame role their image should play if they mention "end frame", "last frame", or provide two images. FIRST+LAST FRAME WORKFLOW: When the user wants a non-Seedance video using two different scenes as start and end frames, prefer generating both images in a single generate_image/edit_image call with numberOfVariations=2 and Dynamic Prompts, then call animate_photo with frameRole="both", sourceImageIndex=0, endImageIndex=1. If the user explicitly wants separately created frame assets, preserve that staged instruction while keeping indices correct. In frameRole="both", the handler automatically inspects both images and upgrades the base prompt into a scene-aware smooth transition prompt, so your prompt should state the desired transition style, action, dialogue, and audio rather than trying to list every visible object. If the request is vague, analyze the image first and suggest 2-3 specific animation ideas tailored to what you see. Call once you have clear creative intent. N-VIDEOS PATTERN: Avoid sequential animate_photo calls for N outputs. For a single fixed source/end frame where only prompt text varies, use sourceImageIndex + numberOfVariations=N + one Dynamic Prompt branch in prompt so Sogni submits one project with multiple jobs. If the user explicitly asks for Dynamic Prompt or Dynamic Template syntax, prefer this one-project path whenever every output uses the same source/end frames and shared settings, even if they also ask to stitch the completed clips afterward. Use sourceImageIndices/prompts for multi-segment stitched non-Seedance video, different source/end assets, different audio windows, different durations/dimensions, isolated retry lifecycle, or other per-output parameters. sourceImageIndices supports up to 16 entries; there is NO 3-clip cap, so do not split one planned batch into "first 3" and "remaining" calls. For a dialogue-heavy total-duration request with no explicit per-clip duration, prefer 15-second clips on ltx25 by default (or ltx23 rollback) (30s total = 2 clips × 15s) and 10-second clips on wan22 (60s total on wan22 = 6 clips × 10s; do NOT pick 4 clips × 15s on wan22 — the wan22 worker rejects clips longer than 10s). Multi-source flavors: (A) SHARED CONTENT — when all N clips have the same dialogue/motion but different source visuals (different scenes, outfits, environments, persona looks), first generate N distinct images via ONE edit_image/generate_image call with numberOfVariations=N + Dynamic Prompts {|}, then call animate_photo with sourceImageIndices=[start..start+N-1] and a single shared `prompt`. If all segments intentionally reuse the primary uploaded image and only prompt text varies, use sourceImageIndex=-1, frameRole="both" if requested, endImageIndex=-1 if requested, numberOfVariations=N, and one Dynamic Prompt branch in prompt. Each branch option must be a complete natural-language motion prompt; do not include "clip N", source-frame boilerplate, "overall request context", or instructions to follow the user request. For a long scripted/dialogue/storyboard video from a single supplied/uploaded image where each segment needs isolated exact dialogue or per-segment wiring, use sourceImageIndices=[-1,-1,...] and per-clip prompts. Only set frameRole="both" and endImageIndex=-1 when the user explicitly says the same uploaded/source/original image should be both the first and last frame of every segment. If the user requests generated source images first, honor that image stage, then animate the generated result indices. When using generated scene keyframes and each clip should begin and end on its own scene image for stitching, call animate_photo with frameRole="both" and sourceImageIndices=[start..end] but OMIT endImageIndex; do not set endImageIndex=-1 unless every source is the uploaded image. (B) PER-CLIP CONTENT — when source/end asset wiring or other per-output parameters differ, pass BOTH sourceImageIndices AND `prompts` (an array of N strings, one per clip) in the same single call. Each prompt must independently anchor the visible characters, scene action, camera, audio, exact screenplay-style speaker tags, and exact quoted dialogue for that segment. If you just wrote or displayed a script/table, copy the exact dialogue lines into the corresponding per-clip prompts; do not summarize them as speech activity. If using named speaker tags with any multi-person reference image or generated scene keyframe, include one explicit cast map in each prompt that binds each name to visible position, clothing, and props/actions, e.g. SPEAKER_A = left person holding a prop; SPEAKER_B = center person with tablet; SPEAKER_C = right person near table. Do not also describe the same people again as generic man/boy/girl/woman/character subjects. For screenplay, storyboard, commercial, series, or other longer-form tasks with recurring characters, preserve the same character names and repeated visual anchors in every per-clip prompt where each character appears. Use the standard single-source path (numberOfVariations only) when the user wants motion variety from a single fixed frame.',
11
11
  parameters: {
12
12
  type: "object",
13
13
  properties: {
@@ -25,7 +25,7 @@ BLOCKING: Use the image as the anchor and direct only meaningful layout changes.
25
25
 
26
26
  ACTION: One flowing paragraph. Describe motion beat by beat with temporal connectors ("as", "then", "while"). Specify who moves, what moves, how it moves, and what the camera does. One main thread — avoid too many actions at once or generic phrases like "comes alive."
27
27
 
28
- DIALOGUE: Put user-provided spoken lines in double quotes. For screenplay-style or longer-form tasks, prefix each spoken line with a stable speaker tag outside the quotes, e.g. CHARACTER: "We made it." Break long speech into short quoted phrases with acting beats between them (gestures, pauses, glances). If the user asks for speech but provides no exact words, describe the visible delivery, voice quality, and emotion without inventing quoted dialogue; ask only when exact wording is the point of the request. Never write placeholders such as "while speaking", "dialogue begins", "explaining", or "final line lands". Show emotion through visible behavior, not labels. LTX 2.3 generates audio natively. QUOTING RULE: ONLY use double quotes for spoken dialogue. Never quote on-screen text, overlay text, titles, captions, signs, or any visual text — describe them without quotes (e.g. bold white text reading CONGRATULATIONS overlays the lower third).
28
+ DIALOGUE: Put user-provided spoken lines in double quotes. For screenplay-style or longer-form tasks, prefix each spoken line with a stable speaker tag outside the quotes, e.g. CHARACTER: "We made it." Break long speech into short quoted phrases with acting beats between them (gestures, pauses, glances). If the user asks for speech but provides no exact words, describe the visible delivery, voice quality, and emotion without inventing quoted dialogue; ask only when exact wording is the point of the request. Never write placeholders such as "while speaking", "dialogue begins", "explaining", or "final line lands". Show emotion through visible behavior, not labels. LTX 2.5 and LTX 2.3 generate audio natively. QUOTING RULE: ONLY use double quotes for spoken dialogue. Never quote on-screen text, overlay text, titles, captions, signs, or any visual text — describe them without quotes (e.g. bold white text reading CONGRATULATIONS overlays the lower third).
29
29
 
30
30
  AUDIO: Prompt sound intentionally — voice quality, volume, room tone, ambience, music, weather, footsteps. Include language or accent if relevant. Useful voice/volume anchors: whisper, mutter, shout, scream, energetic announcer, resonant voice with gravitas, distorted radio-style, robotic monotone, childlike curiosity.
31
31
 
@@ -56,14 +56,18 @@ BATCH VARIATIONS: When numberOfVariations > 1, use Dynamic Prompt syntax to vary
56
56
  videoModel: {
57
57
  type: "string",
58
58
  enum: [
59
+ "ltx25",
59
60
  "ltx23",
60
61
  "wan22",
62
+ "happyhorse-1.1-i2v",
63
+ "happyhorse-1.1-r2v",
61
64
  "minimax-h3-i2v",
62
- "minimax-h3-flf2v",
63
65
  "minimax-h3-i2v-turbo",
66
+ "minimax-h3-flf2v",
64
67
  "minimax-h3-flf2v-turbo",
65
68
  ],
66
- description: 'Which video model to use. "ltx23" (default): LTX 2.3 with native audio. "wan22": quick simple motion without audio, up to 10s. "minimax-h3-i2v" and "minimax-h3-i2v-turbo": standard and 4-step Turbo MiniMax H3 from one first frame. "minimax-h3-flf2v" and "minimax-h3-flf2v-turbo": standard and 4-step Turbo MiniMax H3 between required first and last frames; use frameRole="both" and provide the end frame. H3 generates native audio at fixed 24fps for 5.17-15.08s and has no negative-prompt input. H3 Base and Turbo prompts use the exact three-field contract and the official mode-specific alignment line. Do not set Seedance here; use generate_video with Seedance references.',
69
+ description: '"ltx25" (default): LTX 2.5 I2V or first/last-frame video with native audio; Fast/HQ use distilled INT8 and Pro uses dev INT8 with its required official Speed LoRA refinement. ' +
70
+ 'Which video model to use. "ltx23": LTX 2.3 rollback with native audio. "wan22": quick simple motion without audio, up to 10s. "minimax-h3-i2v" and "minimax-h3-i2v-turbo": standard and 4-step Turbo MiniMax H3 from one first frame. "minimax-h3-flf2v" and "minimax-h3-flf2v-turbo": standard and 4-step Turbo MiniMax H3 between required first and last frames; use frameRole="both" and provide the end frame. H3 generates native audio at fixed 24fps for 5.17-15.08s and has no negative-prompt input. H3 Base and Turbo prompts use the exact three-field contract and the official mode-specific alignment line. Do not set Seedance here; use generate_video with Seedance references.',
67
71
  },
68
72
  negativePrompt: {
69
73
  type: "string",
@@ -75,7 +79,7 @@ BATCH VARIATIONS: When numberOfVariations > 1, use Dynamic Prompt syntax to vary
75
79
  },
76
80
  duration: {
77
81
  type: "number",
78
- description: 'Video duration in seconds. Default: 5. Per-model range: ltx23 = 2-20s, wan22 = 2-10s, MiniMax H3 = 5.17-15.08s snapped to its valid frame grid. For longer totals, batch clips via sourceImageIndices.',
82
+ description: 'Video duration in seconds. Default: 5. Per-model range: ltx25 and ltx23 = 2-20s, wan22 = 2-10s, MiniMax H3 = 5.17-15.08s snapped to its valid frame grid. For longer totals, batch clips via sourceImageIndices.',
79
83
  },
80
84
  targetResolution: {
81
85
  type: "number",
@@ -127,7 +131,7 @@ BATCH VARIATIONS: When numberOfVariations > 1, use Dynamic Prompt syntax to vary
127
131
  },
128
132
  voicePersonaName: {
129
133
  type: "string",
130
- description: 'ONLY when the user explicitly requests a registered/reference persona voice clip. Name of the persona whose voice clip to use as referenceAudioIdentity. Set this when the narrator/speaker is a different persona than the one shown in the video (e.g. "David" narrates a video of Aleyna), or to explicitly select a requested voice when multiple personas with voice clips are resolved. Do NOT set this for ordinary character dialogue, inferred voices, or personas without a voice clip — LTX 2.3 generates voice natively from the text prompt instead. Requires ltx23.',
134
+ description: 'ONLY when the user explicitly requests a registered/reference persona voice clip. Name of the persona whose voice clip to use as referenceAudioIdentity. Set this when the narrator/speaker is a different persona than the one shown in the video (e.g. "David" narrates a video of Aleyna), or to explicitly select a requested voice when multiple personas with voice clips are resolved. Do NOT set this for ordinary character dialogue, inferred voices, or personas without a voice clip — LTX 2.3 generates voice natively from the text prompt instead. Requires ltx23 because LTX 2.5 has no compatible ID-LoRA.',
131
135
  },
132
136
  },
133
137
  required: ["prompt"],
@@ -1 +1 @@
1
- {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/animate-photo/definition.ts"],"names":[],"mappings":";;;AAMA,kFAGiD;AACjD,sDAAmE;AAEtD,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,o4OAAo4O;QACt4O,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;;EAErB,oDAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;qbA4BsZ;iBAC5a;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,4GAA4G;iBAC/G;gBACD,oBAAoB,EAAE;oBACpB,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,uEAAgD;iBAC9D;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,OAAO;wBACP,OAAO;wBACP,gBAAgB;wBAChB,kBAAkB;wBAClB,sBAAsB;wBACtB,wBAAwB;qBACzB;oBACD,WAAW,EACT,oqBAAoqB;iBACvqB;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,0LAA0L;iBAC7L;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,6OAA6O;iBAChP;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,wMAAwM;iBAC3M;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,sZAAsZ;iBACzZ;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,8bAA8b;iBACjc;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,EAAE;oBACZ,WAAW,EACT,qqGAAqqG;iBACxqG;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,EAAE;oBACZ,WAAW,EACT,2hEAA2hE;iBAC9hE;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,2XAA2X;oBAC7X,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAwB;iBACtC;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;oBAC9B,WAAW,EACT,yaAAya;iBAC5a;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,ykBAAykB;iBAC5kB;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,EAAE;oBACZ,WAAW,EACT,whCAAwhC;iBAC3hC;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,mjBAAmjB;iBACtjB;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/animate-photo/definition.ts"],"names":[],"mappings":";;;AAMA,kFAGiD;AACjD,sDAAmE;AAEtD,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,2/OAA2/O;QAC7/O,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;;EAErB,oDAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;qbA4BsZ;iBAC5a;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,4GAA4G;iBAC/G;gBACD,oBAAoB,EAAE;oBACpB,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,uEAAgD;iBAC9D;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,OAAO;wBACP,OAAO;wBACP,OAAO;wBACP,oBAAoB;wBACpB,oBAAoB;wBACpB,gBAAgB;wBAChB,sBAAsB;wBACtB,kBAAkB;wBAClB,wBAAwB;qBACzB;oBACD,WAAW,EACT,iLAAiL;wBACjL,mqBAAmqB;iBACtqB;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,0LAA0L;iBAC7L;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,6OAA6O;iBAChP;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,kNAAkN;iBACrN;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,sZAAsZ;iBACzZ;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,8bAA8b;iBACjc;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,EAAE;oBACZ,WAAW,EACT,qqGAAqqG;iBACxqG;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,EAAE;oBACZ,WAAW,EACT,2hEAA2hE;iBAC9hE;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,2XAA2X;oBAC7X,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAwB;iBACtC;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;oBAC9B,WAAW,EACT,yaAAya;iBAC5a;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,ykBAAykB;iBAC5kB;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,EAAE;oBACZ,WAAW,EACT,whCAAwhC;iBAC3hC;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,6lBAA6lB;iBAChmB;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../src/tools/definitions/extend-video/definition.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,UAAU,EAAE,cAoDxB,CAAC"}
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../src/tools/definitions/extend-video/definition.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,UAAU,EAAE,cAmDxB,CAAC"}
@@ -6,7 +6,7 @@ exports.definition = {
6
6
  function: {
7
7
  name: 'extend_video',
8
8
  description: 'Extend a video by adding new time to the end. Works on BOTH videos previously rendered in this session AND user-uploaded videos — set videoIndex to a negative number (e.g. -1) to target an uploaded video when no prior render exists. The base video is auto-selected from the most recent video in this session unless videoIndex is set. ' +
9
- 'For LTX-2.3 base clips, the tool extracts the last frame and renders an image-to-video continuation. ' +
9
+ 'For LTX 2.5/2.3 base clips, the tool extracts the last frame and renders an image-to-video continuation; new non-Seedance continuations default to LTX 2.5. ' +
10
10
  'For Seedance base clips, the tool extracts a trailing reference segment and renders a video-to-video continuation. ' +
11
11
  'Returns both the standalone new segment and a spliced composite (base + new segment).' +
12
12
  ' Use when the user asks to "make it longer", "extend the video", "add another N seconds", "continue the scene", "add an outro/bumper to the end", etc.' +
@@ -35,9 +35,8 @@ exports.definition = {
35
35
  },
36
36
  videoModel: {
37
37
  type: 'string',
38
- enum: ['auto', 'ltx23', 'seedance2', 'seedance2-mini', 'seedance2-fast', 'seedance2-5'],
39
- description: 'Which model to use for the new segment. Default: "auto" — detect from the base video\'s producer (Seedance base → Seedance, otherwise LTX-2.3). ' +
40
- 'Override only when the user explicitly requests a different model.',
38
+ enum: ['auto', 'ltx25', 'ltx23', 'seedance2', 'seedance2-mini', 'seedance2-fast', 'seedance2-5'],
39
+ description: 'Which model to use for the new segment. Default: "auto" — preserve Seedance for a Seedance base and otherwise use LTX 2.5. Use ltx23 only for explicit rollback. Override only when the user explicitly requests a different model.',
41
40
  },
42
41
  keepOriginalAudio: {
43
42
  type: 'boolean',
@@ -1 +1 @@
1
- {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/extend-video/definition.ts"],"names":[],"mappings":";;;AAaa,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,gVAAgV;YAChV,uGAAuG;YACvG,qHAAqH;YACrH,uFAAuF;YACvF,wJAAwJ;YACxJ,qMAAqM;YACrM,4GAA4G;YAC5G,6GAA6G;QAC/G,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,yIAAyI;wBACzI,uLAAuL;wBACvL,2KAA2K;iBAC9K;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,+IAA+I;oBACjJ,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,iFAAiF;wBACjF,6LAA6L;iBAChM;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,CAAC;oBACvF,WAAW,EACT,kJAAkJ;wBAClJ,oEAAoE;iBACvE;gBACD,iBAAiB,EAAE;oBACjB,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,4OAA4O;iBAC/O;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/extend-video/definition.ts"],"names":[],"mappings":";;;AAaa,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,gVAAgV;YAChV,8JAA8J;YAC9J,qHAAqH;YACrH,uFAAuF;YACvF,wJAAwJ;YACxJ,qMAAqM;YACrM,4GAA4G;YAC5G,6GAA6G;QAC/G,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,yIAAyI;wBACzI,uLAAuL;wBACvL,2KAA2K;iBAC9K;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,+IAA+I;oBACjJ,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,iFAAiF;wBACjF,6LAA6L;iBAChM;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,CAAC;oBAChG,WAAW,EACT,qOAAqO;iBACxO;gBACD,iBAAiB,EAAE;oBACjB,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,4OAA4O;iBAC/O;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../src/tools/definitions/generate-video/definition.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAUlD,eAAO,MAAM,UAAU,EAAE,cA+IxB,CAAC"}
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../src/tools/definitions/generate-video/definition.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAUlD,eAAO,MAAM,UAAU,EAAE,cAiJxB,CAAC"}
@@ -7,7 +7,7 @@ exports.definition = {
7
7
  type: "function",
8
8
  function: {
9
9
  name: "generate_video",
10
- description: 'Generate a video from text or Seedance multimodal references. LTX 2.3 generates audio natively (dialogue, sounds, ambient music) — describe audio in the prompt. If the user provides exact speech, include it in double quotes; if they only imply speech, describe the performance and voice without inventing quoted words. Never use placeholders such as "while speaking", "dialogue begins", "explaining", or "final line lands". PERSONA VOICE: Only when the user explicitly asks to use/clone a registered persona voice clip, call resolve_personas first, then set voicePersonaName to select which persona\'s voice clip to use. Do not set voicePersonaName for ordinary character dialogue or inferred voices; describe those voices in the prompt for native LTX audio. For cross-persona narration (e.g. David narrates a video of Aleyna), resolve both personas and set voicePersonaName to the narrator only if that registered voice was requested. Persona voice requires ltx23 (WAN 2.2 does not support voice identity). For non-Seedance syncing to a specific song or audio track, use sound_to_video instead. For non-Seedance animation from a locked source photo, use animate_photo. Do NOT use for My Personas unless generating a Seedance reference-based video — standard persona videos use resolve_personas → edit_image → animate_photo. SEEDANCE DEFAULT: For seedance2, seedance2-mini, seedance2-fast, or seedance2-5, default to exactly one video (4-15s on 2.0/Mini/Fast, 4-30s on seedance2-5) unless the user explicitly asks for multiple separate outputs. Multiple beats, shots, or scene descriptions in one up-to-15s Seedance prompt are still one video. If the user requests one continuous Seedance video longer than 15s, prefer seedance2-5, which renders up to 30s in a single call; beyond 30s (or on 2.0/Mini/Fast) preserve the requested total duration in the prompt/context and let chat orchestration split it into supported segment renders and stitch them instead of clamping it to a short excerpt. Uploaded/generated storyboard, shot-sheet, or trailer-concept images used as Seedance references should become one Seedance generate_video call by default; do not extract panels with edit_image and do not animate the storyboard sheet with LTX unless the user explicitly asks for separate non-Seedance clips. Seedance loose image, video, and audio references go through this tool; do not use animate_photo sourceImageIndex/frameRole/endImageIndex for Seedance. If an uploaded video is the source clip to transform, upscale, enhance, restyle, or remaster, use video_to_video with controlMode="seedance-v2v" instead of generate_video referenceVideoIndices. If the uploaded audio is the primary sync target, lip-sync target, or requested as sound-to-video/audio-sync, use sound_to_video with videoModel="seedance2-mini" instead of this tool unless the user asks for full Seedance. Use referenceAudioIndices here only when audio is a loose reference under an image/video-anchored Seedance shot. For Seedance, every image — first frame, last frame, or loose reference — is passed through referenceImageIndices (auto-uploaded as referenceImageUrls). Anchor frame intent in the prompt with @Image tags such as "Use @Image1 as the opening shot reference. Begin the video with a composition, subject placement, lighting, mood, and camera framing that closely match @Image1." (or @Image2 as the final shot reference). For seamless-loop or "first frame and last frame identical" requests with a single uploaded image, anchor it explicitly as both: "Use @Image1 as both the first frame and last frame so the video loops cleanly back to the opening composition." Assign each useful @Image/@Video/@Audio tag a role. APPROVED STORYBOARD PRODUCTION: When the user asks for a production workflow from an approved storyboard, the chat orchestrator should use the durable CampaignStoryboard contract: render the composite board, audit it, generate per-scene GPT Image 2 keyframes, then render Seedance scene clips and stitch them. Do not replace that with a generic storyboard-reference video unless the user asks for a fast draft. PARTIAL VIDEO EDITS: Do NOT call generate_video to re-render an existing rendered/uploaded video just to change part of it (the bumper, the intro, the end card, a single scene, the last few seconds, etc.). Use replace_video_segment for that — it preserves the unchanged portion, keeps the original audio outside the replaced window, and costs far less. Likewise use extend_video to add new time to the end without rewriting the rest. If the request is vague, ask about vision/mood/style first. Only call once you have clear creative intent.',
10
+ description: 'Generate a video from text or Seedance multimodal references. LTX 2.5 is the default and generates audio natively; LTX 2.3 remains available as rollback and also generates audio natively (dialogue, sounds, ambient music) — describe audio in the prompt. If the user provides exact speech, include it in double quotes; if they only imply speech, describe the performance and voice without inventing quoted words. Never use placeholders such as "while speaking", "dialogue begins", "explaining", or "final line lands". PERSONA VOICE: Only when the user explicitly asks to use/clone a registered persona voice clip, call resolve_personas first, then set voicePersonaName to select which persona\'s voice clip to use. Do not set voicePersonaName for ordinary character dialogue or inferred voices; describe those voices in the prompt for native LTX audio. For cross-persona narration (e.g. David narrates a video of Aleyna), resolve both personas and set voicePersonaName to the narrator only if that registered voice was requested. Persona voice requires ltx23 because LTX 2.5 has no compatible ID-LoRA and WAN 2.2 does not support voice identity. For non-Seedance syncing to a specific song or audio track, use sound_to_video instead. For non-Seedance animation from a locked source photo, use animate_photo. Do NOT use for My Personas unless generating a Seedance reference-based video — standard persona videos use resolve_personas → edit_image → animate_photo. SEEDANCE DEFAULT: For seedance2, seedance2-mini, seedance2-fast, or seedance2-5, default to exactly one video (4-15s on 2.0/Mini/Fast, 4-30s on seedance2-5) unless the user explicitly asks for multiple separate outputs. Multiple beats, shots, or scene descriptions in one up-to-15s Seedance prompt are still one video. If the user requests one continuous Seedance video longer than 15s, prefer seedance2-5, which renders up to 30s in a single call; beyond 30s (or on 2.0/Mini/Fast) preserve the requested total duration in the prompt/context and let chat orchestration split it into supported segment renders and stitch them instead of clamping it to a short excerpt. Uploaded/generated storyboard, shot-sheet, or trailer-concept images used as Seedance references should become one Seedance generate_video call by default; do not extract panels with edit_image and do not animate the storyboard sheet with LTX unless the user explicitly asks for separate non-Seedance clips. Seedance loose image, video, and audio references go through this tool; do not use animate_photo sourceImageIndex/frameRole/endImageIndex for Seedance. If an uploaded video is the source clip to transform, upscale, enhance, restyle, or remaster, use video_to_video with controlMode="seedance-v2v" instead of generate_video referenceVideoIndices. If the uploaded audio is the primary sync target, lip-sync target, or requested as sound-to-video/audio-sync, use sound_to_video with videoModel="seedance2-mini" instead of this tool unless the user asks for full Seedance. Use referenceAudioIndices here only when audio is a loose reference under an image/video-anchored Seedance shot. For Seedance, every image — first frame, last frame, or loose reference — is passed through referenceImageIndices (auto-uploaded as referenceImageUrls). Anchor frame intent in the prompt with @Image tags such as "Use @Image1 as the opening shot reference. Begin the video with a composition, subject placement, lighting, mood, and camera framing that closely match @Image1." (or @Image2 as the final shot reference). For seamless-loop or "first frame and last frame identical" requests with a single uploaded image, anchor it explicitly as both: "Use @Image1 as both the first frame and last frame so the video loops cleanly back to the opening composition." Assign each useful @Image/@Video/@Audio tag a role. APPROVED STORYBOARD PRODUCTION: When the user asks for a production workflow from an approved storyboard, the chat orchestrator should use the durable CampaignStoryboard contract: render the composite board, audit it, generate per-scene GPT Image 2 keyframes, then render Seedance scene clips and stitch them. Do not replace that with a generic storyboard-reference video unless the user asks for a fast draft. PARTIAL VIDEO EDITS: Do NOT call generate_video to re-render an existing rendered/uploaded video just to change part of it (the bumper, the intro, the end card, a single scene, the last few seconds, etc.). Use replace_video_segment for that — it preserves the unchanged portion, keeps the original audio outside the replaced window, and costs far less. Likewise use extend_video to add new time to the end without rewriting the rest. If the request is vague, ask about vision/mood/style first. Only call once you have clear creative intent.',
11
11
  parameters: {
12
12
  type: "object",
13
13
  properties: {
@@ -41,7 +41,7 @@ For complex/creative scenes (characters, dialogue, skits): capture the full crea
41
41
 
42
42
  AVOID: Vague prompts, too many characters at once, conflicting lighting logic, readable text or logos, abstract emotions with no visible behavior, rigid numeric constraints (exact angles, counts, speeds).
43
43
 
44
- NON-SEEDANCE POSITIVE CONSTRAINTS: For videoModel="ltx23" or "wan22", prompt is a positive prompt. Translate user avoid/no/don't constraints into affirmative production constraints instead of copying negative phrasing. Preserve exact quoted visible text or dialogue when the user explicitly requests it; keep surrounding surfaces blank.
44
+ NON-SEEDANCE POSITIVE CONSTRAINTS: For videoModel="ltx25", "ltx23", or "wan22", prompt is a positive prompt. Translate user avoid/no/don't constraints into affirmative production constraints instead of copying negative phrasing. Preserve exact quoted visible text or dialogue when the user explicitly requests it; keep surrounding surfaces blank.
45
45
 
46
46
  BATCH VARIATIONS: When numberOfVariations > 1, use Dynamic Prompt syntax. This is one Sogni project with multiple jobs, so prefer it when all outputs share the same references, model, duration, dimensions, and generation parameters and only prompt text varies. Lock in any camera/subject/style the user specified, vary the rest. Example: "slow dolly in on a city street {at dawn with golden light|during a rainstorm|at night with neon reflections}".`,
47
47
  },
@@ -66,6 +66,7 @@ BATCH VARIATIONS: When numberOfVariations > 1, use Dynamic Prompt syntax. This i
66
66
  videoModel: {
67
67
  type: "string",
68
68
  enum: [
69
+ "ltx25",
69
70
  "ltx23",
70
71
  "wan22",
71
72
  "seedance2",
@@ -79,7 +80,8 @@ BATCH VARIATIONS: When numberOfVariations > 1, use Dynamic Prompt syntax. This i
79
80
  "happyhorse-1.1-r2v",
80
81
  "minimax-h3-r2v",
81
82
  ],
82
- description: 'Video model. "ltx23" (default): LTX 2.3 with native audio. "wan22": quick simple motion without audio. "minimax-h3-t2v": standard 20-step MiniMax H3 text-to-video; "minimax-h3-t2v-turbo": 4-step Turbo text-to-video. Both use native audio, fixed 24fps, 5.17-15.08s, and a 768p-class 32px-grid canvas; use animate_photo for H3 image-conditioned modes. Base and Turbo T2V/I2V/FLF2V prompts use the exact ordered fields integrated_multimodal_description, overall_soundscape, and non_diegetic_music; I2V/FLF2V prepend the official alignment line. "minimax-h3-r2v": MiniMax H3 reference-to-video with up to 9 images, 3 videos, and 3 audios (12 files total); at least one visual reference (image or video) is required and audio alone is invalid. Ref2VA has no Turbo variant. Select references with referenceImageIndices/referenceVideoIndices/referenceAudioIndices and address them with the official <Subject N>/<Picture N>/<Video N>/<Audio N> semantics. Seedance quality is selected only by model: use "seedance2-mini" for Seedance 2.0 Mini or faster/lower-cost 720p iteration, use "seedance2-fast" only when the user explicitly asks for Seedance Fast / seedance-fast, and use "seedance2" for the full Seedance 2.0 model, explicit non-fast/full-quality requests, 1080p/4K requests, or generated/uploaded storyboard images unless the user explicitly asks for a draft, Mini, or the fast model. Do not use Default Media Quality Fast/HQ/Pro or targetResolution to represent Seedance quality. "seedance2-5": Seedance 2.5, the newest Seedance generation — 480p and 720p ONLY (it cannot render 1080p or 4K), 4-30s per clip at a fixed 24 fps, native audio, first-and-last-frame conditioning, and a much larger reference budget than the 2.0 family: up to 30 images, 10 videos, and 10 audios, with no more than 30 reference media files in total. Choose "seedance2-5" when the user asks for Seedance 2.5, wants a single continuous Seedance clip longer than 15s (2.5 renders up to 30s in one call instead of being split and stitched), or wants a first-and-last-frame Seedance transition. Keep "seedance2" for 1080p/4K requests, which Seedance 2.5 cannot satisfy. ' +
83
+ description: '"ltx25" (default): LTX 2.5 with native audio; Fast/HQ use the official distilled INT8 workflow and Pro uses dev INT8 with the required official distilled Speed LoRA in its two-stage refinement. ' +
84
+ 'Video model. "ltx23": LTX 2.3 rollback with native audio. "wan22": quick simple motion without audio. "minimax-h3-t2v": standard 20-step MiniMax H3 text-to-video; "minimax-h3-t2v-turbo": 4-step Turbo text-to-video. Both use native audio, fixed 24fps, 5.17-15.08s, and a 768p-class 32px-grid canvas; use animate_photo for H3 image-conditioned modes. Base and Turbo T2V/I2V/FLF2V prompts use the exact ordered fields integrated_multimodal_description, overall_soundscape, and non_diegetic_music; I2V/FLF2V prepend the official alignment line. "minimax-h3-r2v": MiniMax H3 reference-to-video with up to 9 images, 3 videos, and 3 audios (12 files total); at least one visual reference (image or video) is required and audio alone is invalid. Ref2VA has no Turbo variant. Select references with referenceImageIndices/referenceVideoIndices/referenceAudioIndices and address them with the official <Subject N>/<Picture N>/<Video N>/<Audio N> semantics. Seedance quality is selected only by model: use "seedance2-mini" for Seedance 2.0 Mini or faster/lower-cost 720p iteration, use "seedance2-fast" only when the user explicitly asks for Seedance Fast / seedance-fast, and use "seedance2" for the full Seedance 2.0 model, explicit non-fast/full-quality requests, 1080p/4K requests, or generated/uploaded storyboard images unless the user explicitly asks for a draft, Mini, or the fast model. Do not use Default Media Quality Fast/HQ/Pro or targetResolution to represent Seedance quality. "seedance2-5": Seedance 2.5, the newest Seedance generation — 480p and 720p ONLY (it cannot render 1080p or 4K), 4-30s per clip at a fixed 24 fps, native audio, first-and-last-frame conditioning, and a much larger reference budget than the 2.0 family: up to 30 images, 10 videos, and 10 audios, with no more than 30 reference media files in total. Choose "seedance2-5" when the user asks for Seedance 2.5, wants a single continuous Seedance clip longer than 15s (2.5 renders up to 30s in one call instead of being split and stitched), or wants a first-and-last-frame Seedance transition. Keep "seedance2" for 1080p/4K requests, which Seedance 2.5 cannot satisfy. ' +
83
85
  toolPromptMarkers_js_1.SEEDANCE_TOOL_MULTIMODAL_REFERENCE_GUIDANCE +
84
86
  ' ' +
85
87
  toolPromptMarkers_js_1.HAPPYHORSE_GENERATE_VIDEO_MODEL_DESCRIPTION,
@@ -127,7 +129,7 @@ BATCH VARIATIONS: When numberOfVariations > 1, use Dynamic Prompt syntax. This i
127
129
  },
128
130
  voicePersonaName: {
129
131
  type: "string",
130
- description: 'ONLY when the user explicitly requests a registered/reference persona voice clip. Name of the persona whose voice clip to use as referenceAudioIdentity. Set this when the narrator/speaker is a different persona than the one described in the video (e.g. "David" narrates a scene featuring Aleyna), or to explicitly select a requested voice when multiple personas with voice clips are resolved. Do NOT set this for ordinary character dialogue, inferred voices, or personas without a voice clip — LTX 2.3 generates voice natively from the text prompt instead. Requires ltx23.',
132
+ description: 'ONLY when the user explicitly requests a registered/reference persona voice clip. Name of the persona whose voice clip to use as referenceAudioIdentity. Set this when the narrator/speaker is a different persona than the one described in the video (e.g. "David" narrates a scene featuring Aleyna), or to explicitly select a requested voice when multiple personas with voice clips are resolved. Do NOT set this for ordinary character dialogue, inferred voices, or personas without a voice clip — LTX 2.3 generates voice natively from the text prompt instead. Requires ltx23 because LTX 2.5 has no compatible ID-LoRA.',
131
133
  },
132
134
  },
133
135
  required: ["prompt"],
@@ -1 +1 @@
1
- {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/generate-video/definition.ts"],"names":[],"mappings":";;;AAMA,kFAMiD;AACjD,sDAAmE;AAEtD,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,uiJAAuiJ;QACziJ,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;;EAErB,oDAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;kcA4Bma;iBACzb;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,yDAAkC;iBAChD;gBACD,oBAAoB,EAAE;oBACpB,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,wEAAiD;iBAC/D;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,iUAAiU;oBACnU,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,8OAA8O;iBACjP;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,OAAO;wBACP,OAAO;wBACP,WAAW;wBACX,gBAAgB;wBAChB,gBAAgB;wBAChB,aAAa;wBACb,gBAAgB;wBAChB,sBAAsB;wBACtB,oBAAoB;wBACpB,oBAAoB;wBACpB,oBAAoB;wBACpB,gBAAgB;qBACjB;oBACD,WAAW,EACT,kmEAAkmE;wBAClmE,kEAA2C;wBAC3C,GAAG;wBACH,kEAA2C;iBAC9C;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,iQAAiQ;iBACpQ;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,yVAAyV;iBAC5V;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,uWAAuW;iBAC1W;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,4TAA4T;iBAC/T;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,i/BAAi/B;iBACp/B;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,urBAAurB;iBAC1rB;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,k6BAAk6B;iBACr6B;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,4XAA4X;oBAC9X,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAwB;iBACtC;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,8jBAA8jB;iBACjkB;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/generate-video/definition.ts"],"names":[],"mappings":";;;AAMA,kFAMiD;AACjD,sDAAmE;AAEtD,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,+qJAA+qJ;QACjrJ,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;;EAErB,oDAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;kcA4Bma;iBACzb;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,yDAAkC;iBAChD;gBACD,oBAAoB,EAAE;oBACpB,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,wEAAiD;iBAC/D;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,iUAAiU;oBACnU,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,8OAA8O;iBACjP;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,OAAO;wBACP,OAAO;wBACP,OAAO;wBACP,WAAW;wBACX,gBAAgB;wBAChB,gBAAgB;wBAChB,aAAa;wBACb,gBAAgB;wBAChB,sBAAsB;wBACtB,oBAAoB;wBACpB,oBAAoB;wBACpB,oBAAoB;wBACpB,gBAAgB;qBACjB;oBACD,WAAW,EACT,oMAAoM;wBACpM,imEAAimE;wBACjmE,kEAA2C;wBAC3C,GAAG;wBACH,kEAA2C;iBAC9C;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,iQAAiQ;iBACpQ;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,yVAAyV;iBAC5V;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,uWAAuW;iBAC1W;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,4TAA4T;iBAC/T;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,i/BAAi/B;iBACp/B;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,urBAAurB;iBAC1rB;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,k6BAAk6B;iBACr6B;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,4XAA4X;oBAC9X,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAwB;iBACtC;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,wmBAAwmB;iBAC3mB;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC"}
@@ -13,7 +13,7 @@ exports.definition = {
13
13
  'PREFER this over re-running generate_video / animate_photo on the original prompt when the user only wants part of the video changed — re-rendering wastes credits, loses the unchanged sections, and breaks the original timing. ' +
14
14
  'If the user does not specify the exact start/end seconds (e.g. "replace the bumper at the end"), call analyze_video first to identify the correct window, OR derive it from the storyboard timing already in the conversation (e.g. last beat\'s time range). Do not guess wildly — pick a sensible bumper/end-card window such as the final 1-3 seconds when the storyboard says scene_07 is 14-15s. ' +
15
15
  'Returns both the standalone replacement clip and the spliced composite. ' +
16
- 'For LTX-2.3 and Wan 2.2 base videos the tool locks both ends with first/last-frame keyframes for seamless edges. ' +
16
+ 'For LTX 2.5/2.3 and Wan 2.2 base videos the tool locks both ends with first/last-frame keyframes for seamless edges; new non-Seedance LTX segments default to 2.5. ' +
17
17
  'For Seedance base videos the tool uses the original window as a reference for video-to-video transformation. If a requested window is shorter than the selected model\'s native render minimum, the handler renders a slightly larger handled clip, trims the result back to the requested seconds, then splices exactly that requested range. ' +
18
18
  'By default the regenerated segment\'s audio replaces the original audio in the [startSeconds, endSeconds] window, so new motion stays in sync with new sound. Pass keepOriginalAudio=true only when the user explicitly asks to keep the existing audio — phrasings like "keep the audio", "leave the original audio", "preserve the music/score/dialogue", "don\'t change the audio". If the user uses an ambiguous phrasing such as "with the audio" (which could mean either "with the original audio kept" or "with new audio"), DO NOT call this tool yet — first ask the user whether to preserve or replace the original audio in the replaced window. When replacementVideoIndex is set, the existing replacement clip\'s own audio is used; pass keepOriginalAudio=true only when the user explicitly wants the base video audio to stay over the replacement window.',
19
19
  parameters: {
@@ -51,8 +51,8 @@ exports.definition = {
51
51
  },
52
52
  videoModel: {
53
53
  type: 'string',
54
- enum: ['auto', 'ltx23', 'wan22', 'seedance2', 'seedance2-mini', 'seedance2-fast', 'seedance2-5'],
55
- description: 'Which model to use for the new segment. Default: "auto" — detect from the base video\'s producer (Seedance base → Seedance, Wan base → Wan 2.2, otherwise LTX-2.3). Override only when the user explicitly requests a different model.',
54
+ enum: ['auto', 'ltx25', 'ltx23', 'wan22', 'seedance2', 'seedance2-mini', 'seedance2-fast', 'seedance2-5'],
55
+ description: 'Which model to use for the new segment. Default: "auto" — preserve Seedance or WAN for matching base clips and otherwise use LTX 2.5. Use ltx23 only for explicit rollback. Override only when the user explicitly requests a different model.',
56
56
  },
57
57
  keepOriginalAudio: {
58
58
  type: 'boolean',
@@ -1 +1 @@
1
- {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/replace-video-segment/definition.ts"],"names":[],"mappings":";;;AAuBa,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,scAAsc;YACtc,6uBAA6uB;YAC7uB,mNAAmN;YACnN,yTAAyT;YACzT,+lBAA+lB;YAC/lB,oOAAoO;YACpO,wYAAwY;YACxY,0EAA0E;YAC1E,mHAAmH;YACnH,iVAAiV;YACjV,g1BAAg1B;QACl1B,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,mWAAmW;iBACtW;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,qtBAAqtB;iBACxtB;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,iSAAiS;iBACpS;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,4UAA4U;iBAC/U;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,qiBAAqiB;iBACxiB;gBACD,uBAAuB,EAAE;oBACvB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,WAAW,EACT,wdAAwd;iBAC3d;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,WAAW,EACT,mbAAmb;iBACtb;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,CAAC;oBAChG,WAAW,EACT,wOAAwO;iBAC3O;gBACD,iBAAiB,EAAE;oBACjB,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,ieAAie;iBACpe;aACF;YACD,QAAQ,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC;SACzC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/replace-video-segment/definition.ts"],"names":[],"mappings":";;;AAuBa,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,scAAsc;YACtc,6uBAA6uB;YAC7uB,mNAAmN;YACnN,yTAAyT;YACzT,+lBAA+lB;YAC/lB,oOAAoO;YACpO,wYAAwY;YACxY,0EAA0E;YAC1E,qKAAqK;YACrK,iVAAiV;YACjV,g1BAAg1B;QACl1B,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,mWAAmW;iBACtW;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,qtBAAqtB;iBACxtB;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,iSAAiS;iBACpS;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,4UAA4U;iBAC/U;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,qiBAAqiB;iBACxiB;gBACD,uBAAuB,EAAE;oBACvB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,WAAW,EACT,wdAAwd;iBAC3d;gBACD,qBAAqB,EAAE;oBACrB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,WAAW,EACT,mbAAmb;iBACtb;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,CAAC;oBACzG,WAAW,EACT,gPAAgP;iBACnP;gBACD,iBAAiB,EAAE;oBACjB,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,ieAAie;iBACpe;aACF;YACD,QAAQ,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC;SACzC;KACF;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../src/tools/definitions/sound-to-video/definition.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQlD,eAAO,MAAM,UAAU,EAAE,cA+FxB,CAAC"}
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../src/tools/definitions/sound-to-video/definition.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQlD,eAAO,MAAM,UAAU,EAAE,cAqGxB,CAAC"}
@@ -7,7 +7,7 @@ exports.definition = {
7
7
  type: "function",
8
8
  function: {
9
9
  name: "sound_to_video",
10
- description: 'Generate video synchronized to audio. Use when the user has uploaded an audio file (mp3, wav, m4a, flac) and the audio is the primary sync target, especially uploaded-audio-only workflows. Also use after generate_music ("turn that song into a video", "make a music video from that"). Auto-detects generated audio from generate_music if no audio file is uploaded. Seedance animate_photo/generate_video can also attach uploaded audio as a loose @Audio reference when an image or video reference anchors the request; use this tool instead when the soundtrack itself should drive the video. If the user provides a reference image, use ltx23-ia2v; for lip-sync with a face image, use wan-s2v; if no image, use ltx23-a2v. If the user wants dialogue/audio WITHOUT pre-existing audio, use animate_photo instead (LTX 2.3 generates audio natively). Note: Persona voice clips from resolve_personas are NOT used by this tool — for persona voice identity in video, use animate_photo or generate_video instead. LONG AUDIO ON SEEDANCE: Seedance 2.0, Mini, and Fast cap each clip at 15s; Seedance 2.5 renders up to 30s in one call, so prefer seedance2-5 for 16-30s audio instead of splitting. When the user uploads audio longer than the per-clip cap of the selected model and Seedance is selected (seedance2, seedance2-mini, seedance2-fast, or seedance2-5), do NOT clamp to 15s and drop the rest — split the run into multiple sound_to_video calls in the same turn (one per 15s segment, so a 20s audio becomes two clips: audioStart=0 duration=15, then audioStart=15 duration=5) and finish with a single stitch_video call referencing the resulting clip indices in order with audioIndex pointing at the same uploaded audio so the stitched output carries the full original soundtrack. LTX/WAN models accept up to 20s per clip, so single-call is fine for them.',
10
+ description: 'Generate video synchronized to audio. Use when the user has uploaded an audio file (mp3, wav, m4a, flac) and the audio is the primary sync target, especially uploaded-audio-only workflows. Also use after generate_music ("turn that song into a video", "make a music video from that"). Auto-detects generated audio from generate_music if no audio file is uploaded. Seedance animate_photo/generate_video can also attach uploaded audio as a loose @Audio reference when an image or video reference anchors the request; use this tool instead when the soundtrack itself should drive the video. If the user provides a reference image, use ltx25-ia2v by default (ltx23-ia2v is rollback); for lip-sync with a face image, use wan-s2v; if no image, use ltx25-a2v by default (ltx23-a2v is rollback). If the user wants dialogue/audio WITHOUT pre-existing audio, use animate_photo instead (LTX 2.5 and LTX 2.3 generate audio natively). Note: Persona voice clips from resolve_personas are NOT used by this tool — for persona voice identity in video, use animate_photo or generate_video with videoModel="ltx23" because LTX 2.5 has no compatible ID-LoRA. LONG AUDIO ON SEEDANCE: Seedance 2.0, Mini, and Fast cap each clip at 15s; Seedance 2.5 renders up to 30s in one call, so prefer seedance2-5 for 16-30s audio instead of splitting. When the user uploads audio longer than the per-clip cap of the selected model and Seedance is selected (seedance2, seedance2-mini, seedance2-fast, or seedance2-5), do NOT clamp to 15s and drop the rest — split the run into multiple sound_to_video calls in the same turn (one per 15s segment, so a 20s audio becomes two clips: audioStart=0 duration=15, then audioStart=15 duration=5) and finish with a single stitch_video call referencing the resulting clip indices in order with audioIndex pointing at the same uploaded audio so the stitched output carries the full original soundtrack. LTX/WAN models accept up to 20s per clip, so single-call is fine for them.',
11
11
  parameters: {
12
12
  type: "object",
13
13
  properties: {
@@ -33,7 +33,7 @@ LTX VOCABULARY: camera (tracking, dolly, pan, tilt, handheld, static frame), lig
33
33
 
34
34
  AVOID: Vague prompts, too many competing visual elements, abstract descriptions without visible behavior, rigid numeric constraints, readable text or logos. QUOTING RULE: ONLY use double quotes for spoken dialogue. Never quote on-screen text, overlay text, titles, captions, signs, or any visual text — describe them without quotes.
35
35
 
36
- NON-SEEDANCE POSITIVE CONSTRAINTS: For ltx23-ia2v, ltx23-a2v, and wan-s2v, prompt is a positive prompt. Translate user avoid/no/don't constraints into affirmative production constraints instead of copying negative phrasing. Preserve exact quoted visible text or dialogue when the user explicitly requests it; keep surrounding surfaces blank.
36
+ NON-SEEDANCE POSITIVE CONSTRAINTS: For ltx25-ia2v, ltx25-a2v, ltx23-ia2v, ltx23-a2v, and wan-s2v, prompt is a positive prompt. Translate user avoid/no/don't constraints into affirmative production constraints instead of copying negative phrasing. Preserve exact quoted visible text or dialogue when the user explicitly requests it; keep surrounding surfaces blank.
37
37
 
38
38
  BATCH VARIATIONS: When numberOfVariations > 1, use Dynamic Prompt syntax to vary the visual interpretation while keeping audio sync intent consistent. This is one Sogni project with multiple jobs, so prefer it when all outputs share the same audio source/window, image source, model, duration, dimensions, and parameters and only prompt text varies. Example: "{abstract neon visualization|nature scene with swaying trees|urban street with rain} synced to the beat".`,
39
39
  },
@@ -41,6 +41,10 @@ BATCH VARIATIONS: When numberOfVariations > 1, use Dynamic Prompt syntax to vary
41
41
  type: "boolean",
42
42
  description: toolPromptMarkers_js_1.SEEDANCE_EXPAND_PROMPT_DESCRIPTION,
43
43
  },
44
+ negativePrompt: {
45
+ type: "string",
46
+ description: "Advanced LTX 2.5/LTX 2.3/WAN only. The LTX A2V and IA2V workflows accept this separate negative prompt. Use it only when the user explicitly asks to set one. Do not set for Seedance.",
47
+ },
44
48
  audioSourceIndex: {
45
49
  type: "number",
46
50
  description: "Index of the uploaded audio file to use (0-based, from uploaded files list). If only one audio file is uploaded, use 0. If no audio was uploaded but generate_music was used earlier, omit this — the tool will automatically find the generated audio.",
@@ -62,8 +66,9 @@ BATCH VARIATIONS: When numberOfVariations > 1, use Dynamic Prompt syntax to vary
62
66
  },
63
67
  videoModel: {
64
68
  type: "string",
65
- enum: ["wan-s2v", "seedance2", "seedance2-mini", "seedance2-fast", "seedance2-5", "ltx23-ia2v", "ltx23-a2v"],
66
- description: 'Video model. "ltx23-ia2v" (default when image available): LTX 2.3 image+audio to video, audio-reactive with a reference image; Fast/HQ use the distilled 8-step worker and Default Media Quality Pro uses the non-distilled dev worker. "ltx23-a2v" (default when no image): LTX 2.3 audio-only to video, no image needed, creates video purely from text prompt + audio with the same quality-tier routing. "wan-s2v": WAN 2.2 sound-to-video, best for lip-sync with a face image, fast 4-step. "seedance2": full Seedance 2.0 audio-reference video, 4-15s. "seedance2-mini": Seedance 2.0 Mini, 720p cap, fastest/lower-cost Seedance option. "seedance2-fast": Seedance 2.0 Fast legacy option. Seedance quality is selected only by this model value: pick "seedance2-mini" for faster/lower-cost drafts or explicit Mini requests, pick "seedance2-fast" only when the user says Seedance Fast / seedance-fast, and pick "seedance2" for full/non-fast Seedance or 1080p/4K. Do not infer the Seedance model from Default Media Quality Fast/HQ/Pro. "seedance2-5": Seedance 2.5, the newest Seedance generation — 480p and 720p ONLY (it cannot render 1080p or 4K), 4-30s per clip at a fixed 24 fps, native audio, first-and-last-frame conditioning, and a much larger reference budget than the 2.0 family: up to 30 images, 10 videos, and 10 audios, with no more than 30 reference media files in total. Choose "seedance2-5" when the user asks for Seedance 2.5, wants a single continuous Seedance clip longer than 15s (2.5 renders up to 30s in one call instead of being split and stitched), or wants a first-and-last-frame Seedance transition. Keep "seedance2" for 1080p/4K requests, which Seedance 2.5 cannot satisfy. ' +
69
+ enum: ["wan-s2v", "seedance2", "seedance2-mini", "seedance2-fast", "seedance2-5", "ltx25-ia2v", "ltx25-a2v", "ltx23-ia2v", "ltx23-a2v"],
70
+ description: '"ltx25-ia2v" (default with image) and "ltx25-a2v" (default without image): LTX 2.5 image+audio and audio-only modes; Fast/HQ use distilled INT8 and Pro uses dev INT8 with its required official Speed LoRA refinement. ' +
71
+ 'Video model. "ltx23-ia2v" (rollback with image): LTX 2.3 image+audio to video, audio-reactive with a reference image; Fast/HQ use the distilled 8-step worker and Default Media Quality Pro uses the non-distilled dev worker. "ltx23-a2v" (rollback without image): LTX 2.3 audio-only to video, no image needed, creates video purely from text prompt + audio with the same quality-tier routing. "wan-s2v": WAN 2.2 sound-to-video, best for lip-sync with a face image, fast 4-step. "seedance2": full Seedance 2.0 audio-reference video, 4-15s. "seedance2-mini": Seedance 2.0 Mini, 720p cap, fastest/lower-cost Seedance option. "seedance2-fast": Seedance 2.0 Fast legacy option. Seedance quality is selected only by this model value: pick "seedance2-mini" for faster/lower-cost drafts or explicit Mini requests, pick "seedance2-fast" only when the user says Seedance Fast / seedance-fast, and pick "seedance2" for full/non-fast Seedance or 1080p/4K. Do not infer the Seedance model from Default Media Quality Fast/HQ/Pro. "seedance2-5": Seedance 2.5, the newest Seedance generation — 480p and 720p ONLY (it cannot render 1080p or 4K), 4-30s per clip at a fixed 24 fps, native audio, first-and-last-frame conditioning, and a much larger reference budget than the 2.0 family: up to 30 images, 10 videos, and 10 audios, with no more than 30 reference media files in total. Choose "seedance2-5" when the user asks for Seedance 2.5, wants a single continuous Seedance clip longer than 15s (2.5 renders up to 30s in one call instead of being split and stitched), or wants a first-and-last-frame Seedance transition. Keep "seedance2" for 1080p/4K requests, which Seedance 2.5 cannot satisfy. ' +
67
72
  toolPromptMarkers_js_1.SEEDANCE_TOOL_AUDIO_REFERENCE_GUIDANCE +
68
73
  ' Omit to auto-select based on whether an image is present.',
69
74
  },
@@ -1 +1 @@
1
- {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/sound-to-video/definition.ts"],"names":[],"mappings":";;;AAMA,kFAIiD;AACjD,sDAAmE;AAEtD,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,izDAAizD;QACnzD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;;EAErB,uDAAgC;;;;;;;;;;;;;;;;;;;;kdAoBgb;iBACzc;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,yDAAkC;iBAChD;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,yPAAyP;iBAC5P;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,0OAA0O;iBAC7O;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,+OAA+O;oBACjP,OAAO,EAAE,CAAC;iBACX;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,seAAse;oBACxe,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,CAAC;oBAC5G,WAAW,EACT,qpDAAqpD;wBACrpD,6DAAsC;wBACtC,4DAA4D;iBAC/D;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,mQAAmQ;iBACtQ;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,iSAAiS;oBACnS,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,6YAA6Y;iBAChZ;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAwB;iBACtC;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/sound-to-video/definition.ts"],"names":[],"mappings":";;;AAMA,kFAIiD;AACjD,sDAAmE;AAEtD,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,67DAA67D;QAC/7D,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;;EAErB,uDAAgC;;;;;;;;;;;;;;;;;;;;kdAoBgb;iBACzc;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,yDAAkC;iBAChD;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,wLAAwL;iBAC3L;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,yPAAyP;iBAC5P;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,0OAA0O;iBAC7O;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,+OAA+O;oBACjP,OAAO,EAAE,CAAC;iBACX;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,seAAse;oBACxe,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC;oBACvI,WAAW,EACT,0NAA0N;wBAC1N,6oDAA6oD;wBAC7oD,6DAAsC;wBACtC,4DAA4D;iBAC/D;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,mQAAmQ;iBACtQ;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,iSAAiS;oBACnS,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,6YAA6Y;iBAChZ;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAwB;iBACtC;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC"}
@@ -6,7 +6,7 @@ exports.definition = {
6
6
  type: "function",
7
7
  function: {
8
8
  name: "video_to_video",
9
- description: 'Transform an existing video using AI. Uses WAN 2.2 Animate (move/replace) with a reference image to animate a photo with the video\'s motion or swap the video\'s subject, LTX-2.3 V2V ControlNet (canny/pose/depth/detailer) for video-only transforms, LTX-2.3 outpaint to extend/expand the video canvas (e.g. make a vertical clip widescreen) or inpaint to regenerate a masked region of the video, or Seedance V2V when the user explicitly asks to transform, upscale, enhance, restyle, or remaster an uploaded video with Seedance. Requires an uploaded video file. Use when the user wants to animate a photo with video motion, replace subjects in a video, restyle an existing video, extend or expand a video frame, regenerate part of a video, or enhance video quality.',
9
+ description: 'Transform an existing video using AI. Uses WAN 2.2 Animate (move/replace) with a reference image, LTX 2.5 V2V controls by default (canny/pose/depth/detailer plus distilled inpaint/outpaint), LTX 2.3 as rollback, or Seedance V2V when explicitly requested. Requires an uploaded video file. Use when the user wants to animate a photo with video motion, replace subjects, restyle footage, extend its canvas, regenerate a region, or enhance quality.',
10
10
  parameters: {
11
11
  type: "object",
12
12
  properties: {
@@ -16,13 +16,13 @@ exports.definition = {
16
16
 
17
17
  ${toolPromptMarkers_js_1.LITERAL_SEEDANCE_PROMPT_OVERRIDE}
18
18
 
19
- For LTX-2.3 canny/depth/pose modes, the source video preserves composition, depth, or motion. Spend prompt detail on style, atmosphere, lighting, surface texture, color palette, scale, and pacing.
19
+ For LTX 2.5 or 2.3 canny/depth/pose modes, the source video preserves composition, depth, or motion. Spend prompt detail on style, atmosphere, lighting, surface texture, color palette, scale, and pacing.
20
20
 
21
21
  Examples by mode:
22
22
  - animate-move (DEFAULT — WAN 2.2 Animate Move: applies camera/motion from source video to reference image): "Smooth cinematic camera movement following the subject through the scene."
23
23
  - animate-replace (WAN 2.2 Animate Replace: replaces the subject in the source video with the reference image): "The person from the reference photo performing the actions from the video."
24
24
  - canny (LTX-2.3 — edge-detection restyle): "Hand-drawn watercolor anime style with soft ink edges, muted teal and coral palette, rain mist, neon reflections, warm rim light, preserving original silhouettes and composition."
25
- - pose (LTX-2.3 — tracks skeleton, replace person): "A glossy cartoon robot with exaggerated proportions, brushed metal texture, glowing cyan joints, energetic stage lighting, preserving the original dance timing and pose."
25
+ - pose (LTX 2.5 or LTX 2.3 — tracks skeleton and transfers the reference-image subject): "A glossy cartoon robot from the reference image performs the source video's motion, with brushed metal texture, glowing cyan joints, and energetic stage lighting." This mode requires a reference image as well as the source video.
26
26
  - depth (LTX-2.3 — depth-map restyle): "A misty alpine valley at golden hour, expansive scale, volumetric haze, cool blue shadows, warm rim light, cinematic depth, lingering continuous shot."
27
27
  - detailer (LTX-2.3 — enhance quality): DESCRIBE THE SOURCE, do not request changes. Append quality qualifiers only. E.g. "The same scene, ultra-sharp and clean, crisp high-resolution detail, preserving all original content, composition, and color." Avoid words like "enhanced textures", "restyled", or any new subjects/objects — they cause drift.
28
28
  - seedance-v2v (BytePlus Dreamina Seedance 2.0 V2V): "Restyle the source clip in a watercolor look with soft ink edges, while preserving its motion and composition." Use natural prose; Seedance reads the reference video holistically rather than via control-net constraints, so describe target style/mood/dialogue rather than control strength.
@@ -31,7 +31,7 @@ Examples by mode:
31
31
 
32
32
  Present tense. Positive phrasing. Concrete visual details.
33
33
 
34
- NON-SEEDANCE POSITIVE CONSTRAINTS: For LTX-2.3 and WAN 2.2 modes, prompt is a positive prompt. Translate user avoid/no/don't constraints into affirmative production constraints instead of copying negative phrasing. Preserve exact quoted visible text when the user explicitly requests it; keep surrounding surfaces blank.
34
+ NON-SEEDANCE POSITIVE CONSTRAINTS: For LTX 2.5, LTX 2.3, and WAN 2.2 modes, prompt is a positive prompt. Translate user avoid/no/don't constraints into affirmative production constraints instead of copying negative phrasing. Preserve exact quoted visible text when the user explicitly requests it; keep surrounding surfaces blank.
35
35
 
36
36
  BATCH VARIATIONS: When numberOfVariations > 1, use Dynamic Prompt syntax to vary the artistic treatment while keeping control mode and structural intent consistent. Example: "transform to {watercolor with soft edges|oil painting with bold strokes|anime with clean lines} style".`,
37
37
  },
@@ -56,15 +56,15 @@ BATCH VARIATIONS: When numberOfVariations > 1, use Dynamic Prompt syntax to vary
56
56
  "inpaint",
57
57
  "seedance-v2v",
58
58
  ],
59
- description: "How the source video and (optional) reference image interact. Pick by user intent:\n" +
59
+ description: "How the source video and reference image interact. Pick by user intent:\n" +
60
60
  '• "animate-move" (DEFAULT) — WAN 2.2 Animate Move. Applies camera movement and motion from the source video to the reference image, bringing a still photo to life. Requires sourceImageIndex.\n' +
61
61
  '• "animate-replace" — WAN 2.2 Animate Replace. Replaces the subject in the source video with the person/character from the reference image, keeping the video\'s background and motion. Requires sourceImageIndex.\n' +
62
- '• "canny" — LTX-2.3 edge-detection control. Best for restyling while preserving exact composition and silhouettes (e.g. "make this footage look like anime / oil painting / watercolor"). Use for subjects with crisp edges — people, objects, graphics. Video-only; no reference image needed.\n' +
63
- '• "pose" — LTX-2.3 skeletal tracking. Best for replacing a person while keeping their motion (e.g. "turn this dancer into a robot"). Image optional — if provided, controls appearance; otherwise the prompt drives appearance. Requires person-centric motion.\n' +
64
- '• "depth" — LTX-2.3 depth-map control. Best for restyling scenes with perspective, camera movement, or volumetric content (landscapes, interiors, camera pans). Preserves 3D spatial layout rather than 2D edges; more forgiving than canny when edges are noisy. Video-only.\n' +
65
- '• "detailer" — LTX-2.3 quality enhancement. Sharpens detail and texture WITHOUT restyling. The prompt must DESCRIBE THE ORIGINAL scene with quality qualifiers (sharp, clean, high-resolution) — never request content changes, new textures, or a new look. Pick this when the user asks to "improve quality", "enhance", "upscale", or "sharpen" without a creative transformation.\n' +
66
- '• "outpaint" — LTX-2.3 canvas extension. Extend or expand the video frame outward, or convert it to a new aspect ratio (e.g. "make this vertical clip widescreen", "add more space on the right", "extend the scene"). Positional and mask-free: set outpaintPosition for where the original frame sits in the expanded canvas, and optionally outpaintAspectRatio for the target shape. The prompt describes what fills the new area. Video-only.\n' +
67
- '• "inpaint" — LTX-2.3 masked region regeneration. Regenerate or replace a specific region of the source video while preserving the rest (e.g. "replace the billboard", "change what\'s on the table"). If the user provides an uploaded mask image, set maskImageIndex to it. If no mask is provided, omit maskImageIndex; execution derives a mask from the source video and prompt before dispatch. The prompt describes only the target inpainted region. Video-only.\n' +
62
+ '• "canny" — LTX 2.5 (default) or 2.3 edge-detection control. Best for restyling while preserving exact composition and silhouettes. Video-only.\n' +
63
+ '• "pose" — LTX 2.5 (default) or 2.3 skeletal tracking. Best for transferring the person/character from a required reference image while keeping the source video\'s motion. Requires sourceImageIndex (or the sole available reference image).\n' +
64
+ '• "depth" — LTX 2.5 (default) or 2.3 depth-map control. Best for scenes with perspective, camera movement, or volumetric content. Video-only.\n' +
65
+ '• "detailer" — LTX 2.5 (default) or 2.3 quality enhancement. Describe the original scene with quality qualifiers and do not request content changes.\n' +
66
+ '• "outpaint" — distilled LTX 2.5 (default) or LTX 2.3 canvas extension. Set outpaintPosition and optionally outpaintAspectRatio; Pro/dev is not supported for this mode.\n' +
67
+ '• "inpaint" — distilled LTX 2.5 (default) or LTX 2.3 masked region regeneration. Set maskImageIndex when supplied; Pro/dev is not supported for this mode.\n' +
68
68
  `• "seedance-v2v" — BytePlus Dreamina Seedance 2.0 video-to-video. Use only when the user explicitly asks for Seedance on the uploaded source video, such as Seedance Fast upscale, enhance, remaster, restyle, or transform. High-fidelity quality, native audio, time-coded scene control. ${toolPromptMarkers_js_1.SEEDANCE_TOOL_V2V_REFERENCE_GUIDANCE} Distinct from canny/depth/pose which use control-net constraints — Seedance treats the reference video holistically.\n` +
69
69
  'Canny vs depth: canny preserves silhouettes and fine outlines — pick it for subject-led scenes and graphic restyles. Depth preserves 3D structure — pick it for scenes where the camera moves or spatial layout matters more than edge fidelity. Default: "animate-move".',
70
70
  },
@@ -74,8 +74,8 @@ BATCH VARIATIONS: When numberOfVariations > 1, use Dynamic Prompt syntax to vary
74
74
  },
75
75
  videoModel: {
76
76
  type: "string",
77
- enum: ["ltx23-v2v", "wan22-animate", "seedance2", "seedance2-mini", "seedance2-fast", "seedance2-5"],
78
- description: 'Model selector for this video-to-video request. Usually omit; controlMode chooses the non-Seedance model. For controlMode="seedance-v2v", Seedance quality is selected only by model: use "seedance2-mini" for faster/lower-cost drafts or explicit Mini requests, use "seedance2-fast" only when the user asks for Seedance Fast / seedance-fast, and use "seedance2" for full/non-fast Seedance or 1080p/4K. Do not infer the Seedance model from Default Media Quality Fast/HQ/Pro or from 480p/720p resolution requests alone. "seedance2-5": Seedance 2.5, the newest Seedance generation — 480p and 720p ONLY (it cannot render 1080p or 4K), 4-30s per clip at a fixed 24 fps, native audio, first-and-last-frame conditioning, and a much larger reference budget than the 2.0 family: up to 30 images, 10 videos, and 10 audios, with no more than 30 reference media files in total. Choose "seedance2-5" when the user asks for Seedance 2.5, wants a single continuous Seedance clip longer than 15s (2.5 renders up to 30s in one call instead of being split and stitched), or wants a first-and-last-frame Seedance transition. Keep "seedance2" for 1080p/4K requests, which Seedance 2.5 cannot satisfy.',
77
+ enum: ["ltx25-v2v", "ltx23-v2v", "wan22-animate", "seedance2", "seedance2-mini", "seedance2-fast", "seedance2-5"],
78
+ description: 'Model selector for this video-to-video request. Usually omit: non-Seedance controls default to "ltx25-v2v"; use "ltx23-v2v" only for rollback. LTX 2.5 Fast/HQ uses distilled; Pro uses dev plus the official Speed LoRA. Dev supports canny/pose/depth/detailer, while inpaint/outpaint require distilled. For controlMode="seedance-v2v", Seedance quality is selected only by model: use "seedance2-mini" for faster/lower-cost drafts, "seedance2-fast" only for explicit Fast requests, and "seedance2" for full/non-fast Seedance or 1080p/4K. "seedance2-5" supports 480p/720p, 4-30s at 24 fps, native audio, and first/last-frame conditioning; keep "seedance2" for 1080p/4K.',
79
79
  },
80
80
  generateAudio: {
81
81
  type: "boolean",
@@ -87,7 +87,7 @@ BATCH VARIATIONS: When numberOfVariations > 1, use Dynamic Prompt syntax to vary
87
87
  },
88
88
  sourceImageIndex: {
89
89
  type: "number",
90
- description: 'Optional index of a reference image (0-based). Required for "animate-move" and "animate-replace". Optional for "pose" (controls appearance if provided). Ignored by "canny", "depth", "detailer", "outpaint", and "inpaint".',
90
+ description: 'Optional 0-based reference-image index. Required for "animate-move", "animate-replace", and "pose" when more than one image is available; the sole available image may be auto-selected. LTX pose always dispatches both the source video and a reference image. Ignored by "canny", "depth", "detailer", "outpaint", and "inpaint".',
91
91
  },
92
92
  outpaintPosition: {
93
93
  type: "string",
@@ -1 +1 @@
1
- {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/video-to-video/definition.ts"],"names":[],"mappings":";;;AAMA,kFAIiD;AAEpC,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,4vBAA4vB;QAC9vB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;;EAErB,uDAAgC;;;;;;;;;;;;;;;;;;;uRAmBqP;iBAC9Q;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,yDAAkC;iBAChD;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,qYAAqY;iBACxY;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,cAAc;wBACd,iBAAiB;wBACjB,OAAO;wBACP,MAAM;wBACN,OAAO;wBACP,UAAU;wBACV,UAAU;wBACV,SAAS;wBACT,cAAc;qBACf;oBACD,WAAW,EACT,sFAAsF;wBACtF,kMAAkM;wBAClM,sNAAsN;wBACtN,mSAAmS;wBACnS,mQAAmQ;wBACnQ,iRAAiR;wBACjR,yXAAyX;wBACzX,sbAAsb;wBACtb,4cAA4c;wBAC5c,+RAA+R,2DAAoC,yHAAyH;wBAC5b,2QAA2Q;iBAC9Q;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,wYAAwY;iBAC3Y;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,CAAC;oBACpG,WAAW,EACT,2pCAA2pC;iBAC9pC;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,sKAAsK;iBACzK;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,yYAAyY;iBAC5Y;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,8NAA8N;iBACjO;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;oBAClD,WAAW,EACT,2cAA2c;iBAC9c;gBACD,mBAAmB,EAAE;oBACnB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;oBACnD,WAAW,EACT,4VAA4V;iBAC/V;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,4SAA4S;iBAC/S;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,wmBAAwmB;oBAC1mB,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,4DAA4D;oBAC9D,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/video-to-video/definition.ts"],"names":[],"mappings":";;;AAMA,kFAIiD;AAEpC,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,8bAA8b;QAChc,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;;EAErB,uDAAgC;;;;;;;;;;;;;;;;;;;uRAmBqP;iBAC9Q;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,yDAAkC;iBAChD;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,qYAAqY;iBACxY;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,cAAc;wBACd,iBAAiB;wBACjB,OAAO;wBACP,MAAM;wBACN,OAAO;wBACP,UAAU;wBACV,UAAU;wBACV,SAAS;wBACT,cAAc;qBACf;oBACD,WAAW,EACT,2EAA2E;wBAC3E,kMAAkM;wBAClM,sNAAsN;wBACtN,mJAAmJ;wBACnJ,kPAAkP;wBAClP,iJAAiJ;wBACjJ,wJAAwJ;wBACxJ,4KAA4K;wBAC5K,8JAA8J;wBAC9J,+RAA+R,2DAAoC,yHAAyH;wBAC5b,2QAA2Q;iBAC9Q;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,wYAAwY;iBAC3Y;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,CAAC;oBACjH,WAAW,EACT,ypBAAypB;iBAC5pB;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,sKAAsK;iBACzK;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,yYAAyY;iBAC5Y;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,sUAAsU;iBACzU;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;oBAClD,WAAW,EACT,2cAA2c;iBAC9c;gBACD,mBAAmB,EAAE;oBACnB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;oBACnD,WAAW,EACT,4VAA4V;iBAC/V;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,4SAA4S;iBAC/S;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,wmBAAwmB;oBAC1mB,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,4DAA4D;oBAC9D,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"modelRegistry.d.ts","sourceRoot":"","sources":["../../../src/tools/shared/modelRegistry.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAqBD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CA6ExD,CAAC;AAkBF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGvD;AAGD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE3D;AAGD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAE/D;AAGD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,MAAM,GACvB,WAAW,EAAE,CAIf"}
1
+ {"version":3,"file":"modelRegistry.d.ts","sourceRoot":"","sources":["../../../src/tools/shared/modelRegistry.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAqBD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CA0FxD,CAAC;AAkBF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGvD;AAGD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE3D;AAGD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAE/D;AAGD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,MAAM,GACvB,WAAW,EAAE,CAIf"}