kling/kling-v3, served by Comfy Router from Kling.
Quick start
Create a key at platform.comfy.org/profile/api-keys and export it asCOMFY_API_KEY. The Python and TypeScript snippets use the Comfy SDKs (pip install comfy-sdk, npm install @comfyorg/sdk); the cURL snippet is the same call over raw HTTP.
Model ID: kling/kling-v3
Endpoint: POST https://api.comfy.org/v2/models/kling/kling-v3
Schema
Input
string
default:"\"16:9\""
Video aspect ratioPossible values:
16:9, 9:16, 1:1string (uri)
The callback notification addressFormat:
uriobject
object
number
Controls camera’s movement along horizontal axis (x-axis). Negative indicates left, positive indicates right.Range:
-10 to 10number
Controls camera’s rotation in vertical plane (x-axis). Negative indicates downward rotation, positive indicates upward rotation.Range:
-10 to 10number
Controls camera’s rolling amount (z-axis). Negative indicates counterclockwise, positive indicates clockwise.Range:
-10 to 10number
Controls camera’s rotation in horizontal plane (y-axis). Negative indicates left rotation, positive indicates right rotation.Range:
-10 to 10number
Controls camera’s movement along vertical axis (y-axis). Negative indicates downward, positive indicates upward.Range:
-10 to 10number
Controls change in camera’s focal length. Negative indicates narrower field of view, positive indicates wider field of view.Range:
-10 to 10string
Predefined camera movements type. simple: Customizable camera movement. down_back: Camera descends and moves backward. forward_up: Camera moves forward and tilts up. right_turn_forward: Rotate right and move forward. left_turn_forward: Rotate left and move forward.Possible values:
simple, down_back, forward_up, right_turn_forward, left_turn_forwardnumber
default:"0.5"
Flexibility in video generation. The higher the value, the lower the model’s degree of flexibility, and the stronger the relevance to the user’s prompt.Range:
0 to 1Format: floatstring
default:"\"5\""
Video length in secondsPossible values:
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15string
Customized Task ID
string
default:"\"std\""
Video generation mode. std: Standard Mode, which is cost-effective. pro: Professional Mode, generates videos with longer duration but higher quality output.Possible values:
std, prostring
Model name. Omit it or send null when using Comfy Router; the model is selected by the request path. A supplied name must match that path.
object[]
Information about each storyboard, such as prompts and duration. Supports up to 6 storyboards, with a minimum of 1. Required when multi_shot is true and shot_type is customize.
string
Duration of this storyboard in seconds. Must not exceed total task duration and must not be less than 1. Sum of all storyboard durations equals total task duration.
integer
Shot sequence number
string
Prompt word for this storyboard. Maximum length 512 characters.
boolean
default:"false"
Whether to generate multi-shot video. When true, the prompt parameter is invalid. When false, the shot_type and multi_prompt parameters are invalid.
string
Negative text prompt. It is recommended to supplement negative prompt information through negative sentences directly within positive prompts.
string
Positive text prompt. Use <<<voice_1>>> to specify a voice matching the voice_list parameter order. A task can reference up to 2 tones. When specifying a tone, the sound parameter value must be on.
string
Storyboard method. Required when the multi_shot parameter is set to true.Possible values:
customize, intelligencestring
default:"\"off\""
Whether to generate sound simultaneously when generating videos. Only V2.6 and subsequent versions of the model support this parameter.Possible values:
on, offobject
Whether to generate watermarked results simultaneously. Custom watermark is not supported at this time.
boolean
true means generate watermark, false means do not generate.
GET /v2/models/kling/kling-v3/openapi.json, the same document it validates a call against before the request reaches the provider.
Output
integer
Error code
object
integer
Task creation time, Unix timestamp in milliseconds
string
The deduction units of task
string
Task ID
object
string
object
object[]
string
Total video duration in seconds
string
Generated video ID
string (uri)
URL for generated videoFormat:
uristring (uri)
URL for generated video with watermark, hotlink protection formatFormat:
uristring
Task StatusPossible values:
submitted, processing, succeed, failedstring
Task status information, displaying the failure reason when the task fails
integer
Task update time, Unix timestamp in milliseconds
object
boolean
string
Error message
string
Request ID
Examples
Input
Output
Before you ship
The snippets above are the shortest working call. Three things are the same for every model and are documented once on the Comfy Router headers page: send anIdempotency-Key on every paid call and reuse it when you retry, expect the connection to be held up to Router’s 10 minute deadline, and keep X-Comfy-Request-Id from every response. The SDKs do all three for you; the cURL tab does none of them. On failure, X-Comfy-Error-Type names the bucket, and a 422 means the body failed the model’s schema and was never billed.
Headers
Authentication, idempotency, request IDs, error buckets, retry pacing, spend limits.
Quick Start
Typed error handling in Python and TypeScript, reading the 422, walking the catalog.
Limitations
What Router does not do today, and what to use instead.