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.

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.
| Clip | Price each | Clips in $10 | Left over |
|---|---|---|---|
| 5 s, sound off | $0.70 | 14 | $0.20 |
| 5 s, sound on | $1.05 | 9 | $0.55 |
| 8 s, sound off | $1.12 | 8 | $1.04 |
| 8 s, sound on | $1.68 | 5 | $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_audiofor every run, so the only variable is the model id. - Store the job id, the model id, and the price from
usage.costnext 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
- Cut a 3-minute Short from a 25-minute recording on Sume
Turn a 25-minute recording into a three-minute Short: detach audio, trim three beats, join them on Timeline with gapless audio parts. Calls and cost.
- A 3-minute YouTube Short from Omni clips: 18 takes, what it costs
YouTube says Shorts can run three minutes. At the 10-second Omni Flash cap that is 18 clips: the 720p and 1080p totals on Sume plus the Timeline join.
- A three-stage video funnel: Grok, MiniMax H3, Seedance 2.5 costs
Screen 20 ideas on Grok Imagine, keep 5 for MiniMax H3 at 768p, finish 1 on Seedance 2.5 at 1080p. All 5-second clips: the funnel costs about $10.23 on Sume.
- Transcribe a 45-minute talk into a blog draft: five jobs, 45 cents
A 45-minute talk is five Sume STT jobs at 45 cents total. The slicing math, a stitching script, and what you still edit by hand before posting.
Written by Sume