CheaperGen
KuaishouvideoNew

Kling 4.0 Image to Video API

Image to Video with Kling 4.0 by Kuaishou. Kling's newest video model — up to 30 s with stereo sound on every clip.

Try Kling 4.0 Image to Video

0/8000

Image used as the opening frame. JPG/PNG/WebP, URL or upload.

Optional closing frame — the model animates between the two.

Matches first frame

Not used here: the video keeps the first frame's aspect ratio.

Output resolution. Higher resolutions cost more per second.

5s

Length of the generated clip in seconds (3–30s). You pay per second.

Estimated cost…

Create a free account with Google or email — pay only for what you generate.

Your video will appear here

Write a prompt, pick your settings and hit Run. You only pay for successful generations.

Also available: Kling 4.0 Text to Video · Kling 4.0 Reference to Video

See the Kling 4.0 examples and prompts

Kling 4.0 Image to Video API

POST/api/v1/run/kuaishou/kling-4.0/image-to-video

Submits an asynchronous job and returns 202 with a generation id. Poll GET /api/v1/generations/{id} or pass webhook_url. See job lifecycle.

Input parameters

NameTypeDescriptionAffects price
promptrequiredstringDescribe the shot: subject, action, camera movement, lighting and style.No
image_urlrequiredstring (URL)Image used as the opening frame. JPG/PNG/WebP, URL or upload.No
end_image_urlstring (URL)Optional closing frame — the model animates between the two.No
resolutionstring (enum)Output resolution. Higher resolutions cost more per second.
Values: 720p · 1080p
Default: 720p
Yes
durationintegerLength of the generated clip in seconds (3–30s). You pay per second.
Range: 3–30s
Default: 5
Yes
webhook_urlstring (URL)Optional. We POST the finished generation here, signed with your webhook secret. WebhooksNo

Request

const API = "https://cheapergen.com/api/v1";
const headers = {
  Authorization: `Bearer ${process.env.CHEAPERGEN_API_KEY}`,
  "Content-Type": "application/json",
};

// 1. Submit the job
let job = await fetch(`${API}/run/kuaishou/kling-4.0/image-to-video`, {
  method: "POST",
  headers,
  body: JSON.stringify({
    "prompt": "She turns toward the window and smiles as the curtains sway; slow push-in",
    "image_url": "https://cdn.cheapergen.com/samples/portrait.jpg",
    "resolution": "720p",
    "duration": 5
  }),
}).then((r) => r.json());

// 2. Poll until it finishes (or pass webhook_url and skip polling)
while (job.status === "queued" || job.status === "running") {
  await new Promise((r) => setTimeout(r, 3000));
  job = await fetch(`${API}/generations/${job.id}`, { headers }).then((r) => r.json());
}

console.log(job.status === "succeeded" ? job.output.video.url : job.error);

Response

{
  "id": "gen_8c2QmX1nq0k4",
  "object": "generation",
  "model": "kuaishou/kling-4.0",
  "endpoint": "kuaishou/kling-4.0/image-to-video",
  "mode": "image-to-video",
  "status": "queued",
  "input": {
    "prompt": "She turns toward the window and smiles as the curtains sway; slow push-in",
    "image_url": "https://cdn.cheapergen.com/samples/portrait.jpg",
    "resolution": "720p",
    "duration": 5
  },
  "output": null,
  "error": null,
  "cost": {
    "amount_usd": 0.2255,
    "currency": "usd",
    "estimated": true,
    "official_usd": null,
    "list_price_source": "official",
    "list_price_label": "Official",
    "saved_usd": null
  },
  "source": "api",
  "started_at": null,
  "completed_at": null,
  "urls": {
    "get": "https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4",
    "cancel": "https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4/cancel"
  },
  "created_at": "2026-10-15T09:21:04Z"
}

Kling 4.0 pricing

Pay per second of video as you go, with no subscription required (monthly plans are optional). Failed generations are refunded automatically.

TierOfficial priceCheaperGen
720p
audio included
$0.157/s$0.1486/s
1080p
audio included
$0.235/s$0.2226/s
  • Official price: Kling developer API list price for Kling 4.0, kling.ai/dev/pricing (1 unit = $0.157 / s at 720p, 1.5 units = $0.235 / s at 1080p; with input video $0.094 / $0.141 per second of output plus the longer of the output and the input video; audio always on). Prices verified October 18, 2026.
  • Audio is always generated and included in the price.
  • With a reference video, the output seconds plus the longer of the output and the reference videos are billed at a lower per-second rate.