25 Kling motion control clips of 8 seconds: $31.50 and the Pro queue
Twenty-five 8-second Kling 3.0 motion control jobs cost $31.50 on Sume. The Pro plan accepts 24 at once, so the 25th needs a second wave. The math.

Twenty-five Kling 3.0 Motion Control clips of 8 seconds each cost $31.50 on Sume: 200 seconds at $0.1575 per second. On the Pro plan, which accepts 24 jobs at a time (4 processing plus 20 queued), the 25th submit returns 429 queue_full until a slot frees. Submit 24, wait, then send the last one.
The money and the queue are two separate limits. The balance check returns 402; the queue check returns 429.
The cost
The rate is ceil(duration_seconds) times $0.126 times 1.25. For an 8-second clip that is $1.26, and 25 clips are $31.50. Every job is reserved at admit, captured on completion, and refunded on failure.
| Clips | Seconds each | Total seconds | Cost |
|---|---|---|---|
| 1 | 8 | 8 | $1.26 |
| 10 | 8 | 80 | $12.60 |
| 24 | 8 | 192 | $30.24 |
| 25 | 8 | 200 | $31.50 |
The queue limit
Concurrency on Sume is a pair of numbers per plan: jobs processing and jobs accepted in total. The values are Free 1 and 6, Pro 4 and 24, Startup 8 and 48, Scale 20 and 120. A batch of 25 fits on Startup and Scale in one go. On Pro it does not, and on Free only 6 are accepted.
- A rejected submit creates no job and reserves nothing.
- A 402 means the balance cannot cover the reservation; it is not retried by waiting for the queue.
- A 429 means wait for a job to finish and submit again.
A submit loop that respects both
Send the first 24, poll their status, and top the queue up as jobs complete. Use one stable idempotency key per clip, so a retry of the same clip after a 429 does not create a duplicate once it is accepted.
import json
import os
import urllib.error
import urllib.request
URL = 'https://api.sume.com/v1/kling/3.0/motion-control'
KEY = os.environ['SUME_API_KEY']
def submit(n):
body = {
'image_url': 'https://example.com/mascot.png',
'motion_video_url': f'https://example.com/clip-{n}.mp4',
'duration_seconds': 8,
'character_orientation': 'video',
'mode': 'async',
}
req = urllib.request.Request(URL, json.dumps(body).encode(), {
'Authorization': f'Bearer {KEY}',
'Content-Type': 'application/json',
'Idempotency-Key': f'batch-8s-{n:03d}',
})
try:
with urllib.request.urlopen(req) as res:
return res.status
except urllib.error.HTTPError as err:
return err.code # 402 balance, 429 queue_full
print(submit(1))Pick the plan by the batch
If you run batches of 25 or more as a routine, the accepted number is a reason to look at Startup. If you run a handful a day, Pro is enough and the loop above handles the overflow. For a run ten times this size, read the reserve, capture, and refund breakdown for 100 clips.
Sources
Related posts
More in Pricing
- 25-second avatar clip with a product: $4.85, $6.45 or $14.50 by tier
On Sume, a 25-second avatar clip with a product costs $4.85 on Standard, $6.45 on Plus and $14.50 on Max. Per second: $0.194, $0.258 and $0.58.
- $250 holiday ad budget: split between clips, stills, voice, music
A $250 wallet covers 80 Wan 3.0 ads of 15 seconds, 20 retakes and 10 winners re-rendered at 1080p, plus stills, voice, music and renders: $244.14 on Sume.
- $30 creative test: 40 stills or 6 clips? Image vs video budget
Forty Ideogram 4.5 stills cost $3.00; six 5-second Omni clips at 720p cost $3.75. A $30 test fits both with room left. Here is the split.
- 30-second Wan hero plus two 15-second cutdowns: trim, not regenerate
One 30-second Wan 3.0 clip at 720p is $3.75. Two 15-second cutdowns by video trim add $0.04; regenerating them as 15-second clips costs $3.75 more.
Written by Sume