Kling 3.0 API reference
4K clips, multi-shot cuts and motion control
Call Kling 3.0 from your own code with one PopNow API key. Below are the exact model IDs to send, every input field the model accepts, what each request costs in credits, and a request you can paste into a terminal.
At a glance
- Made by
- Kuaishou
- Output
- Video
- From
- 10.08 credits per second of output ($0.1008)
- Typical time
- about 400 s
1 credit = $0.01. A task holds the highest possible charge when it is accepted and settles the real amount when it finishes, rounded up to whole credits; failed tasks are not charged. Ask POST /api/v1/jobs/quote for the exact figure before you run.
Create Video
kling/3.0/text-to-video
Price
| Option | Credits (per second of output) | US dollars |
|---|---|---|
generate_audio = false, resolution = 720p | 10.08 | $0.1008 |
generate_audio = false, resolution = 1080p | 13.44 | $0.1344 |
generate_audio = true, resolution = 720p | 15.12 | $0.1512 |
generate_audio = true, resolution = 1080p | 20.16 | $0.2016 |
generate_audio = false, resolution = 4k | 50.4 | $0.504 |
generate_audio = true, resolution = 4k | 50.4 | $0.504 |
Parameters
| Field | Type | Default | Allowed | What it does |
|---|---|---|---|---|
promptRequired | string | — | up to 2,500 characters | Describe the scene, the action and the camera. With sound on, add dialogue in quotes and the sounds you want. |
negative_promptOptional | string | — | up to 2,500 characters | What to keep out of the clip: objects, looks or motion you do not want. |
aspect_ratioOptional | string | 16:9 | 16:9, 9:16, 1:1 | Output aspect ratio. |
resolutionOptional | string | 720p | 720p, 1080p, 4k | Output resolution. Higher tiers cost more per second. |
generate_audioOptional | boolean | false | — | Generate a native soundtrack (voices, effects, ambience) with the picture. Audio costs more per second. |
duration_secondsOptional | integer | 5 | 3 to 15 | Output length in whole seconds, from 3 to 15. Billed per second. |
shot_typeOptional | string | single | single, multi, customize | single keeps one continuous shot; multi lets the model cut the prompt into several shots on its own; customize follows the shot list you give in multi_prompt. |
multi_promptOptional | array<object> | — | up to 6 items | Shot list for shot_type customize: one entry per shot, in order, each with its own prompt and length in seconds. The lengths must add up to duration_seconds. |
guidance_scaleOptional | number | 0.5 | 0 to 1 | How closely the clip follows the prompt, from 0 to 1. Higher sticks to the prompt more; lower gives the model more freedom. |
Example request
This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "kling/3.0/text-to-video",
"input": {
"prompt": "A paper boat drifts down a rain-soaked street at dusk, neon signs reflecting in the water, slow tracking shot at ground level",
"duration_seconds": 5,
"generate_audio": false,
"resolution": "720p"
}
}'The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
-H "Authorization: Bearer $POPNOW_API_KEY"Image to Video
kling/3.0/image-to-video
Price
| Option | Credits (per second of output) | US dollars |
|---|---|---|
generate_audio = false, resolution = 720p | 10.08 | $0.1008 |
generate_audio = false, resolution = 1080p | 13.44 | $0.1344 |
generate_audio = true, resolution = 720p | 15.12 | $0.1512 |
generate_audio = true, resolution = 1080p | 20.16 | $0.2016 |
generate_audio = false, resolution = 4k | 50.4 | $0.504 |
generate_audio = true, resolution = 4k | 50.4 | $0.504 |
Parameters
| Field | Type | Default | Allowed | What it does |
|---|---|---|---|---|
promptRequired | string | — | up to 2,500 characters | Describe what happens after the opening frame: the action, the camera and, with sound on, the sounds. |
image_urlRequired | string (uri) | — | — | Opening frame. The clip starts from this image. |
negative_promptOptional | string | — | up to 2,500 characters | What to keep out of the clip: objects, looks or motion you do not want. |
last_image_urlOptional | string (uri) | — | — | Optional closing frame the clip should end on. |
resolutionOptional | string | 720p | 720p, 1080p, 4k | Output resolution. Higher tiers cost more per second. |
generate_audioOptional | boolean | false | — | Generate a native soundtrack (voices, effects, ambience) with the picture. Audio costs more per second. |
duration_secondsOptional | integer | 5 | 3 to 15 | Output length in whole seconds, from 3 to 15. Billed per second. |
shot_typeOptional | string | single | single, multi, customize | single keeps one continuous shot; multi lets the model cut the prompt into several shots on its own; customize follows the shot list you give in multi_prompt. |
multi_promptOptional | array<object> | — | up to 6 items | Shot list for shot_type customize: one entry per shot, in order, each with its own prompt and length in seconds. The lengths must add up to duration_seconds. |
guidance_scaleOptional | number | 0.5 | 0 to 1 | How closely the clip follows the prompt, from 0 to 1. Higher sticks to the prompt more; lower gives the model more freedom. |
Example request
This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.
The example uses PopNow sample files in image_url. Replace them with your own public HTTPS links, uploads or saved assets.
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "kling/3.0/image-to-video",
"input": {
"prompt": "He lands softly on the rooftop, laughs and turns toward the camera while the balloons sway in the evening breeze; slow push-in",
"image_url": "https://media.popnow.ai/influencer/examples/marco.webp",
"duration_seconds": 5,
"generate_audio": false,
"resolution": "720p"
}
}'The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
-H "Authorization: Bearer $POPNOW_API_KEY"Motion Control
kling/3.0/character-animation
Price
| Option | Credits (per second of output) | US dollars |
|---|---|---|
720p | 15.12 | $0.1512 |
1080p | 20.16 | $0.2016 |
Parameters
| Field | Type | Default | Allowed | What it does |
|---|---|---|---|---|
image_urlRequired | string (uri) | — | — | The character to animate: one clear, full or half-body picture of the person. |
video_urlRequired | string (uri) | — | — | Driving clip, 3 to 30 seconds: the moves, expressions and gestures to copy. The result is as long as this clip. |
promptOptional | string | — | up to 2,500 characters | Optional notes on the result: the setting, the look, anything the driving clip does not show. |
negative_promptOptional | string | — | up to 2,500 characters | What to keep out of the result: objects, looks or motion you do not want. |
resolutionOptional | string | 720p | 720p, 1080p | Output resolution. Higher tiers cost more per second. |
keep_original_audioOptional | boolean | true | — | Keep the driving clip's own sound in the result. |
character_orientationOptional | string | video | video, image | Which way the character faces: video follows the person in the driving clip, image follows the person in the photo. With image the driving clip may be at most 10 seconds. |
shot_typeOptional | string | customize | customize, intelligent | How the shots are planned: customize keeps to your inputs, intelligent lets the model plan the shots itself. |
Example request
This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.
The example uses PopNow sample files in image_url, video_url. Replace them with your own public HTTPS links, uploads or saved assets.
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "kling/3.0/character-animation",
"input": {
"prompt": "The person dances with relaxed, natural movement",
"image_url": "https://media.popnow.ai/influencer/examples/marco.webp",
"video_url": "https://media.popnow.ai/effects/flower-bloom-1abd6efb.mp4",
"resolution": "720p"
}
}'The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
-H "Authorization: Bearer $POPNOW_API_KEY"
