Sports club signup ad: Kling 3, 15 s, 1080p, $3.15 with sound

A 15-second 1080p signup ad on Kling 3 costs $2.10 silent or $3.15 with sound on Sume, the same as at 720p. Where it fits against Wan 3.0 and Seedance 2.5.

5 min readSume
All posts

A 15-second Kling 3 signup ad costs $2.10 silent or $3.15 with sound on Sume, at 720p or 1080p alike. 15 seconds is Kling 3's maximum. For comparison, Wan 3.0 at 1080p for 15 seconds is $3.75, and Seedance 2.5 at 1080p 16:9 is $21.33.

Why the 1080p price matters here

A signup ad often runs on a gym screen or a club-house TV as well as on a phone. Kling 3 charges the same per second at both resolutions, so there is no reason to pick 720p on cost. fal's Kling v3 Pro page, read 2026-10-08, lists $0.112 per second with audio off and $0.168 with audio on, and Sume bills that list times 1.25, rounded up to the cent per job.

The comparison is different at Wan 3.0, where 1080p is double the 720p price per Alibaba's Model Studio page, read the same day.

Comparison for 15 seconds, 16:9, 1080p

Sume bills the provider list price times 1.25, rounded up to the cent per job.

15-second 1080p ad on Sume (rates read 2026-10-08)
ModelSettingPer second15 s job
kling-3silent$0.14$2.10
kling-3with sound$0.21$3.15
wan-3.01080p$0.25$3.75
wan-3.0720p$0.13$1.88
seedance-2.51080ptoken-based$21.33

What a signup ad needs

Sport reads as motion, so the first frame matters.

  • Use a photo of the actual pitch or pool as the first frame; Kling 3 on Sume takes no reference images.
  • Use an end frame with your logo and sign-up date so the clip finishes on the call to action.
  • Keep the sound option for crowd and whistle only if the ad has no voiceover.
  • Do not use members' photos without their written consent.

Submit it and read the result

Sume reserves the billable amount from your workspace USD balance when the job is submitted, then returns a polling_url. Add your pitch photo as a first_frame entry in frame_images. Poll the job until status is completed or failed; a completed job lists its files in unsigned_urls.

import os
import time
import requests

H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
body = {
    "model": "kling-3",
    "prompt": "A slow push-in on the scene, soft natural light",
    "duration": 15,
    "resolution": "1080p",
    "aspect_ratio": "16:9",
}
r = requests.post("https://api.sume.com/v1/videos", headers=H, json=body, timeout=60)
r.raise_for_status()
url = r.json()["polling_url"]
while True:
    job = requests.get(url, headers=H, timeout=30).json()
    if job["status"] in ("completed", "failed"):
        break
    time.sleep(10)
print(job["status"], job.get("unsigned_urls"))

Limits

Kling 3 lists 4 to 15 seconds and 16:9, 9:16 or 1:1. For a longer ad, make two jobs. Fast sport motion is where generated video fails first, and I have no vendor statement about it; test one 4-second silent clip at $0.56 before the full job.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume