@sogni-ai/sogni-intelligence-client 4.19.1 → 4.20.1

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 (58) hide show
  1. package/dist/contracts/data/gatingPolicies.d.ts.map +1 -1
  2. package/dist/contracts/data/gatingPolicies.js +7 -4
  3. package/dist/contracts/data/gatingPolicies.js.map +1 -1
  4. package/dist/contracts/data/promptContracts.d.ts.map +1 -1
  5. package/dist/contracts/data/promptContracts.js +49 -27
  6. package/dist/contracts/data/promptContracts.js.map +1 -1
  7. package/dist/media/index.d.ts +2 -0
  8. package/dist/media/index.d.ts.map +1 -1
  9. package/dist/media/index.js +2 -0
  10. package/dist/media/index.js.map +1 -1
  11. package/dist/media/personaCharacterSheet.d.ts +80 -0
  12. package/dist/media/personaCharacterSheet.d.ts.map +1 -0
  13. package/dist/media/personaCharacterSheet.js +177 -0
  14. package/dist/media/personaCharacterSheet.js.map +1 -0
  15. package/dist/media/personaReferences.d.ts +70 -0
  16. package/dist/media/personaReferences.d.ts.map +1 -0
  17. package/dist/media/personaReferences.js +206 -0
  18. package/dist/media/personaReferences.js.map +1 -0
  19. package/dist/openai-tools/_manifests.generated.js +2 -2
  20. package/dist/openai-tools/_manifests.generated.js.map +1 -1
  21. package/dist/openai-tools/generation-tools.json +2 -2
  22. package/dist/public-skill-runtime/index.js +1 -1
  23. package/dist/public-skill-runtime/index.js.map +1 -1
  24. package/dist/schemas/tools/generate_video.schema.json +2 -2
  25. package/dist/tools/definitions/animate-photo/definition.js +2 -2
  26. package/dist/tools/definitions/animate-photo/definition.js.map +1 -1
  27. package/dist/tools/definitions/generate-speech/definition.js +4 -4
  28. package/dist/tools/definitions/generate-speech/definition.js.map +1 -1
  29. package/dist/tools/definitions/generate-video/definition.js +2 -2
  30. package/dist/tools/definitions/generate-video/definition.js.map +1 -1
  31. package/dist/tools/shared/seedancePolicyErrors.d.ts.map +1 -1
  32. package/dist/tools/shared/seedancePolicyErrors.js +62 -10
  33. package/dist/tools/shared/seedancePolicyErrors.js.map +1 -1
  34. package/dist-esm/contracts/data/gatingPolicies.js +7 -4
  35. package/dist-esm/contracts/data/gatingPolicies.js.map +1 -1
  36. package/dist-esm/contracts/data/promptContracts.js +49 -27
  37. package/dist-esm/contracts/data/promptContracts.js.map +1 -1
  38. package/dist-esm/media/index.js +2 -0
  39. package/dist-esm/media/index.js.map +1 -1
  40. package/dist-esm/media/personaCharacterSheet.js +166 -0
  41. package/dist-esm/media/personaCharacterSheet.js.map +1 -0
  42. package/dist-esm/media/personaReferences.js +187 -0
  43. package/dist-esm/media/personaReferences.js.map +1 -0
  44. package/dist-esm/openai-tools/_manifests.generated.js +2 -2
  45. package/dist-esm/openai-tools/_manifests.generated.js.map +1 -1
  46. package/dist-esm/openai-tools/generation-tools.json +2 -2
  47. package/dist-esm/public-skill-runtime/index.js +1 -1
  48. package/dist-esm/public-skill-runtime/index.js.map +1 -1
  49. package/dist-esm/schemas/tools/generate_video.schema.json +2 -2
  50. package/dist-esm/tools/definitions/animate-photo/definition.js +2 -2
  51. package/dist-esm/tools/definitions/animate-photo/definition.js.map +1 -1
  52. package/dist-esm/tools/definitions/generate-speech/definition.js +4 -4
  53. package/dist-esm/tools/definitions/generate-speech/definition.js.map +1 -1
  54. package/dist-esm/tools/definitions/generate-video/definition.js +2 -2
  55. package/dist-esm/tools/definitions/generate-video/definition.js.map +1 -1
  56. package/dist-esm/tools/shared/seedancePolicyErrors.js +62 -10
  57. package/dist-esm/tools/shared/seedancePolicyErrors.js.map +1 -1
  58. package/package.json +4 -4
@@ -109,11 +109,11 @@
109
109
  },
110
110
  "width": {
111
111
  "type": "number",
112
- "description": "Video width in pixels. LTX 2.3: 640-3840. WAN: 480-1536. Default resolution depends on model and quality tier: LTX Fast about 720p and High/Pro about 1080p; WAN Fast uses 480p short side and High/Pro uses 720p short side. Set width only when the user specifies an exact width or orientation-qualified exact pixels. A bare named resolution like \"720p resolution\" is a short-side target, not an instruction to make landscape 1280x720. If the user gives only one exact dimension, set only that dimension and preserve/infer the sensible aspect ratio. User-requested exact dimensions override the default media quality. Mappings when orientation is explicit: 480p landscape=854x480, 480p portrait=480x854, 720p landscape=1280x720, 720p portrait=720x1280, 1080p landscape=1920x1080, 1080p portrait=1080x1920, 4K landscape=3840x2160. Non-step values are accepted when in bounds; LTX snaps to the nearest 64px step and WAN snaps to the nearest 16px step internally, so do not ask the user to adjust by a few pixels."
112
+ "description": "Video width in pixels. LTX 2.3: 640-3840. Wan 2.2 (wan22): 480-1536 per side and at most 1,048,576 pixels (1024x1024); a larger size renders scaled down to that at its aspect ratio (1920x1080 renders at 1360x768). Wan 3 (wan3.0-video, wan3.0-spicy-video): 480-1920 per side; it renders the 480p, 720p, or 1080p class nearest the short side, at the nearest of 16:9, 4:3, 1:1, 3:4, or 9:16, not the exact pixels. Default resolution depends on model and quality tier: LTX Fast about 720p and High/Pro about 1080p; WAN Fast uses 480p short side and High/Pro uses 720p short side. Set width only when the user specifies an exact width or orientation-qualified exact pixels. A bare named resolution like \"720p resolution\" is a short-side target, not an instruction to make landscape 1280x720. If the user gives only one exact dimension, set only that dimension and preserve/infer the sensible aspect ratio. User-requested exact dimensions override the default media quality. Mappings when orientation is explicit: 480p landscape=854x480, 480p portrait=480x854, 720p landscape=1280x720, 720p portrait=720x1280, 1080p landscape=1920x1080, 1080p portrait=1080x1920, 4K landscape=3840x2160. Non-step values are accepted when in bounds; LTX snaps to the nearest 64px step and Wan 2.2 snaps to the nearest 16px step internally, so do not ask the user to adjust by a few pixels."
113
113
  },
114
114
  "height": {
115
115
  "type": "number",
116
- "description": "Video height in pixels. LTX 2.3: 640-3840. WAN: 480-1536. Set height only when the user specifies an exact height or orientation-qualified exact pixels. A bare named resolution like \"720p resolution\" is a short-side target; do not convert it to landscape dimensions unless the user says landscape/horizontal/widescreen. If the user gives only one exact dimension, set only that dimension and preserve/infer the sensible aspect ratio. User-requested exact dimensions override Default Media Quality, including Pro. Non-step values are accepted when in bounds; LTX snaps to the nearest 64px step and WAN snaps to the nearest 16px step internally, so do not ask the user to adjust by a few pixels."
116
+ "description": "Video height in pixels. LTX 2.3: 640-3840. Wan 2.2 (wan22): 480-1536 per side and at most 1,048,576 pixels (1024x1024); a larger size renders scaled down to that at its aspect ratio (1920x1080 renders at 1360x768). Wan 3 (wan3.0-video, wan3.0-spicy-video): 480-1920 per side; it renders the 480p, 720p, or 1080p class nearest the short side, at the nearest of 16:9, 4:3, 1:1, 3:4, or 9:16, not the exact pixels. Set height only when the user specifies an exact height or orientation-qualified exact pixels. A bare named resolution like \"720p resolution\" is a short-side target; do not convert it to landscape dimensions unless the user says landscape/horizontal/widescreen. If the user gives only one exact dimension, set only that dimension and preserve/infer the sensible aspect ratio. User-requested exact dimensions override Default Media Quality, including Pro. Non-step values are accepted when in bounds; LTX snaps to the nearest 64px step and Wan 2.2 snaps to the nearest 16px step internally, so do not ask the user to adjust by a few pixels."
117
117
  },
118
118
  "targetResolution": {
119
119
  "type": "number",
@@ -21,7 +21,7 @@ exports.definition = {
21
21
  type: "function",
22
22
  function: {
23
23
  name: "animate_photo",
24
- 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-mini-uncensored, seedance2-5, or seedance2-5-uncensored. 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.',
24
+ 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-mini-uncensored, seedance2-5, or seedance2-5-uncensored. 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. On animate_photo, persona voice requires ltx23 because LTX 2.5 has no compatible ID-LoRA and WAN 2.2 does not support voice identity; for a persona voice on MiniMax H3 r2v, Seedance or Wan 3, use generate_video. PERSONA PIPELINE: For persona videos on this tool, ensure an image of the persona exists before calling animate_photo. The standard pipeline is: resolve_personas → edit_image → animate_photo. MiniMax H3 r2v, Seedance and Wan 3 reference videos skip this pipeline: generate_video takes the resolved persona reference images directly. 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.',
25
25
  parameters: {
26
26
  type: "object",
27
27
  properties: {
@@ -178,7 +178,7 @@ ${promptLimits_js_1.VIDEO_PROMPT_LENGTH_LIMITS_GUIDANCE}`,
178
178
  },
179
179
  voicePersonaName: {
180
180
  type: "string",
181
- 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.',
181
+ description: 'ONLY when the user explicitly asks for a registered persona\'s own voice. Name of the persona whose voice clip to use as referenceAudioIdentity (LTX 2.3 Audio ID). 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. On animate_photo it requires ltx23: LTX 2.5 has no compatible ID-LoRA, and the WAN, Wan 3, HappyHorse and MiniMax H3 frame modes take no voice reference. For a persona voice on MiniMax H3 r2v, Seedance or Wan 3, use generate_video.',
182
182
  },
183
183
  loras: {
184
184
  type: "array",
@@ -1 +1 @@
1
- {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/animate-photo/definition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/animate-photo/definition.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ exports.definition = {
6
6
  type: 'function',
7
7
  function: {
8
8
  name: 'generate_speech',
9
- description: 'Turn written words into spoken audio. Use when the user wants something read aloud, a narration, a voiceover, a line of dialogue, an audiobook passage, or a voice cloned from a recording they uploaded. This tool speaks text; it does not compose music — use generate_music for songs and instrumentals.',
9
+ description: 'Turn written words into spoken audio. Use when the user wants something read aloud, a narration, a voiceover, a line of dialogue, an audiobook passage, or a voice cloned from a recording they uploaded or from a saved persona\'s voice recording. This tool speaks text; it does not compose music — use generate_music for songs and instrumentals.',
10
10
  parameters: {
11
11
  type: 'object',
12
12
  properties: {
@@ -26,7 +26,7 @@ Limit 4096 characters, roughly five minutes of speech. A longer script is refuse
26
26
  model: {
27
27
  type: 'string',
28
28
  enum: ['voice', 'clone', 'design'],
29
- description: 'Which speech model to use, chosen by what the user gave you. "voice" (default): one of nine studio voices, optionally restyled by voiceDescription — the right choice for narration, voiceover and dialogue when no particular person is being imitated. "clone": reproduces a specific voice from a recording the user uploaded; requires voiceSourceIndex. "design": invents a speaker who does not exist from a written description; requires voiceDescription and takes no recording. Pick "clone" whenever the user uploads a voice clip and asks for that person, and "design" when they describe a speaker instead of choosing one.',
29
+ description: 'Which speech model to use, chosen by what the user gave you. "voice" (default): one of nine studio voices, optionally restyled by voiceDescription — the right choice for narration, voiceover and dialogue when no particular person is being imitated. "clone": reproduces a specific voice from a recording the user uploaded or a resolved persona\'s voice recording; requires voiceSourceIndex. "design": invents a speaker who does not exist from a written description; requires voiceDescription and takes no recording. Pick "clone" whenever the user uploads a voice clip and asks for that person, or asks for a saved persona\'s own voice, and "design" when they describe a speaker instead of choosing one.',
30
30
  },
31
31
  voice: {
32
32
  type: 'string',
@@ -50,12 +50,12 @@ Limit 4096 characters, roughly five minutes of speech. A longer script is refuse
50
50
  },
51
51
  voiceSourceIndex: {
52
52
  type: 'number',
53
- description: 'Which audio holds the voice to clone, using the same numbering every other tool uses for audio: negative indices are uploads (-1 = first/primary upload, -2 = second upload, and so on) and 0-based non-negative indices are audio generated earlier in this conversation. A clip the user just uploaded is -1. Required when model="clone" and ignored otherwise. The clip should be three to thirty seconds of one person speaking cleanly, with no music, no second speaker and no heavy room echo; anything past thirty seconds is trimmed.',
53
+ description: 'Which audio holds the voice to clone, using the same numbering every other tool uses for audio: negative indices are uploads (-1 = first/primary upload, -2 = second upload, and so on) and 0-based non-negative indices are audio generated earlier in this conversation. A clip the user just uploaded is -1. A resolved persona\'s full voice recording uses the index resolve_personas reports. Required when model="clone" and ignored otherwise. The clip should be three to thirty seconds of one person speaking cleanly, with no music, no second speaker and no heavy room echo; anything past thirty seconds is trimmed.',
54
54
  },
55
55
  voice_source_url: { type: 'string', description: 'REST alternative to voiceSourceIndex: retrievable original recording for clone mode.' },
56
56
  voiceTranscript: {
57
57
  type: 'string',
58
- description: 'The exact words spoken in the uploaded clip, when model="clone". Supplying it lets the model condition on the recording itself rather than on a speaker fingerprint alone, which is markedly closer to the source — set it whenever the user tells you what the clip says or the transcript is otherwise known. Omitting it still produces a recognisable clone, just a looser one. Limit 1024 characters.',
58
+ description: 'The exact words spoken in the uploaded clip, when model="clone". Supplying it lets the model condition on the recording itself rather than on a speaker fingerprint alone, which is markedly closer to the source — set it whenever the user tells you what the clip says or the transcript is otherwise known. Omitting it still produces a recognisable clone, just a looser one. Leave it out for a persona voice recording: the persona\'s saved transcript is filled in automatically. Limit 1024 characters.',
59
59
  maxLength: 1024,
60
60
  },
61
61
  language: {
@@ -1 +1 @@
1
- {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/generate-speech/definition.ts"],"names":[],"mappings":";;;AAUA,wFAAqF;AAExE,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,8SAA8S;QAChT,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;;EAErB,iDAAuB;;;;;;yKAMgJ;oBAC/J,SAAS,EAAE,IAAI;iBAChB;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;oBAClC,WAAW,EACT,4mBAA4mB;iBAC/mB;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,QAAQ;wBACR,QAAQ;wBACR,UAAU;wBACV,MAAM;wBACN,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,MAAM;wBACN,OAAO;qBACR;oBACD,WAAW,EACT,8VAA8V;iBACjW;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,gqBAAgqB;oBAClqB,SAAS,EAAE,GAAG;iBACf;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,ihBAAihB;iBACphB;gBACD,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sFAAsF,EAAE;gBACzI,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,4YAA4Y;oBAC9Y,SAAS,EAAE,IAAI;iBAChB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,MAAM;wBACN,SAAS;wBACT,SAAS;wBACT,UAAU;wBACV,QAAQ;wBACR,QAAQ;wBACR,QAAQ;wBACR,SAAS;wBACT,YAAY;wBACZ,SAAS;wBACT,SAAS;qBACV;oBACD,WAAW,EACT,mVAAmV;iBACtV;gBACD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,uDAAuD,EAAE;gBAC9H,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE;gBAC9G,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBACnH,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,yMAAyM;oBAC3M,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/generate-speech/definition.ts"],"names":[],"mappings":";;;AAUA,wFAAqF;AAExE,QAAA,UAAU,GAAmB;IACxC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,yVAAyV;QAC3V,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;;EAErB,iDAAuB;;;;;;yKAMgJ;oBAC/J,SAAS,EAAE,IAAI;iBAChB;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;oBAClC,WAAW,EACT,+rBAA+rB;iBAClsB;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,QAAQ;wBACR,QAAQ;wBACR,UAAU;wBACV,MAAM;wBACN,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,MAAM;wBACN,OAAO;qBACR;oBACD,WAAW,EACT,8VAA8V;iBACjW;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,gqBAAgqB;oBAClqB,SAAS,EAAE,GAAG;iBACf;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,qmBAAqmB;iBACxmB;gBACD,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sFAAsF,EAAE;gBACzI,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,ofAAof;oBACtf,SAAS,EAAE,IAAI;iBAChB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,MAAM;wBACN,SAAS;wBACT,SAAS;wBACT,UAAU;wBACV,QAAQ;wBACR,QAAQ;wBACR,QAAQ;wBACR,SAAS;wBACT,YAAY;wBACZ,SAAS;wBACT,SAAS;qBACV;oBACD,WAAW,EACT,mVAAmV;iBACtV;gBACD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,uDAAuD,EAAE;gBAC9H,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE;gBAC9G,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBACnH,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,yMAAyM;oBAC3M,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE;iBACZ;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC"}
@@ -22,7 +22,7 @@ exports.definition = {
22
22
  type: "function",
23
23
  function: {
24
24
  name: "generate_video",
25
- 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-mini-uncensored, seedance2-5, or seedance2-5-uncensored, default to exactly one video (4-15s on 2.0/Mini/Mini Uncensored, 4-30s on seedance2-5 and seedance2-5-uncensored) 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) 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 2.5 generate_video call at targetResolution=1080 by default; preserve an explicitly requested model or resolution, and use Seedance 2.0 for 4K because Seedance 2.5 supports up to 1080p. 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 one reference still per approved scene with GPT Image 2.5 Sunburst, render each scene as a Seedance 2.5 video segment at 1080p, then stitch the segments. Preserve an explicit alternate model or resolution. 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. WAN 3 uses the exact selector wan3.0-video: use this tool for text-to-video or loose Image 1/Video 1/Audio 1 references; use animate_photo for native first/last frames and sound_to_video when audio drives timing. A Wan 3 video reference conditions a new generation; it does not invoke a provider-backed edit or extend mode.',
25
+ 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\'s own voice, call resolve_personas first, then set voicePersonaName to select which persona\'s voice to use. Do not set voicePersonaName for ordinary character dialogue or inferred voices; describe those voices in the prompt for native 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 works on ltx23 (Audio ID) and as a voice reference on MiniMax H3 r2v, Seedance and Wan 3; 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. MY PERSONAS: On MiniMax H3 r2v, Seedance or Wan 3, pass a resolved persona\'s reference images straight in through referenceImageIndices with no edit_image step; every clip carries its own references, and the prompt binds each persona to its images with the model\'s tokens (@Image1, <Picture 1>, Image 1). On LTX and WAN 2.2, persona videos use resolve_personas → edit_image → animate_photo. SEEDANCE DEFAULT: For seedance2, seedance2-mini, seedance2-mini-uncensored, seedance2-5, or seedance2-5-uncensored, default to exactly one video (4-15s on 2.0/Mini/Mini Uncensored, 4-30s on seedance2-5 and seedance2-5-uncensored) 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) 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 2.5 generate_video call at targetResolution=1080 by default; preserve an explicitly requested model or resolution, and use Seedance 2.0 for 4K because Seedance 2.5 supports up to 1080p. 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 one reference still per approved scene with GPT Image 2.5 Sunburst, render each scene as a Seedance 2.5 video segment at 1080p, then stitch the segments. Preserve an explicit alternate model or resolution. 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. WAN 3 uses the exact selector wan3.0-video: use this tool for text-to-video or loose Image 1/Video 1/Audio 1 references; use animate_photo for native first/last frames and sound_to_video when audio drives timing. A Wan 3 video reference conditions a new generation; it does not invoke a provider-backed edit or extend mode.',
26
26
  parameters: {
27
27
  type: "object",
28
28
  properties: {
@@ -210,7 +210,7 @@ ${promptLimits_js_1.VIDEO_PROMPT_LENGTH_LIMITS_GUIDANCE}`,
210
210
  },
211
211
  voicePersonaName: {
212
212
  type: "string",
213
- 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.',
213
+ description: 'ONLY when the user explicitly asks for a registered persona\'s own voice. Name of the resolved persona whose voice to use. 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; describe those voices in the prompt instead. On ltx23 it is Audio ID (LTX 2.5 has no compatible ID-LoRA). On MiniMax H3 r2v, Seedance and Wan 3, that persona\'s short voice sample is attached as an audio reference for its timbre, next to the persona\'s reference images, and counts against the model\'s audio reference limit; on MiniMax H3 also set sourceAudioPolicy="reference_only". The sample is the voice, not the soundtrack: write the spoken words in the prompt. Other video models have no voice identity.',
214
214
  },
215
215
  loras: {
216
216
  type: "array",
@@ -1 +1 @@
1
- {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/generate-video/definition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../src/tools/definitions/generate-video/definition.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"seedancePolicyErrors.d.ts","sourceRoot":"","sources":["../../../src/tools/shared/seedancePolicyErrors.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACvC,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,wCAAwC,0DACI,CAAC;AAO1D,eAAO,MAAM,oCAAoC,oGACkD,CAAC;AAEpG,eAAO,MAAM,wCAAwC,6JACuG,CAAC;AAE7J,eAAO,MAAM,yCAAyC,6OACiL,CAAC;AACxO,eAAO,MAAM,+BAA+B,sMACyJ,CAAC;AAEtM,eAAO,MAAM,yCAAyC,+JACwG,CAAC;AAE/J,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,qCAAqC,GAAG,yBAAyB,CAAC;IAOzE,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,0BAA0B,CAAC;IACxC,UAAU,EAAE,eAAe,CAAC;IAC5B,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,eAAe,EAAE,OAAO,wCAAwC,GAAG,MAAM,CAAC;CAC3E;AAED,MAAM,WAAW,wCAAwC;IACvD,KAAK,EAAE,4BAA4B,GAAG,mCAAmC,CAAC;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,0BAA0B,CAAC;IACxC,UAAU,EAAE,eAAe,CAAC;IAC5B,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,QAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;gBAEpC,OAAO,EAAE,6BAA6B;CAKnD;AA2FD,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAOjF;AAoFD,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,OAAO,GACb,6BAA6B,GAAG,IAAI,CAmCtC;AAED,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,OAAO,GACb,2BAA2B,GAAG,IAAI,CAGpC;AAED,wBAAgB,iDAAiD,CAC/D,KAAK,EAAE,OAAO,GAEZ,wCAAwC,GACxC,iCAAiC,GACjC,2BAA2B,GAC3B,2BAA2B,GAC3B,IAAI,CAmGP"}
1
+ {"version":3,"file":"seedancePolicyErrors.d.ts","sourceRoot":"","sources":["../../../src/tools/shared/seedancePolicyErrors.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACvC,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,wCAAwC,0DACI,CAAC;AAO1D,eAAO,MAAM,oCAAoC,oGACkD,CAAC;AAEpG,eAAO,MAAM,wCAAwC,6JACuG,CAAC;AAE7J,eAAO,MAAM,yCAAyC,6OACiL,CAAC;AACxO,eAAO,MAAM,+BAA+B,sMACyJ,CAAC;AAEtM,eAAO,MAAM,yCAAyC,+JACwG,CAAC;AAE/J,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,qCAAqC,GAAG,yBAAyB,CAAC;IAOzE,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,0BAA0B,CAAC;IACxC,UAAU,EAAE,eAAe,CAAC;IAC5B,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,eAAe,EAAE,OAAO,wCAAwC,GAAG,MAAM,CAAC;CAC3E;AAED,MAAM,WAAW,wCAAwC;IACvD,KAAK,EAAE,4BAA4B,GAAG,mCAAmC,CAAC;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,0BAA0B,CAAC;IACxC,UAAU,EAAE,eAAe,CAAC;IAC5B,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,QAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;gBAEpC,OAAO,EAAE,6BAA6B;CAKnD;AA2FD,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAOjF;AAsID,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,OAAO,GACb,6BAA6B,GAAG,IAAI,CAmCtC;AAED,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,OAAO,GACb,2BAA2B,GAAG,IAAI,CAGpC;AAED,wBAAgB,iDAAiD,CAC/D,KAAK,EAAE,OAAO,GAEZ,wCAAwC,GACxC,iCAAiC,GACjC,2BAA2B,GAC3B,2BAA2B,GAC3B,IAAI,CAmGP"}
@@ -112,20 +112,72 @@ function seedanceAudioDurationLimitFromText(text) {
112
112
  const parsed = Number(match[1]);
113
113
  return Number.isFinite(parsed) && parsed > 0 ? parsed : null;
114
114
  }
115
+ function jsonObjectsIn(text) {
116
+ const objects = [];
117
+ for (let start = text.indexOf('{'); start >= 0; start = text.indexOf('{', start + 1)) {
118
+ let depth = 0;
119
+ let inString = false;
120
+ for (let index = start; index < text.length; index++) {
121
+ const char = text[index];
122
+ if (inString) {
123
+ if (char === '\\')
124
+ index++;
125
+ else if (char === '"')
126
+ inString = false;
127
+ }
128
+ else if (char === '"')
129
+ inString = true;
130
+ else if (char === '{')
131
+ depth++;
132
+ else if (char === '}' && --depth === 0) {
133
+ try {
134
+ objects.push(JSON.parse(text.slice(start, index + 1)));
135
+ start = index;
136
+ }
137
+ catch {
138
+ }
139
+ break;
140
+ }
141
+ }
142
+ }
143
+ return objects;
144
+ }
145
+ function invalidParameterMessageIn(value) {
146
+ if (!value || typeof value !== 'object')
147
+ return null;
148
+ const { code, message } = value;
149
+ if (typeof code === 'string' && /^InvalidParameter(?:\.|$)/.test(code) && typeof message === 'string') {
150
+ return message;
151
+ }
152
+ for (const child of Object.values(value)) {
153
+ const found = invalidParameterMessageIn(child);
154
+ if (found !== null)
155
+ return found;
156
+ }
157
+ return null;
158
+ }
159
+ const SEEDANCE_VENDOR_REASON_MAX_LENGTH = 300;
115
160
  function seedanceInvalidParameterMessageFromText(text) {
116
161
  if (!text)
117
162
  return null;
118
- const match = text.match(/"(?:message|Message)"\s*:\s*"((?:[^"\\]|\\.)*)"/);
119
- if (!match?.[1])
120
- return null;
121
- let parsed = match[1];
122
- try {
123
- parsed = JSON.parse(`"${parsed}"`);
163
+ for (const object of jsonObjectsIn(text)) {
164
+ const raw = invalidParameterMessageIn(object);
165
+ if (raw === null)
166
+ continue;
167
+ const reason = raw
168
+ .replace(/\s*Request id:\s*\S+/gi, '')
169
+ .replace(/https?:\/\/\S+/gi, '')
170
+ .replace(/\s+/g, ' ')
171
+ .trim();
172
+ if (!reason)
173
+ return null;
174
+ if (reason.length <= SEEDANCE_VENDOR_REASON_MAX_LENGTH)
175
+ return reason;
176
+ const cut = reason.slice(0, SEEDANCE_VENDOR_REASON_MAX_LENGTH);
177
+ const lastSpace = cut.lastIndexOf(' ');
178
+ return `${lastSpace > 0 ? cut.slice(0, lastSpace) : cut}…`;
124
179
  }
125
- catch {
126
- }
127
- parsed = parsed.replace(/\s*Request id:\s*[A-Za-z0-9._-]+/i, '').trim();
128
- return parsed.length > 0 ? parsed : null;
180
+ return null;
129
181
  }
130
182
  const SEEDANCE_FRAME_REFERENCE_CONFLICT_PATTERN = /\bfirst\/last frame content cannot be mixed with reference media content\b/i;
131
183
  const SEEDANCE_SOCKET_MIXED_MODE_PATTERN = /\bSeedance rejects requests that combine first\/last-frame images with reference media\b/i;
@@ -1 +1 @@
1
- {"version":3,"file":"seedancePolicyErrors.js","sourceRoot":"","sources":["../../../src/tools/shared/seedancePolicyErrors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seedancePolicyErrors.js","sourceRoot":"","sources":["../../../src/tools/shared/seedancePolicyErrors.ts"],"names":[],"mappings":"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"}
@@ -194,7 +194,7 @@ export const GATING_POLICIES = [
194
194
  },
195
195
  {
196
196
  policyId: 'HAS_PERSONA_AND_REQUESTS_VIDEO',
197
- version: '1.0.0',
197
+ version: '1.1.0',
198
198
  trigger: {
199
199
  allOf: [
200
200
  'has_active_persona',
@@ -207,9 +207,12 @@ export const GATING_POLICIES = [
207
207
  no_persona_image_in_session: 'session_state',
208
208
  },
209
209
  },
210
- effect: { forbid: [], require: ['resolve_personas', 'edit_image'] },
211
- rationale: 'Persona videos require an image stage first: resolve_personas, then ' +
212
- 'edit_image to render the persona, then animate. Do not go text-to-video.',
210
+ effect: { forbid: [], require: ['resolve_personas'] },
211
+ rationale: 'Persona videos start with resolve_personas. On MiniMax H3 reference-to-video, Seedance or ' +
212
+ 'Wan 3, pass the resolved persona reference images straight to generate_video as ' +
213
+ 'referenceImageIndices, with no edit_image step. On LTX and every other video model, render ' +
214
+ 'the persona with edit_image first, then animate it. Do not go text-to-video without the ' +
215
+ 'persona references.',
213
216
  },
214
217
  {
215
218
  policyId: 'HAS_PERSONA_AND_REQUESTS_PERSONA_IMAGE',
@@ -1 +1 @@
1
- {"version":3,"file":"gatingPolicies.js","sourceRoot":"","sources":["../../../src/contracts/data/gatingPolicies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gatingPolicies.js","sourceRoot":"","sources":["../../../src/contracts/data/gatingPolicies.ts"],"names":[],"mappings":"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"}
@@ -227,7 +227,7 @@ const ANIMATE_PHOTO_CONTRACT = {
227
227
  };
228
228
  const GENERATE_VIDEO_CONTRACT = {
229
229
  contractId: 'generate_video_v1',
230
- version: '1.5.1',
230
+ version: '1.6.0',
231
231
  toolName: 'generate_video',
232
232
  baseDescription: [
233
233
  'generate_video produces text-to-video clips and multimodal reference videos.',
@@ -241,6 +241,13 @@ const GENERATE_VIDEO_CONTRACT = {
241
241
  'by type. Do not bracket or @-prefix these identifiers. Wan 3 renders 2-30 seconds at fixed',
242
242
  '30 fps, offers 480P/720P/1080P and 16:9/4:3/1:1/3:4/9:16, and can toggle native audio.',
243
243
  '',
244
+ 'MY PERSONAS: When the user means themselves or names a saved Persona and wants it on MiniMax H3',
245
+ 'reference-to-video, Seedance or Wan 3, call resolve_personas, then pass the resolved persona',
246
+ 'reference images straight in as referenceImageIndices (the negative indices resolve_personas',
247
+ 'reports), with no edit_image step. Every clip carries its own references. Bind each persona to',
248
+ 'its images in the prompt with the model\'s tokens: @Image1 on Seedance, <Picture 1> on MiniMax H3,',
249
+ 'Image 1 on Wan 3. On LTX, a persona video animates an edit_image still with animate_photo.',
250
+ '',
244
251
  'MINIMAX H3 SOURCE AUDIO: Every H3 R2V call with a reference video or audio must set',
245
252
  'sourceAudioPolicy. A specific/original/trending song is immutable: use reuse_exact, author',
246
253
  'the official audio reuse task plus fully_copy, keep choreography on explicit source times,',
@@ -767,7 +774,7 @@ const STITCH_VIDEO_CONTRACT = {
767
774
  };
768
775
  const SOUND_TO_VIDEO_CONTRACT = {
769
776
  contractId: 'sound_to_video_v1',
770
- version: '1.2.0',
777
+ version: '1.3.0',
771
778
  toolName: 'sound_to_video',
772
779
  baseDescription: [
773
780
  'sound_to_video creates audio-synced video from an audio source. Works with uploaded audio',
@@ -785,12 +792,12 @@ const SOUND_TO_VIDEO_CONTRACT = {
785
792
  'input driving the video output.',
786
793
  '',
787
794
  'PERSONA VOICE CLIPS: Persona voice clips returned by resolve_personas are voice identity',
788
- 'references for LTX Audio ID, not audio tracks to synchronize. If the user explicitly asks',
789
- 'for a registered/persona/reference voice or voice clone, call resolve_personas first, then',
790
- 'use generate_video with ltx23 and voicePersonaName when there is no image source, or',
791
- 'animate_photo with ltx23 and voicePersonaName when an image/source frame should be',
792
- 'animated. Do not call sound_to_video for a persona voice clip unless a separate uploaded',
793
- 'audio track is the primary sync driver.',
795
+ 'references, not audio tracks to synchronize. If the user explicitly asks for a persona\'s own',
796
+ 'voice, call resolve_personas first, then set voicePersonaName on generate_video (Audio ID on',
797
+ 'ltx23, a voice reference on MiniMax H3 reference-to-video, Seedance and Wan 3) or on',
798
+ 'animate_photo with ltx23 when an image/source frame should be animated. Do not call',
799
+ 'sound_to_video for a persona voice clip unless a separate uploaded audio track is the primary',
800
+ 'sync driver.',
794
801
  '',
795
802
  'MINIMAX H3 AUDIO GUIDE: only when the user asks for MiniMax H3 or FastH3 with an uploaded audio',
796
803
  'track, use sound_to_video with videoModel "minimax-h3-fasth3-ia2v-turbo" (first-frame image via',
@@ -862,7 +869,7 @@ const GENERATE_MUSIC_CONTRACT = {
862
869
  };
863
870
  const GENERATE_SPEECH_CONTRACT = {
864
871
  contractId: 'generate_speech_v1',
865
- version: '1.0.0',
872
+ version: '1.1.0',
866
873
  toolName: 'generate_speech',
867
874
  baseDescription: [
868
875
  'generate_speech reads written words aloud. It is text-to-speech, not music: use',
@@ -879,13 +886,16 @@ const GENERATE_SPEECH_CONTRACT = {
879
886
  'structured piece; a sentence or two is yours to write.',
880
887
  '',
881
888
  'PICK THE MODEL FROM WHAT THE USER GAVE YOU. A voice clip uploaded with "make it sound like',
882
- 'me" is model="clone" with voiceSourceIndex pointing at that upload. A described speaker who',
883
- 'does not exist ("an old lighthouse keeper") is model="design" with voiceDescription. Anything',
884
- 'else is model="voice" — choose a voice from the roster and, if the user described a mood or',
885
- 'a delivery, put that in voiceDescription too.',
889
+ 'me" is model="clone" with voiceSourceIndex pointing at that upload. A saved Persona\'s voice is',
890
+ 'a clone source too: when the user asks for that persona\'s own voice, call resolve_personas and',
891
+ 'use model="clone" with voiceSourceIndex set to the full voice recording index it reports. A',
892
+ 'described speaker who does not exist ("an old lighthouse keeper") is model="design" with',
893
+ 'voiceDescription. Anything else is model="voice" — choose a voice from the roster and, if the',
894
+ 'user described a mood or a delivery, put that in voiceDescription too.',
886
895
  '',
887
896
  'CLONING QUALITY. Set voiceTranscript whenever the words in the uploaded clip are known: it',
888
- 'is the difference between a close clone and a loose one. Tell the user if their reference is',
897
+ 'is the difference between a close clone and a loose one. Leave it out for a persona recording:',
898
+ 'the persona\'s saved transcript is supplied automatically. Tell the user if their reference is',
889
899
  'shorter than three seconds, has music under it, or has two people talking — those are the',
890
900
  'three reasons a clone comes back sounding wrong.',
891
901
  '',
@@ -899,13 +909,13 @@ const GENERATE_SPEECH_CONTRACT = {
899
909
  parameterDocs: {
900
910
  prompt: 'The literal words to speak, verbatim. Not a description of the audio.',
901
911
  voiceDescription: 'Delivery direction for model="voice"; the speaker to invent for model="design". Never sent with model="clone".',
902
- voiceSourceIndex: 'Which audio holds the voice to clone, same numbering as other tools use for audio: -1 is the first upload, -2 the second, and 0-based non-negative indices address audio generated earlier. Required for model="clone".',
903
- voiceTranscript: 'What the uploaded clip says. Optional, but it makes the clone markedly closer to the source.',
912
+ voiceSourceIndex: 'Which audio holds the voice to clone, same numbering as other tools use for audio: -1 is the first upload, -2 the second, and 0-based non-negative indices address audio generated earlier. A resolved persona\'s full voice recording uses the index resolve_personas reports. Required for model="clone".',
913
+ voiceTranscript: 'What the uploaded clip says. Optional, but it makes the clone markedly closer to the source. Omit it for a persona voice recording; its saved transcript is filled in automatically.',
904
914
  },
905
915
  };
906
916
  const RESOLVE_PERSONAS_CONTRACT = {
907
917
  contractId: 'resolve_personas_v1',
908
- version: '1.0.0',
918
+ version: '1.1.0',
909
919
  toolName: 'resolve_personas',
910
920
  baseDescription: [
911
921
  'resolve_personas is the required first step when the user explicitly names a saved Persona',
@@ -913,16 +923,28 @@ const RESOLVE_PERSONAS_CONTRACT = {
913
923
  'or voice clone. Do not answer in prose, ask a follow-up, or finalize before calling this',
914
924
  'tool when a listed Persona name is present.',
915
925
  '',
916
- 'DIRECT PERSONA IMAGE / VOICE VIDEO: If the user says to use the Persona image/reference',
917
- 'directly/originally, call resolve_personas first, then call animate_photo using the injected',
918
- 'persona photo as an uploaded image index. For one named Persona, use sourceImageIndex=-1',
919
- 'or sourceImageIndices=[-1,...] for a multi-clip batch. If Persona Voice was explicitly',
920
- 'requested, set voicePersonaName to the exact resolved Persona name and use ltx23. Use',
921
- 'animate_photo when an image/source frame should be animated. Use generate_video with',
922
- 'ltx23 when the user requested a persona voice video but no image source exists yet.',
923
- 'Do not call sound_to_video for Persona voice clips; they are voice identity references,',
924
- 'not the audio track to synchronize. Do not generate a new image first when the user',
925
- 'explicitly requested the existing Persona image directly.',
926
+ 'REFERENCE-TO-VIDEO PERSONAS: On MiniMax H3 reference-to-video (minimax-h3-r2v*), Seedance',
927
+ '(seedance2*, seedance2-5*) or Wan 3 (wan3.0-video, wan3.0-spicy-video), pass the persona',
928
+ 'reference images this tool resolves (identity portrait, character sheet, full-body front,',
929
+ 'profile, back, expression) straight to generate_video as referenceImageIndices, using the',
930
+ 'negative uploaded indices it reports, with no edit_image step. Every clip or scene carries',
931
+ 'its own references. Bind each persona to its images in the prompt with the model\'s tokens:',
932
+ '@Image1 on Seedance, <Picture 1> on MiniMax H3, Image 1 on Wan 3.',
933
+ '',
934
+ 'DIRECT PERSONA IMAGE: On LTX and the other image-animation models, if the user says to use',
935
+ 'the Persona image/reference directly/originally, call resolve_personas first, then call',
936
+ 'animate_photo using the injected persona photo as an uploaded image index. For one named',
937
+ 'Persona, use sourceImageIndex=-1 or sourceImageIndices=[-1,...] for a multi-clip batch. Do',
938
+ 'not generate a new image first when the user explicitly requested the existing Persona image',
939
+ 'directly.',
940
+ '',
941
+ 'PERSONA VOICE: Only when the user asks for the persona\'s own voice, set voicePersonaName to',
942
+ 'the exact resolved Persona name. On ltx23 it is Audio ID: animate_photo when an image/source',
943
+ 'frame should be animated, generate_video when no image source exists yet. On MiniMax H3',
944
+ 'reference-to-video, Seedance and Wan 3, generate_video attaches the persona\'s short voice',
945
+ 'sample as an audio reference for its timbre. A voice sample is identity, not the soundtrack.',
946
+ 'Do not call sound_to_video for Persona voice clips. For speech alone, clone the persona\'s full',
947
+ 'voice recording with generate_speech (model="clone", voiceSourceIndex from this tool).',
926
948
  '',
927
949
  'MULTI-CLIP PERSONA BATCHES: If the user asks for several separate clips from the same',
928
950
  'Persona Image, make one animate_photo call after resolve_personas with repeated persona',