@sogni-ai/sogni-protocol 1.0.0-alpha.33 → 1.0.0-alpha.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/enums/tool-names.json +4 -0
- package/manifests/generation-tools.json +27 -1
- package/manifests/openai-tools.json +26 -1
- package/package.json +1 -1
- package/prompts/tools/upscale_video.json +10 -0
- package/prompts/tools/video_to_video.json +3 -3
- package/schemas/tools/upscale_video.schema.json +24 -0
- package/schemas/tools/video_to_video.schema.json +1 -1
- package/schemas/workflows/durable-workflow-run.schema.json +1 -0
- package/version.json +1 -1
package/enums/tool-names.json
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"extend_video",
|
|
17
17
|
"generate_image",
|
|
18
18
|
"generate_music",
|
|
19
|
+
"generate_speech",
|
|
19
20
|
"generate_video",
|
|
20
21
|
"orbit_video",
|
|
21
22
|
"overlay_video",
|
|
@@ -25,6 +26,7 @@
|
|
|
25
26
|
"sound_to_video",
|
|
26
27
|
"stitch_video",
|
|
27
28
|
"upscale_image",
|
|
29
|
+
"upscale_video",
|
|
28
30
|
"video_to_video"
|
|
29
31
|
],
|
|
30
32
|
"app": [
|
|
@@ -61,6 +63,7 @@
|
|
|
61
63
|
"finalize_response",
|
|
62
64
|
"generate_image",
|
|
63
65
|
"generate_music",
|
|
66
|
+
"generate_speech",
|
|
64
67
|
"generate_video",
|
|
65
68
|
"inspect_asset",
|
|
66
69
|
"label_asset",
|
|
@@ -76,6 +79,7 @@
|
|
|
76
79
|
"sound_to_video",
|
|
77
80
|
"stitch_video",
|
|
78
81
|
"upscale_image",
|
|
82
|
+
"upscale_video",
|
|
79
83
|
"validate_asset_references",
|
|
80
84
|
"video_to_video"
|
|
81
85
|
],
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
"apply_style": "../schemas/tools/apply_style.schema.json",
|
|
11
11
|
"restore_photo": "../schemas/tools/restore_photo.schema.json",
|
|
12
12
|
"upscale_image": "../schemas/tools/upscale_image.schema.json",
|
|
13
|
+
"upscale_video": "../schemas/tools/upscale_video.schema.json",
|
|
13
14
|
"refine_result": "../schemas/tools/refine_result.schema.json",
|
|
14
15
|
"animate_photo": "../schemas/tools/animate_photo.schema.json",
|
|
15
16
|
"change_angle": "../schemas/tools/change_angle.schema.json",
|
|
@@ -665,6 +666,31 @@
|
|
|
665
666
|
}
|
|
666
667
|
}
|
|
667
668
|
},
|
|
669
|
+
{
|
|
670
|
+
"type": "function",
|
|
671
|
+
"function": {
|
|
672
|
+
"name": "upscale_video",
|
|
673
|
+
"description": "Upscale an existing video to 1080p or 1440p with FlashVSR video super-resolution. This is promptless, deterministic enhancement, not a generative edit: it keeps every source frame, the exact frame rate, the full aspect ratio, and the original audio, and it never changes content, trims, crops, restyles, or interpolates frames. Use it when the user asks to upscale, enlarge, sharpen, or increase the resolution of an uploaded or previously generated video, or wants an HD, 1080p, 1440p, or 2K copy of it. Do not use it to create, restyle, extend, or edit a video; when the user explicitly asks a generative model such as Seedance to re-render the clip, use video_to_video. The output is at most twice the source size, so 1080p needs a source whose short edge is 540-768px and 1440p needs 720-768px, and the source can be at most about 1344x768 pixels (768x1344 in portrait). It must also be at most 362 frames and about 15 seconds long, 1-60 fps, and 100 MB. It cannot produce 4K or any size above 1440p; when the user asks for one, say so and offer 1440p. Each upscale costs credits based on the source video's size and length.",
|
|
674
|
+
"parameters": {
|
|
675
|
+
"type": "object",
|
|
676
|
+
"properties": {
|
|
677
|
+
"sourceVideoIndex": {
|
|
678
|
+
"type": "number",
|
|
679
|
+
"description": "Source video to upscale. Non-negative values select a prior generated video result by 0-based index. Negative values select uploaded videos: -1 is the first uploaded video, -2 the second, and so on. If omitted, use the latest generated video, falling back to the most recent uploaded video."
|
|
680
|
+
},
|
|
681
|
+
"targetResolution": {
|
|
682
|
+
"type": "number",
|
|
683
|
+
"enum": [
|
|
684
|
+
1080,
|
|
685
|
+
1440
|
|
686
|
+
],
|
|
687
|
+
"description": "Output resolution of the short edge in pixels: 1440 for 1440p/2K or 1080 for 1080p/Full HD. The long edge follows the source aspect ratio, so portrait videos stay portrait. Default: 1440, or 1080 when the source's short edge is below 720px. Set 1080 when the user asks for 1080p or Full HD."
|
|
688
|
+
}
|
|
689
|
+
},
|
|
690
|
+
"required": []
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
},
|
|
668
694
|
{
|
|
669
695
|
"type": "function",
|
|
670
696
|
"function": {
|
|
@@ -903,7 +929,7 @@
|
|
|
903
929
|
"type": "function",
|
|
904
930
|
"function": {
|
|
905
931
|
"name": "video_to_video",
|
|
906
|
-
"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. LTX 2.5 Fast, HQ, and Pro use the release-validated official Distilled workflow for canny/pose/depth/detailer/inpaint/outpaint; Dev is not publicly routed until upstream publishes and Sogni validates an official ComfyUI Dev recipe. 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. Wan 3 is not a source-video editing model; its video inputs are loose references handled by generate_video.",
|
|
932
|
+
"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. LTX 2.5 Fast, HQ, and Pro use the release-validated official Distilled workflow for canny/pose/depth/detailer/inpaint/outpaint; Dev is not publicly routed until upstream publishes and Sogni validates an official ComfyUI Dev recipe. 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. For a pure resolution upscale that keeps the same content (a sharper 1080p or 1440p copy), use upscale_video instead. Wan 3 is not a source-video editing model; its video inputs are loose references handled by generate_video.",
|
|
907
933
|
"parameters": {
|
|
908
934
|
"type": "object",
|
|
909
935
|
"properties": {
|
|
@@ -608,6 +608,31 @@
|
|
|
608
608
|
}
|
|
609
609
|
}
|
|
610
610
|
},
|
|
611
|
+
{
|
|
612
|
+
"type": "function",
|
|
613
|
+
"function": {
|
|
614
|
+
"name": "upscale_video",
|
|
615
|
+
"description": "Upscale an existing video to 1080p or 1440p with FlashVSR video super-resolution. This is promptless, deterministic enhancement, not a generative edit: it keeps every source frame, the exact frame rate, the full aspect ratio, and the original audio, and it never changes content, trims, crops, restyles, or interpolates frames. Use it when the user asks to upscale, enlarge, sharpen, or increase the resolution of an uploaded or previously generated video, or wants an HD, 1080p, 1440p, or 2K copy of it. Do not use it to create, restyle, extend, or edit a video; when the user explicitly asks a generative model such as Seedance to re-render the clip, use video_to_video. The output is at most twice the source size, so 1080p needs a source whose short edge is 540-768px and 1440p needs 720-768px, and the source can be at most about 1344x768 pixels (768x1344 in portrait). It must also be at most 362 frames and about 15 seconds long, 1-60 fps, and 100 MB. It cannot produce 4K or any size above 1440p; when the user asks for one, say so and offer 1440p. Each upscale costs credits based on the source video's size and length.",
|
|
616
|
+
"parameters": {
|
|
617
|
+
"type": "object",
|
|
618
|
+
"properties": {
|
|
619
|
+
"sourceVideoIndex": {
|
|
620
|
+
"type": "number",
|
|
621
|
+
"description": "Source video to upscale. Non-negative values select a prior generated video result by 0-based index. Negative values select uploaded videos: -1 is the first uploaded video, -2 the second, and so on. If omitted, use the latest generated video, falling back to the most recent uploaded video."
|
|
622
|
+
},
|
|
623
|
+
"targetResolution": {
|
|
624
|
+
"type": "number",
|
|
625
|
+
"enum": [
|
|
626
|
+
1080,
|
|
627
|
+
1440
|
|
628
|
+
],
|
|
629
|
+
"description": "Output resolution of the short edge in pixels: 1440 for 1440p/2K or 1080 for 1080p/Full HD. The long edge follows the source aspect ratio, so portrait videos stay portrait. Default: 1440, or 1080 when the source's short edge is below 720px. Set 1080 when the user asks for 1080p or Full HD."
|
|
630
|
+
}
|
|
631
|
+
},
|
|
632
|
+
"required": []
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
},
|
|
611
636
|
{
|
|
612
637
|
"type": "function",
|
|
613
638
|
"function": {
|
|
@@ -846,7 +871,7 @@
|
|
|
846
871
|
"type": "function",
|
|
847
872
|
"function": {
|
|
848
873
|
"name": "video_to_video",
|
|
849
|
-
"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. LTX 2.5 Fast, HQ, and Pro use the release-validated official Distilled workflow for canny/pose/depth/detailer/inpaint/outpaint; Dev is not publicly routed until upstream publishes and Sogni validates an official ComfyUI Dev recipe. 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. Wan 3 is not a source-video editing model; its video inputs are loose references handled by generate_video.",
|
|
874
|
+
"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. LTX 2.5 Fast, HQ, and Pro use the release-validated official Distilled workflow for canny/pose/depth/detailer/inpaint/outpaint; Dev is not publicly routed until upstream publishes and Sogni validates an official ComfyUI Dev recipe. 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. For a pure resolution upscale that keeps the same content (a sharper 1080p or 1440p copy), use upscale_video instead. Wan 3 is not a source-video editing model; its video inputs are loose references handled by generate_video.",
|
|
850
875
|
"parameters": {
|
|
851
876
|
"type": "object",
|
|
852
877
|
"properties": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sogni-ai/sogni-protocol",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.34",
|
|
4
4
|
"description": "Language-neutral protocol artifacts for the Sogni ecosystem: tool schemas, prompts, OpenAI tool manifests, and enums. Consumed by every Sogni SDK (TypeScript, Swift, and future Python/Kotlin/Rust SDKs) so contracts stay in lockstep across languages.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sogni",
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"contractId": "upscale_video_v1",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"toolName": "upscale_video",
|
|
5
|
+
"baseDescription": "upscale_video performs promptless, deterministic FlashVSR super-resolution of exactly one\nuploaded or generated video. Use it when the user asks to upscale, enlarge, sharpen, or increase\nthe resolution of an existing video, or wants a 1080p, 1440p, 2K, or HD copy of it. The output\nkeeps every source frame, the exact frame rate, the full aspect ratio, and the original audio.\n\nDo not invent a prompt and do not route a pure video upscale through video_to_video,\ngenerate_video, extend_video, or replace_video_segment; those tools re-render or edit content.\nUse video_to_video only when the user explicitly names a generative model such as Seedance for\nthe re-render. Do not use upscale_image for videos.\n\nOmit sourceVideoIndex to use the latest generated video, falling back to the most recent upload.\nUse zero-based non-negative indices for generated videos; -1 selects the first uploaded video\nand -2 the second. targetResolution is the output short edge: omit it for 1440p (or 1080p when\nthe source is too small for 1440p), and set 1080 when the user asks for 1080p or Full HD.\nThe output is at most twice the source size, so 1440p needs a source short edge of 720-768px\nand 1080p needs 540-768px. Sources must also be at most about 1344x768 pixels (768x1344 in\nportrait), 362 frames (about 15 seconds), 1-60 fps, and 100 MB. If the tool reports the source\nis outside these limits, explain the limit to the user instead of switching to a generative\nvideo tool. It cannot produce 4K or any size above 1440p: when the user asks for one, say so and\noffer 1440p instead of silently delivering less.",
|
|
6
|
+
"parameterDocs": {
|
|
7
|
+
"sourceVideoIndex": "Omit for the latest generated video, then the most recent upload. Generated videos are zero-based; -1/-2 select uploaded videos.",
|
|
8
|
+
"targetResolution": "Output short edge in pixels: 1440 or 1080. Omit for the default (1440, or 1080 for sources under 720px); set 1080 when the user asks for 1080p or Full HD."
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"contractId": "video_to_video_v1",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"toolName": "video_to_video",
|
|
5
|
-
"baseDescription": "video_to_video transforms an uploaded video. LTX 2.5 is the default for canny, pose, depth, detailer, inpaint, and outpaint; use LTX 2.3 only for explicit rollback. LTX 2.5 Distilled supports all six controls, while Dev + Speed LoRA supports canny, pose, depth, and detailer. Use WAN Animate for motion transfer or subject replacement, and Seedance V2V only when explicitly requested.\n\nThis tool requires an uploaded video source. Do not use it for generated video indices. For generated or uploaded partial edits use replace_video_segment; for appended time use extend_video; for logos/text overlays use overlay_video; for stitching use stitch_video.\n\nChoose controlMode by intent. Use detailer for
|
|
5
|
+
"baseDescription": "video_to_video transforms an uploaded video. LTX 2.5 is the default for canny, pose, depth, detailer, inpaint, and outpaint; use LTX 2.3 only for explicit rollback. LTX 2.5 Distilled supports all six controls, while Dev + Speed LoRA supports canny, pose, depth, and detailer. Use WAN Animate for motion transfer or subject replacement, and Seedance V2V only when explicitly requested.\n\nFor a pure resolution upscale (a sharper 1080p, 1440p, 2K, or HD copy of the same video), use upscale_video instead; it is promptless and keeps every frame, the frame rate, and the audio.\n\nThis tool requires an uploaded video source. Do not use it for generated video indices. For generated or uploaded partial edits use replace_video_segment; for appended time use extend_video; for logos/text overlays use overlay_video; for stitching use stitch_video.\n\nChoose controlMode by intent. Use detailer for generative detail enhancement without restyling when the user wants the content re-rendered rather than only more resolution. For detailer, describe the original scene plus quality terms, not new content.",
|
|
6
6
|
"parameterDocs": {
|
|
7
7
|
"prompt": "Describe the target appearance in present tense. For detailer, describe the original content plus quality qualifiers only.",
|
|
8
8
|
"videoSourceIndex": "Uploaded video index. Omit when there is one uploaded video; use 0 for first uploaded video or -1 if using negative upload notation.",
|
|
9
|
-
"controlMode": "Pick from intent: detailer for
|
|
9
|
+
"controlMode": "Pick from intent: detailer for generative enhancement, inpaint/outpaint for masked or canvas edits, seedance-v2v for explicit Seedance V2V, canny/depth/pose for control-guided restyles, animate-move/replace for WAN Animate.",
|
|
10
10
|
"sourceImageIndex": "Required for animate-move and animate-replace. Ignored by canny, depth, and detailer.",
|
|
11
11
|
"duration": "Set only when the user requests a different output length; otherwise let the tool match/cap the source duration."
|
|
12
12
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.sogni.ai/creative-agent/2026-09-10.1/tools/upscale_video.schema.json",
|
|
4
|
+
"title": "upscale_video arguments",
|
|
5
|
+
"schemaVersion": "2026-09-10.1",
|
|
6
|
+
"description": "Upscale an existing video to 1080p or 1440p with FlashVSR video super-resolution. This is promptless, deterministic enhancement, not a generative edit: it keeps every source frame, the exact frame rate, the full aspect ratio, and the original audio, and it never changes content, trims, crops, restyles, or interpolates frames. Use it when the user asks to upscale, enlarge, sharpen, or increase the resolution of an uploaded or previously generated video, or wants an HD, 1080p, 1440p, or 2K copy of it. Do not use it to create, restyle, extend, or edit a video; when the user explicitly asks a generative model such as Seedance to re-render the clip, use video_to_video. The output is at most twice the source size, so 1080p needs a source whose short edge is 540-768px and 1440p needs 720-768px, and the source can be at most about 1344x768 pixels (768x1344 in portrait). It must also be at most 362 frames and about 15 seconds long, 1-60 fps, and 100 MB. It cannot produce 4K or any size above 1440p; when the user asks for one, say so and offer 1440p. Each upscale costs credits based on the source video's size and length.",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"sourceVideoIndex": {
|
|
11
|
+
"type": "number",
|
|
12
|
+
"description": "Source video to upscale. Non-negative values select a prior generated video result by 0-based index. Negative values select uploaded videos: -1 is the first uploaded video, -2 the second, and so on. If omitted, use the latest generated video, falling back to the most recent uploaded video."
|
|
13
|
+
},
|
|
14
|
+
"targetResolution": {
|
|
15
|
+
"type": "number",
|
|
16
|
+
"enum": [
|
|
17
|
+
1080,
|
|
18
|
+
1440
|
|
19
|
+
],
|
|
20
|
+
"description": "Output resolution of the short edge in pixels: 1440 for 1440p/2K or 1080 for 1080p/Full HD. The long edge follows the source aspect ratio, so portrait videos stay portrait. Default: 1440, or 1080 when the source's short edge is below 720px. Set 1080 when the user asks for 1080p or Full HD."
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"required": []
|
|
24
|
+
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"$id": "https://schemas.sogni.ai/creative-agent/2026-07-18.1/tools/video_to_video.schema.json",
|
|
4
4
|
"title": "video_to_video arguments",
|
|
5
5
|
"schemaVersion": "2026-07-18.1",
|
|
6
|
-
"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. LTX 2.5 Fast, HQ, and Pro use the release-validated official Distilled workflow for canny/pose/depth/detailer/inpaint/outpaint; Dev is not publicly routed until upstream publishes and Sogni validates an official ComfyUI Dev recipe. 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. Wan 3 is not a source-video editing model; its video inputs are loose references handled by generate_video.",
|
|
6
|
+
"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. LTX 2.5 Fast, HQ, and Pro use the release-validated official Distilled workflow for canny/pose/depth/detailer/inpaint/outpaint; Dev is not publicly routed until upstream publishes and Sogni validates an official ComfyUI Dev recipe. 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. For a pure resolution upscale that keeps the same content (a sharper 1080p or 1440p copy), use upscale_video instead. Wan 3 is not a source-video editing model; its video inputs are loose references handled by generate_video.",
|
|
7
7
|
"type": "object",
|
|
8
8
|
"additionalProperties": false,
|
|
9
9
|
"properties": {
|
package/version.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"protocolVersion": "4.
|
|
2
|
+
"protocolVersion": "4.4.0",
|
|
3
3
|
"description": "Sogni protocol artifact version. SDKs may refuse to operate against a protocolVersion they were not built for. Bump the major when removing or renaming any schema / enum / manifest field; bump the minor when adding new optional fields or new tools; bump the patch for description / prose changes only."
|
|
4
4
|
}
|