PopNowAPI Docs
Main content

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

OptionCredits (per second of output)US dollars
generate_audio = false, resolution = 720p10.08$0.1008
generate_audio = false, resolution = 1080p13.44$0.1344
generate_audio = true, resolution = 720p15.12$0.1512
generate_audio = true, resolution = 1080p20.16$0.2016
generate_audio = false, resolution = 4k50.4$0.504
generate_audio = true, resolution = 4k50.4$0.504

Parameters

FieldTypeDefaultAllowedWhat it does
promptRequiredstring—up to 2,500 charactersDescribe the scene, the action and the camera. With sound on, add dialogue in quotes and the sounds you want.
negative_promptOptionalstring—up to 2,500 charactersWhat to keep out of the clip: objects, looks or motion you do not want.
aspect_ratioOptionalstring16:916:9, 9:16, 1:1Output aspect ratio.
resolutionOptionalstring720p720p, 1080p, 4kOutput resolution. Higher tiers cost more per second.
generate_audioOptionalbooleanfalse—Generate a native soundtrack (voices, effects, ambience) with the picture. Audio costs more per second.
duration_secondsOptionalinteger53 to 15Output length in whole seconds, from 3 to 15. Billed per second.
shot_typeOptionalstringsinglesingle, multi, customizesingle 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_promptOptionalarray<object>—up to 6 itemsShot 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_scaleOptionalnumber0.50 to 1How 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.

POST /api/v1/jobs/createTask
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.

GET /api/v1/jobs/recordInfo
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

OptionCredits (per second of output)US dollars
generate_audio = false, resolution = 720p10.08$0.1008
generate_audio = false, resolution = 1080p13.44$0.1344
generate_audio = true, resolution = 720p15.12$0.1512
generate_audio = true, resolution = 1080p20.16$0.2016
generate_audio = false, resolution = 4k50.4$0.504
generate_audio = true, resolution = 4k50.4$0.504

Parameters

FieldTypeDefaultAllowedWhat it does
promptRequiredstring—up to 2,500 charactersDescribe what happens after the opening frame: the action, the camera and, with sound on, the sounds.
image_urlRequiredstring (uri)——Opening frame. The clip starts from this image.
negative_promptOptionalstring—up to 2,500 charactersWhat to keep out of the clip: objects, looks or motion you do not want.
last_image_urlOptionalstring (uri)——Optional closing frame the clip should end on.
resolutionOptionalstring720p720p, 1080p, 4kOutput resolution. Higher tiers cost more per second.
generate_audioOptionalbooleanfalse—Generate a native soundtrack (voices, effects, ambience) with the picture. Audio costs more per second.
duration_secondsOptionalinteger53 to 15Output length in whole seconds, from 3 to 15. Billed per second.
shot_typeOptionalstringsinglesingle, multi, customizesingle 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_promptOptionalarray<object>—up to 6 itemsShot 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_scaleOptionalnumber0.50 to 1How 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.

POST /api/v1/jobs/createTask
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.

GET /api/v1/jobs/recordInfo
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

OptionCredits (per second of output)US dollars
720p15.12$0.1512
1080p20.16$0.2016

Parameters

FieldTypeDefaultAllowedWhat it does
image_urlRequiredstring (uri)——The character to animate: one clear, full or half-body picture of the person.
video_urlRequiredstring (uri)——Driving clip, 3 to 30 seconds: the moves, expressions and gestures to copy. The result is as long as this clip.
promptOptionalstring—up to 2,500 charactersOptional notes on the result: the setting, the look, anything the driving clip does not show.
negative_promptOptionalstring—up to 2,500 charactersWhat to keep out of the result: objects, looks or motion you do not want.
resolutionOptionalstring720p720p, 1080pOutput resolution. Higher tiers cost more per second.
keep_original_audioOptionalbooleantrue—Keep the driving clip's own sound in the result.
character_orientationOptionalstringvideovideo, imageWhich 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_typeOptionalstringcustomizecustomize, intelligentHow 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.

POST /api/v1/jobs/createTask
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.

GET /api/v1/jobs/recordInfo
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

Next steps

On this page