ux: rename kling3 chained payload port to payload_data
This commit is contained in:
@@ -374,9 +374,33 @@ def run_kling3_video(
|
||||
elements=elements,
|
||||
log=log,
|
||||
)
|
||||
return run_kling3_video_from_request(
|
||||
payload=payload,
|
||||
poll_interval_s=poll_interval_s,
|
||||
timeout_s=timeout_s,
|
||||
log=log,
|
||||
)
|
||||
|
||||
|
||||
def run_kling3_video_from_request(
|
||||
*,
|
||||
payload: dict[str, Any],
|
||||
poll_interval_s: float,
|
||||
timeout_s: int,
|
||||
log: bool,
|
||||
) -> Any:
|
||||
"""Submit a prebuilt Kling 3.0 createTask payload and return VIDEO output."""
|
||||
if not isinstance(payload, dict):
|
||||
raise _validation_error("request payload must be an object.")
|
||||
if payload.get("model") != MODEL_NAME:
|
||||
raise _validation_error(f"request payload model must be '{MODEL_NAME}'.")
|
||||
payload_input = payload.get("input")
|
||||
if not isinstance(payload_input, dict):
|
||||
raise _validation_error("request payload must include an input object.")
|
||||
|
||||
_log(log, "Creating Kling 3.0 video task...")
|
||||
start_time = time.time()
|
||||
api_key = _load_api_key()
|
||||
task_id, create_response_text = _create_task(api_key, payload)
|
||||
_log(log, f"createTask response (elapsed={time.time() - start_time:.1f}s): {create_response_text}")
|
||||
_log(log, f"Task created with ID {task_id}. Polling for completion...")
|
||||
|
||||
@@ -51,6 +51,7 @@ from .kie_api.kling3_video import (
|
||||
merge_kling3_elements,
|
||||
preflight_kling3_payload,
|
||||
run_kling3_video,
|
||||
run_kling3_video_from_request,
|
||||
)
|
||||
from .kie_api.suno_music import MODEL_OPTIONS as SUNO_MODEL_OPTIONS, run_suno_generate
|
||||
from .kie_api.gemini3_pro_llm import (
|
||||
@@ -782,6 +783,7 @@ Inputs:
|
||||
- sound: Single-shot only
|
||||
- element: Optional single KIE_ELEMENT
|
||||
- elements: Optional KIE_ELEMENTS batch
|
||||
- payload_data: Optional payload object from preflight (overrides direct inputs)
|
||||
- log: Console logging on/off
|
||||
|
||||
Rules:
|
||||
@@ -816,6 +818,8 @@ Outputs:
|
||||
"sound": ("BOOLEAN", {"default": True}),
|
||||
"element": ("KIE_ELEMENT",),
|
||||
"elements": ("KIE_ELEMENTS",),
|
||||
"payload_data": ("KIE_KLING3_REQUEST",),
|
||||
"request": ("KIE_KLING3_REQUEST",),
|
||||
"log": ("BOOLEAN", {"default": True}),
|
||||
},
|
||||
}
|
||||
@@ -838,10 +842,22 @@ Outputs:
|
||||
sound: bool = True,
|
||||
element: dict | None = None,
|
||||
elements: list[dict] | None = None,
|
||||
payload_data: dict | None = None,
|
||||
request: dict | None = None,
|
||||
log: bool = True,
|
||||
poll_interval_s: float = 10.0,
|
||||
timeout_s: int = 1000,
|
||||
):
|
||||
chained_payload = payload_data if payload_data is not None else request
|
||||
if chained_payload is not None:
|
||||
video_output = run_kling3_video_from_request(
|
||||
payload=chained_payload,
|
||||
poll_interval_s=poll_interval_s,
|
||||
timeout_s=timeout_s,
|
||||
log=log,
|
||||
)
|
||||
return (video_output,)
|
||||
|
||||
merged_elements: list[dict] | None = None
|
||||
if elements is not None:
|
||||
if not isinstance(elements, list):
|
||||
@@ -887,6 +903,7 @@ Inputs:
|
||||
- Same as KIE Kling 3.0 (Video)
|
||||
|
||||
Outputs:
|
||||
- KIE_KLING3_REQUEST: validated payload object for chaining into KIE Kling 3.0 (Video)
|
||||
- STRING: payload_json (exact payload that would be sent to createTask)
|
||||
- STRING: notes
|
||||
"""
|
||||
@@ -917,8 +934,8 @@ Outputs:
|
||||
},
|
||||
}
|
||||
|
||||
RETURN_TYPES = ("STRING", "STRING")
|
||||
RETURN_NAMES = ("payload_json", "notes")
|
||||
RETURN_TYPES = ("KIE_KLING3_REQUEST", "STRING", "STRING")
|
||||
RETURN_NAMES = ("payload_data", "payload_json", "notes")
|
||||
FUNCTION = "preflight"
|
||||
CATEGORY = "kie/helpers"
|
||||
|
||||
@@ -995,7 +1012,7 @@ Outputs:
|
||||
notes_lines.append("Element names: " + ", ".join(element_names))
|
||||
|
||||
notes = "\n".join(notes_lines)
|
||||
return (json.dumps(payload, indent=2, ensure_ascii=False), notes)
|
||||
return (payload, json.dumps(payload, indent=2, ensure_ascii=False), notes)
|
||||
|
||||
|
||||
class KIE_Flux2_I2I:
|
||||
|
||||
@@ -13,6 +13,7 @@ Validate Kling 3.0 inputs and build the exact payload JSON without submitting a
|
||||
- Same inputs as `KIE Kling 3.0 (Video)`.
|
||||
|
||||
## Outputs
|
||||
- `payload_data` (KIE_KLING3_REQUEST): validated payload object for direct chaining into `KIE Kling 3.0 (Video)`.
|
||||
- `payload_json` (STRING): exact request payload after validation and upload URL resolution.
|
||||
- `notes` (STRING): validation summary with detected settings and status.
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ Generate Kling 3.0 videos in single-shot or multi-shot mode.
|
||||
- `sound` (BOOLEAN, optional): single-shot only
|
||||
- `element` (KIE_ELEMENT, optional): one element
|
||||
- `elements` (KIE_ELEMENTS, optional): batched elements
|
||||
- `payload_data` (KIE_KLING3_REQUEST, optional): prebuilt validated payload from preflight; when connected, this overrides direct field inputs
|
||||
- `log` (BOOLEAN, optional)
|
||||
|
||||
## Rules
|
||||
|
||||
Reference in New Issue
Block a user