@sogni-ai/sogni-protocol 1.0.0-alpha.25 → 1.0.0-alpha.26

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.
@@ -12,26 +12,26 @@
12
12
  "type": "function",
13
13
  "function": {
14
14
  "name": "enhance_prompt",
15
- "description": "Enhance or adapt a source prompt into a model-ready image, video, music, or edit prompt. Use for prompt expansion and model-specific prompt preparation. Do not use for lyrics or full scripts.",
15
+ "description": "Author or adapt a directly runnable image, video, or image-edit prompt in an exact active model's native format. Use this when the requested text deliverable is explicitly a prompt for a named media model, including a commercial prompt; always pass destination_model and the matching target_output. Unknown, sunset, or omitted models fail closed. Do not use for lyrics, music composition, screenplays, storyboards, treatments, or ad scripts.",
16
16
  "parameters": {
17
17
  "type": "object",
18
18
  "additionalProperties": false,
19
- "required": ["prompt"],
19
+ "required": ["prompt", "target_output", "destination_model"],
20
20
  "properties": {
21
21
  "prompt": { "type": "string", "description": "The source prompt, rough idea, or prompt revision request to enhance." },
22
- "target_output": { "type": "string", "enum": ["image_prompt", "video_prompt", "music_prompt", "edit_prompt", "model_prompt", "general_prompt"], "description": "The kind of prompt artifact to produce." },
23
- "destination_model": { "type": "string", "description": "Optional destination model selector, such as seedance2, ltx23, wan22, gpt-image-2, or sdxl." },
24
- "destination_tool": { "type": "string", "description": "Optional downstream generation tool, such as generate_image, edit_image, generate_video, animate_photo, sound_to_video, video_to_video, or generate_music." },
25
- "prompting_type": { "type": "string", "enum": ["flux", "sdxl", "sd15", "pony", "fast", "sd3", "editing", "video"], "description": "Optional image-prompting family when producing an image prompt." },
26
- "model_title": { "type": "string", "description": "Optional human-readable target model name for image prompt guidance." },
22
+ "target_output": { "type": "string", "enum": ["image_prompt", "video_prompt", "edit_prompt", "model_prompt"], "description": "The model-specific prompt artifact to produce. Use model_prompt only when destination_model unambiguously identifies the modality." },
23
+ "destination_model": { "type": "string", "description": "Required exact active destination model selector, such as seedance2, ltx25, ltx23, wan22, minimax-h3-turbo, qwen, gpt-image-2, krea-2-turbo, chroma-v46-flash, or sdxl. Unknown and sunset models fail closed." },
24
+ "destination_tool": { "type": "string", "description": "Optional downstream generation tool, such as generate_image, edit_image, generate_video, animate_photo, sound_to_video, or video_to_video." },
25
+ "prompting_type": { "type": "string", "enum": ["flux", "sdxl", "sd15", "pony", "fast", "sd3", "editing", "video"], "description": "Deprecated compatibility metadata. It never selects or overrides the prompt grammar; destination_model is authoritative." },
26
+ "model_title": { "type": "string", "description": "Deprecated compatibility label. It never selects or overrides the prompt grammar; destination_model is authoritative." },
27
27
  "style_prompt": { "type": "string", "description": "Optional current style, brand, or prompt context to complement without repeating." },
28
28
  "prompt_mode": { "type": "string", "enum": ["auto", "preserve", "expand", "compress", "validate", "payload"], "description": "Optional model prompt adaptation mode." },
29
- "duration_seconds": { "type": "number", "minimum": 1, "maximum": 300, "description": "Requested runtime when enhancing a video or music prompt." },
29
+ "duration_seconds": { "type": "number", "minimum": 1, "maximum": 300, "description": "Requested runtime when authoring a video prompt." },
30
30
  "aspect_ratio": { "type": "string", "description": "Optional target aspect ratio, such as 16:9, 9:16, 1:1, 4:5, or 21:9." },
31
31
  "assets": {
32
32
  "type": "array",
33
- "maxItems": 12,
34
- "description": "Optional available assets the enhanced prompt may reference.",
33
+ "maxItems": 50,
34
+ "description": "Optional available assets the authored prompt may reference. The selected exact model contract applies its per-modality and total limits.",
35
35
  "items": {
36
36
  "type": "object",
37
37
  "additionalProperties": false,
@@ -89,7 +89,7 @@
89
89
  "type": "function",
90
90
  "function": {
91
91
  "name": "compose_script",
92
- "description": "Compose scripts, storyboards, video prompts, ad concepts, trailers, social shorts, campaign beats, and talking-head plans. Use for creative writing artifacts. Do not use for lyrics or simple prompt expansion.",
92
+ "description": "Compose scripts, screenplays, storyboards, treatments, ad concepts, trailers, social shorts, campaign beats, and talking-head plans. Use for creative-writing artifacts that are not directly runnable model prompts. When the user explicitly asks for a prompt for a named image or video model, use enhance_prompt instead, even if the prompt is for a commercial. Do not use for lyrics.",
93
93
  "parameters": {
94
94
  "type": "object",
95
95
  "additionalProperties": false,
@@ -1314,12 +1314,14 @@
1314
1314
  "type": "function",
1315
1315
  "function": {
1316
1316
  "name": "enhance_prompt",
1317
- "description": "Enhance or adapt a source prompt into a model-ready image, video, music, or edit prompt. Use for prompt expansion and model-specific prompt preparation. Do not use for lyrics or full scripts.",
1317
+ "description": "Author or adapt a directly runnable image, video, or image-edit prompt in an exact active model's native format. Use this when the requested text deliverable is explicitly a prompt for a named media model, including a commercial prompt; always pass destination_model and the matching target_output. Unknown, sunset, or omitted models fail closed. Do not use for lyrics, music composition, screenplays, storyboards, treatments, or ad scripts.",
1318
1318
  "parameters": {
1319
1319
  "type": "object",
1320
1320
  "additionalProperties": false,
1321
1321
  "required": [
1322
- "prompt"
1322
+ "prompt",
1323
+ "target_output",
1324
+ "destination_model"
1323
1325
  ],
1324
1326
  "properties": {
1325
1327
  "prompt": {
@@ -1331,20 +1333,18 @@
1331
1333
  "enum": [
1332
1334
  "image_prompt",
1333
1335
  "video_prompt",
1334
- "music_prompt",
1335
1336
  "edit_prompt",
1336
- "model_prompt",
1337
- "general_prompt"
1337
+ "model_prompt"
1338
1338
  ],
1339
- "description": "The kind of prompt artifact to produce."
1339
+ "description": "The model-specific prompt artifact to produce. Use model_prompt only when destination_model unambiguously identifies the modality."
1340
1340
  },
1341
1341
  "destination_model": {
1342
1342
  "type": "string",
1343
- "description": "Optional destination model selector, such as seedance2, ltx23, wan22, gpt-image-2, or sdxl."
1343
+ "description": "Required exact active destination model selector, such as seedance2, ltx25, ltx23, wan22, minimax-h3-turbo, qwen, gpt-image-2, krea-2-turbo, chroma-v46-flash, or sdxl. Unknown and sunset models fail closed."
1344
1344
  },
1345
1345
  "destination_tool": {
1346
1346
  "type": "string",
1347
- "description": "Optional downstream generation tool, such as generate_image, edit_image, generate_video, animate_photo, sound_to_video, video_to_video, or generate_music."
1347
+ "description": "Optional downstream generation tool, such as generate_image, edit_image, generate_video, animate_photo, sound_to_video, or video_to_video."
1348
1348
  },
1349
1349
  "prompting_type": {
1350
1350
  "type": "string",
@@ -1358,11 +1358,11 @@
1358
1358
  "editing",
1359
1359
  "video"
1360
1360
  ],
1361
- "description": "Optional image-prompting family when producing an image prompt."
1361
+ "description": "Deprecated compatibility metadata. It never selects or overrides the prompt grammar; destination_model is authoritative."
1362
1362
  },
1363
1363
  "model_title": {
1364
1364
  "type": "string",
1365
- "description": "Optional human-readable target model name for image prompt guidance."
1365
+ "description": "Deprecated compatibility label. It never selects or overrides the prompt grammar; destination_model is authoritative."
1366
1366
  },
1367
1367
  "style_prompt": {
1368
1368
  "type": "string",
@@ -1384,7 +1384,7 @@
1384
1384
  "type": "number",
1385
1385
  "minimum": 1,
1386
1386
  "maximum": 300,
1387
- "description": "Requested runtime when enhancing a video or music prompt."
1387
+ "description": "Requested runtime when authoring a video prompt."
1388
1388
  },
1389
1389
  "aspect_ratio": {
1390
1390
  "type": "string",
@@ -1392,8 +1392,8 @@
1392
1392
  },
1393
1393
  "assets": {
1394
1394
  "type": "array",
1395
- "maxItems": 12,
1396
- "description": "Optional available assets the enhanced prompt may reference.",
1395
+ "maxItems": 50,
1396
+ "description": "Optional available assets the authored prompt may reference. The selected exact model contract applies its per-modality and total limits.",
1397
1397
  "items": {
1398
1398
  "type": "object",
1399
1399
  "additionalProperties": false,
@@ -1510,7 +1510,7 @@
1510
1510
  "type": "function",
1511
1511
  "function": {
1512
1512
  "name": "compose_script",
1513
- "description": "Compose scripts, storyboards, video prompts, ad concepts, trailers, social shorts, campaign beats, and talking-head plans. Use for creative writing artifacts. Do not use for lyrics or simple prompt expansion.",
1513
+ "description": "Compose scripts, screenplays, storyboards, treatments, ad concepts, trailers, social shorts, campaign beats, and talking-head plans. Use for creative-writing artifacts that are not directly runnable model prompts. When the user explicitly asks for a prompt for a named image or video model, use enhance_prompt instead, even if the prompt is for a commercial. Do not use for lyrics.",
1514
1514
  "parameters": {
1515
1515
  "type": "object",
1516
1516
  "additionalProperties": false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sogni-ai/sogni-protocol",
3
- "version": "1.0.0-alpha.25",
3
+ "version": "1.0.0-alpha.26",
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",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "contractId": "compose_script_v1",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "toolName": "compose_script",
5
- "baseDescription": "compose_script composes scripts, storyboards, video prompts, ad concepts, trailers, social\nshorts, campaign beats, and talking-head plans. Use for creative writing artifacts where\nthe user wants prose, scenes, beats, or a script-shaped deliverable.\n\nDo not use compose_script for song lyrics — use compose_lyrics. Do not use it for simple\nprompt expansion — use enhance_prompt. Do not use it to plan a runnable multi-step\nworkflow — use compose_workflow or compose_workflow_template.\n\ncompose_script returns a creative-writing deliverable. When the script is meant to feed a\ndownstream video tool, pair it with destination_tool/destination_model so the output is\ntuned for that pipeline; the caller still has to invoke the generation tool itself.",
5
+ "baseDescription": "compose_script composes scripts, screenplays, storyboards, treatments, ad concepts, trailers,\nsocial shorts, campaign beats, and talking-head plans. Use it for prose, scenes, beats, or\nother script-shaped creative-writing deliverables.\n\nWhen the user explicitly asks for a directly runnable prompt for a named image or video\nmodel, use enhance_prompt instead, even when the subject is a commercial. Do not use\ncompose_script for song lyrics, instrumental composition, simple prompt authoring, or a\nrunnable multi-step workflow.\n\ncompose_script returns a creative-writing deliverable. When that deliverable will later feed\na video pipeline, destination_tool and destination_model may record the intended handoff;\nthey do not turn the result into the model's native prompt contract.",
6
6
  "parameterDocs": {
7
7
  "brief": "The creative writing brief, story idea, product concept, video idea, or revision request.",
8
8
  "script_type": "The kind of script or creative writing artifact to produce. One of video_prompt, screenplay, storyboard, ad_script, trailer, social_short, talking_head, campaign, or revision.",
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "contractId": "enhance_prompt_v1",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "toolName": "enhance_prompt",
5
- "baseDescription": "enhance_prompt enhances or adapts a source prompt into a model-ready image, video, music, or\nedit prompt. Use for prompt expansion and model-specific prompt preparation when the caller\nhas a rough idea, a revision request, or a prompt that needs to be tuned for a specific\ndownstream model or generation tool.\n\nDo not use enhance_prompt for full creative-writing artifacts. Use compose_script for\nscripts, storyboards, ad concepts, trailers, and talking-head plans. Use compose_lyrics for\nsong lyrics and compose_instrumental for instrumental music structure. Do not use\nenhance_prompt to plan a multi-step workflow — use compose_workflow or\ncompose_workflow_template instead.\n\nenhance_prompt returns prompt text. The caller is responsible for handing the enhanced\nprompt to the chosen downstream generation tool (generate_image, edit_image,\ngenerate_video, animate_photo, sound_to_video, video_to_video, generate_music, etc.).",
5
+ "baseDescription": "enhance_prompt authors a directly runnable image, video, or image-edit prompt in the native\nformat of one exact active destination model. Use it when the requested text deliverable is\nexplicitly a prompt for a named media model, including a commercial prompt. The caller must\nprovide destination_model and target_output; unknown, sunset, and omitted models fail closed.\n\nDo not use enhance_prompt for model-neutral prompts, music composition, lyrics, screenplays,\nstoryboards, treatments, ad scripts, or multi-step workflow plans. Use compose_script for\ncreative-writing artifacts, compose_lyrics or compose_instrumental for music, and\ncompose_workflow or compose_workflow_template for workflows.\n\nenhance_prompt returns prompt text only. The caller is responsible for handing it to the\nmatching downstream generation tool.",
6
6
  "parameterDocs": {
7
7
  "prompt": "The source prompt, rough idea, or prompt revision request to enhance.",
8
- "target_output": "The kind of prompt artifact to produce. One of image_prompt, video_prompt, music_prompt, edit_prompt, model_prompt, or general_prompt.",
9
- "destination_model": "Optional destination model selector, such as seedance2, ltx25, ltx23, wan22, gpt-image-2, or sdxl.",
10
- "destination_tool": "Optional downstream generation tool, such as generate_image, edit_image, generate_video, animate_photo, sound_to_video, video_to_video, or generate_music.",
11
- "prompting_type": "Optional image-prompting family when producing an image prompt. One of flux, sdxl, sd15, pony, fast, sd3, editing, or video.",
12
- "model_title": "Optional human-readable target model name for image prompt guidance.",
8
+ "target_output": "Required model-specific artifact kind: image_prompt, video_prompt, edit_prompt, or model_prompt. Use model_prompt only when destination_model identifies the modality.",
9
+ "destination_model": "Required exact active model selector. Unknown and sunset models fail closed.",
10
+ "destination_tool": "Optional matching downstream generation tool for the authored prompt.",
11
+ "prompting_type": "Deprecated compatibility metadata. It never selects or overrides the prompt grammar; destination_model is authoritative.",
12
+ "model_title": "Deprecated compatibility label. It never selects or overrides the prompt grammar; destination_model is authoritative.",
13
13
  "style_prompt": "Optional current style, brand, or prompt context to complement without repeating.",
14
14
  "prompt_mode": "Optional model prompt adaptation mode. One of auto, preserve, expand, compress, validate, or payload.",
15
- "duration_seconds": "Requested runtime in seconds (1-300) when enhancing a video or music prompt.",
15
+ "duration_seconds": "Requested runtime in seconds (1-300) when authoring a video prompt.",
16
16
  "aspect_ratio": "Optional target aspect ratio, such as 16:9, 9:16, 1:1, 4:5, or 21:9.",
17
- "assets": "Optional available assets (max 12) the enhanced prompt may reference. Each entry needs media_type (image/video/audio) and may include id, label, role, and url.",
17
+ "assets": "Optional available assets (schema max 50) the prompt may reference. The exact destination model applies smaller per-modality and total limits.",
18
18
  "constraints": "Optional production, brand, model, or user constraints to preserve."
19
19
  }
20
20
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "title": "compose_script tool schema",
3
3
  "schemaVersion": "2026-05-14.1",
4
- "description": "Synchronous creative writing utility for scripts, storyboards, video prompts, ad concepts, trailers, social shorts, campaign beats, and talking-head plans.",
4
+ "description": "Synchronous creative-writing utility for scripts, screenplays, storyboards, treatments, ad concepts, trailers, social shorts, campaign beats, and talking-head plans. Directly runnable prompts for named media models belong to enhance_prompt.",
5
5
  "type": "object",
6
6
  "additionalProperties": false,
7
7
  "required": ["brief"],
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "title": "enhance_prompt tool schema",
3
3
  "schemaVersion": "2026-05-14.1",
4
- "description": "Synchronous prompt enhancement utility for expanding or adapting a source prompt into a model-ready image, video, music, or edit prompt.",
4
+ "description": "Synchronous prompt-authoring utility for expanding or adapting a source prompt into an exact active image, video, or image-edit model's native prompt format.",
5
5
  "type": "object",
6
6
  "additionalProperties": false,
7
- "required": ["prompt"],
7
+ "required": ["prompt", "target_output", "destination_model"],
8
8
  "properties": {
9
9
  "prompt": {
10
10
  "type": "string",
@@ -12,25 +12,25 @@
12
12
  },
13
13
  "target_output": {
14
14
  "type": "string",
15
- "enum": ["image_prompt", "video_prompt", "music_prompt", "edit_prompt", "model_prompt", "general_prompt"],
16
- "description": "The kind of prompt artifact to produce."
15
+ "enum": ["image_prompt", "video_prompt", "edit_prompt", "model_prompt"],
16
+ "description": "The model-specific prompt artifact to produce. Use model_prompt only when destination_model unambiguously identifies the modality."
17
17
  },
18
18
  "destination_model": {
19
19
  "type": "string",
20
- "description": "Optional destination model selector, such as seedance2, ltx25, ltx23, wan22, gpt-image-2, or sdxl."
20
+ "description": "Required exact active destination model selector, such as seedance2, ltx25, ltx23, wan22, minimax-h3-turbo, qwen, gpt-image-2, krea-2-turbo, chroma-v46-flash, or sdxl. Unknown and sunset models fail closed."
21
21
  },
22
22
  "destination_tool": {
23
23
  "type": "string",
24
- "description": "Optional downstream generation tool, such as generate_image, edit_image, generate_video, animate_photo, sound_to_video, video_to_video, or generate_music."
24
+ "description": "Optional downstream generation tool, such as generate_image, edit_image, generate_video, animate_photo, sound_to_video, or video_to_video."
25
25
  },
26
26
  "prompting_type": {
27
27
  "type": "string",
28
28
  "enum": ["flux", "sdxl", "sd15", "pony", "fast", "sd3", "editing", "video"],
29
- "description": "Optional image-prompting family when producing an image prompt."
29
+ "description": "Deprecated compatibility metadata. It never selects or overrides the prompt grammar; destination_model is authoritative."
30
30
  },
31
31
  "model_title": {
32
32
  "type": "string",
33
- "description": "Optional human-readable target model name for image prompt guidance."
33
+ "description": "Deprecated compatibility label. It never selects or overrides the prompt grammar; destination_model is authoritative."
34
34
  },
35
35
  "style_prompt": {
36
36
  "type": "string",
@@ -45,7 +45,7 @@
45
45
  "type": "number",
46
46
  "minimum": 1,
47
47
  "maximum": 300,
48
- "description": "Requested runtime when enhancing a video or music prompt."
48
+ "description": "Requested runtime when authoring a video prompt."
49
49
  },
50
50
  "aspect_ratio": {
51
51
  "type": "string",
@@ -53,8 +53,8 @@
53
53
  },
54
54
  "assets": {
55
55
  "type": "array",
56
- "maxItems": 12,
57
- "description": "Optional available assets the enhanced prompt may reference.",
56
+ "maxItems": 50,
57
+ "description": "Optional available assets the authored prompt may reference. The selected exact model contract applies its per-modality and total limits.",
58
58
  "items": {
59
59
  "type": "object",
60
60
  "additionalProperties": false,
package/version.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
- "protocolVersion": "2.1.0",
2
+ "protocolVersion": "3.0.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
  }