Kling 4.0 keyframes at 0, 6, 12, 20, 28 s: a 30-second ad on Sume
Kling's guide suggests keyframes near 0, 6, 12, 20 and 28 seconds for a product ad. How to build the same plan on Sume with first-and-last-frame clips.

Kling 4.0 accepts up to 10 keyframe images in one generation, and its multiple keyframes guide suggests placing them near 0, 6, 12, 20, and 28 seconds for a product ad. On Sume you can approximate that plan with chained clips: four first-and-last-frame jobs covering 28 seconds, plus a short end card.
From five keyframes to four clips
Kling's comparison page says Kling 3.0 supported start and end frames only. That start-and-end pairing is what Sume's frame_images field expresses, so the chained plan below uses one pair per clip.
The segment plan
Clip N starts on keyframe N and ends on keyframe N+1, so the joins land on shared pictures. The final two seconds, 28 to 30, are below the 4 second minimum the seedance-2 row lists, so cover them with an end card rather than a fifth clip.
| Clip | First frame at | Last frame at | Duration |
|---|---|---|---|
| 1 | 0 s | 6 s | 6 s |
| 2 | 6 s | 12 s | 6 s |
| 3 | 12 s | 20 s | 8 s |
| 4 | 20 s | 28 s | 8 s |
| End card | 28 s | 30 s | 2 s still |
One clip as a request
The seedance-2 example row in the Sume docs lists first_frame and last_frame in supported_frame_images and durations of 4 to 15 seconds, which covers the clip lengths above. Read the same fields for any other model first. The request for clip 2 looks like this.
{
"model": "seedance-2",
"prompt": "Product on a clean desk, slow push-in, soft daylight",
"frame_images": [
{
"type": "image_url",
"image_url": {"url": "https://example.com/keyframe-2.png"},
"frame_type": "first_frame"
},
{
"type": "image_url",
"image_url": {"url": "https://example.com/keyframe-3.png"},
"frame_type": "last_frame"
}
],
"duration": 6,
"resolution": "1080p",
"aspect_ratio": "16:9"
}Making the joins less visible
Joins show when lighting, framing, or subject position change at a cut. Because each clip ends on the same keyframe the next one starts on, position and framing match by construction. The remaining risk is motion: a camera that speeds up at the end of one clip and starts slow in the next.
Write each prompt so motion eases at both ends, for example a slow push-in that settles. A dissolve of a few frames also helps, and a timeline can apply one. Review the joins at full size on a large screen, not in a thumbnail.
- Use the same lighting description in all four prompts.
- Ask for motion that settles at the end of each clip.
- Keep keyframes in the same aspect ratio.
- Review every join at full size.
What you give up
A chain is not a single generation. Motion will not be continuous across the joins the way Kling's one-pass keyframe sequence aims to be, and a missing seed means a rerun gives a new take. Keep the keyframes visually consistent, and plan cuts rather than hidden transitions. Sume documents input_references for style guidance if you want the same look across all four clips. The video docs show both fields.
Sources
Related posts
More in Use cases
- Kling 4.0 lip-sync reaches nine languages: a one-clip test each
Kling 4.0 adds Portuguese, German, French and Hindi lip-sync to five existing languages. A short per-language test plan to run before you promise localization.
- LinkedIn video ad ratios: 16:9, 1:1, 4:5, 9:16 pixel sizes, one table
LinkedIn video ads accept 16:9, 1:1, 4:5 and 9:16 with different pixel rules and under 30 fps. See the table and how to match each ratio on Sume.
- Meta ad video length by placement: 15 s to 240 min
Meta's placement chart sets different lengths and ratios per placement, from 15 s Messenger Stories to 240 min Feed. A render plan by placement.
- Meta auto-detects AI-made ads: plan for the AI info label
Meta says its ad system detects ads made or edited with third-party AI tools through industry-standard signals and may show an AI info label. What to prepare.
Written by Sume