A $10 Kling 3 prompt test set to reuse when Kling 4.0 lands

Build a reusable prompt test set on kling-3 now: 5-second clips with sound cost $1.05, silent $0.70. How many fit in $10, and how to store the results.

3 min readSume
All posts

Ten dollars buys 14 silent or 9 sound-on 5-second kling-3 clips on Sume ($0.70 and $1.05 each). That is enough for a prompt test set you can re-run unchanged on whatever the catalog lists after the announced Kling 4.0, so you compare like with like.

What $10 holds

Sume reserves the full price at submit, so the number of clips you can queue is the balance divided by the clip price.

Sume price, read 2026-10-08
ClipPrice eachClips in $10Left over
5 s, sound off$0.7014$0.20
5 s, sound on$1.059$0.55
8 s, sound off$1.128$1.04
8 s, sound on$1.685$1.60

How to structure the set

Keep the set small and varied. Six to ten prompts covering the shots you actually sell is more useful than forty near-duplicates.

  • One product close-up, one person in motion, one text-on-screen shot, one wide scene.
  • Fixed duration and fixed generate_audio for every run, so the only variable is the model id.
  • Store the job id, the model id, and the price from usage.cost next to each file.

Record it

A completed poll response carries usage.cost, the amount Sume billed. Write one line per job:

import csv, os, requests
H = {"Authorization": "Bearer " + os.environ["SUME_API_KEY"]}
rows = []
for job_id in open("jobs.txt").read().split():
    j = requests.get("https://api.sume.com/v1/videos/" + job_id, headers=H).json()
    rows.append([job_id, j["model"], j["status"], j.get("usage", {}).get("cost")])
csv.writer(open("results.csv", "w")).writerows(rows)

Why it holds up later

A prompt set with fixed length and a fixed audio flag turns a model change into a controlled experiment. When a new id appears in GET /v1/videos/models, you send the same bodies with only model changed and compare the clips and the usage.cost figures side by side.

Sume reserves the full price at submit, so the number in the table is also the amount that must be free in the balance when you send the request. If it is not, the call fails with 402 insufficient_credits before any provider work starts.

Do not tune the prompts to one model during the set. If a prompt only works on one id, note it in the sheet instead of editing the prompt, or you lose the comparison.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume