2-minute AI video from Kling 3: eight 15 s jobs, $16.80 or $25.20
Kling 4.0 says repeated extension to 2 minutes is coming. On Sume, eight chained kling-3 jobs of 15 s reach 120 s today: $16.80 silent, $25.20 with audio.

Kling's pages say video extension up to two minutes is coming soon, and Kling 4.0 makes up to 30 seconds in one pass. Sume has no extension call, but kling-3 reaches 120 seconds with eight 15-second jobs chained by last frame. The generation cost is 8 x $2.10 = $16.80 silent, or 8 x $3.15 = $25.20 with audio.
The arithmetic
kling-3 is billed per second: $0.14 silent and $0.21 with audio (Kling Video v3 Pro list of $0.112 and $0.168 times 1.25). A 15-second job is the longest it takes. 120 / 15 is exactly 8 jobs. Frame extraction and the final join are small extra jobs, and the video-frames job is billed by its compute, so price those from GET /v1/catalog rather than a number in a blog post.
The chain
Each job is image-to-video with a start frame. For job 2 onward, the start frame is the last frame of the job before. Use POST /v1/video-frames with one at value that is strictly less than the clip duration; a value equal to it fails with frame_time_out_of_range. Then pass the returned image URL as a first_frame entry in frame_images.
import os, requests
H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
def next_segment(frame_url: str, prompt: str, n: int) -> str:
body = {
"model": "kling-3", "duration": 15, "resolution": "1080p",
"aspect_ratio": "16:9", "generate_audio": False,
"prompt": prompt,
"frame_images": [{"type": "image_url",
"image_url": {"url": frame_url},
"frame_type": "first_frame"}],
}
r = requests.post("https://api.sume.com/v1/videos",
headers={**H, "Idempotency-Key": f"two-min-seg-{n}"},
json=body, timeout=60)
r.raise_for_status()
return r.json()["polling_url"]Cost and length
| Jobs | Seconds | Silent at $0.14/s | With audio at $0.21/s |
|---|---|---|---|
| 1 | 15 | 2.10 | 3.15 |
| 2 | 30 | 4.20 | 6.30 |
| 4 | 60 | 8.40 | 12.60 |
| 8 | 120 | 16.80 | 25.20 |
What a chain does not give you
A last-frame chain keeps the opening pose, but it does not carry a face or a product across eight hops by itself. Drift builds up. Re-anchor every second or third job to the same hero still, and keep the prompt for each segment short and concrete. For a single 30-second take, a model that lists 30 seconds in the catalog avoids the seams, and Wan 3.0 and Seedance 2.5 do. The choice is between fewer seams and the look of Kling.
Join the eight MP4s on Timeline with short crossfades, and put one audio spine under the whole video, so that eight separately generated sound beds do not play one after another.
Why not wait for extension
Kling's own pages list extension up to two minutes as coming soon, with no date and no API price from fal yet (read 2026-10-05). A plan that depends on a feature without a date is not a plan. The chain above uses only calls that are live in the catalog, so you can ship a two-minute cut this week and swap in extension when it exists.
The cost of the chain is also easy to cap. Each job is a separate submit with its own Idempotency-Key, its own reserve and its own refund on failure. If job five fails, you pay for jobs one to four and rerun five. Nothing in the other segments is lost.
Seam checklist
Before you join the clips, check three things. The last frame of each segment should match the first frame of the next, so the cut is invisible. The lighting and the colour of the hero should not jump. And the sound should be one track, not eight. If any of those fail, regenerate only the segment at fault.
Sources
Related posts
More in Use cases
- UGC-style Black Friday ad in three parts: 4, 8 and 3 seconds for $2.18
TikTok's Black Friday guide wants a 3-5 s opener, a benefits middle and a direct close. Three Omni 720p clips (4+8+3 s), a stitch and captions cost $2.18.
- UK drip pricing: put the delivery fee in the Black Friday video price
The CMA wants the total price, mandatory fees included, from early advertising on. Build one video price card that shows it. Read 2026-10-05.
- Unboxing video music that stays under your voice: duck_db settings
Pick duck_db and gain_db on Sume Timeline so a $0.125 AI music bed dips under speech and returns between lines, plus the duck error to expect.
- University Open House Welcome With an AI Avatar: Script and Cost
A university open-house welcome from an AI avatar: a scripted 3-scene plan, request JSON, Sume cost per quality tier, and how it differs from live avatars.
Written by Sume