Comfy-Org/ComfyUI · error · RuntimeError

Kling 3.0 Turbo create failed. Code: {create.code}, Message:

Error message

Kling 3.0 Turbo create failed. Code: {create.code}, Message: {create.message}

What it means

Raised when the Kling 3.0 Turbo task-creation response has no data.id — the create call (text-to-video or image-to-video) was rejected, so there is no task id to poll. The error message surfaces the business code and message from Kling.

Source

Thrown at comfy_api_nodes/nodes_kling.py:2255

            ApiEndpoint(path="/proxy/kling/image-to-video/kling-3.0-turbo", method="POST"),
            response_model=Kling3TurboCreateResponse,
            data=Kling3TurboImage2VideoRequest(
                contents=contents,
                settings=Kling3TurboSettings(resolution=resolution, duration=duration),  # i2v: no aspect_ratio
            ),
        )
    else:
        create = await sync_op(
            cls,
            ApiEndpoint(path="/proxy/kling/text-to-video/kling-3.0-turbo", method="POST"),
            response_model=Kling3TurboCreateResponse,
            data=Kling3TurboText2VideoRequest(
                prompt=prompt,
                settings=Kling3TurboSettings(resolution=resolution, aspect_ratio=aspect_ratio, duration=duration),
            ),
        )
    if not (create.data and create.data.id):
        raise RuntimeError(f"Kling 3.0 Turbo create failed. Code: {create.code}, Message: {create.message}")
    final_response = await poll_op(
        cls,
        ApiEndpoint(path="/proxy/kling/tasks", query_params={"task_ids": create.data.id}),
        response_model=Kling3TurboQueryResponse,
        status_extractor=lambda r: (r.data[0].status if r.data else None),
    )
    return IO.NodeOutput(await download_url_to_video_output(_turbo_video_url(final_response)))


class KlingVideoNode(IO.ComfyNode):

    @classmethod
    def define_schema(cls) -> IO.Schema:
        return IO.Schema(
            node_id="KlingVideoNode",
            display_name="Kling 3.0 Video",
            category="partner/video/Kling",
            description="Generate videos with Kling V3. "

View on GitHub (pinned to 1c6d8d45b3)

Solutions

  1. Read create.code/create.message from the error text — Kling's message names the exact invalid parameter.
  2. Check Kling credits and API credential status in the Comfy account.
  3. Use a stock Turbo setting (e.g. 720p, 16:9, 5s) to confirm the node works, then change one setting at a time.
  4. If using custom multi-shot, verify total storyboard duration and per-shot durations are within Turbo limits before the prompt is concatenated.
Defensive patterns

Strategy: validation

Validate before calling

ALLOWED_TURBO = {("720p", "16:9", 5), ("720p", "16:9", 10), ("1080p", "16:9", 5)}  # example set
assert (resolution, aspect_ratio, duration) in ALLOWED_TURBO, "unsupported Turbo settings"

Try / catch

try:
    return await execute_kling_turbo(cls, prompt=p, resolution=r, aspect_ratio=a, duration=d, start_frame=f)
except RuntimeError as e:
    if "create failed" in str(e):
        raise ValueError(f"Rejected Turbo settings ({r}, {a}, {d}s): {e}") from e
    raise

Prevention

When it happens

Trigger: POST /proxy/kling/text-to-video/kling-3.0-turbo (or the image-to-video variant) returns a payload where create.code != 0 or create.data.id is empty; causes include invalid settings (bad resolution/aspect_ratio/duration combination), quota exhaustion, or auth failure.

Common situations: Duration/resolution/aspect_ratio combo not supported by kling-3.0-turbo (e.g. 1080p with an aspect ratio the model lacks); no Kling credits; stale credentials; prompt longer than the Turbo limit rendered via build_turbo_shot_prompt.

Related errors


AI-assisted analysis of Comfy-Org/ComfyUI@1c6d8d45b3 (2026-08-14). Data as JSON: /api/errors/8a2595c35dfbc714. Report an issue: GitHub.