9-second vertical story ad on Seedance 2.5, and the marginal second
A 9-second 9:16 Seedance 2.5 clip costs $2.42 at 480p, $5.20 at 720p and $12.79 at 1080p on Sume.

A 9-second 9:16 Seedance 2.5 clip costs $2.42 at 480p, $5.20 at 720p and $12.79 at 1080p on Sume. Seedance 2.5 is token-priced from resolution, seconds and aspect ratio (read 2026-10-09), so an odd length like 9 seconds is a straight multiple of the per-second rate.
Price of a 9-second story, by resolution
Instagram and TikTok story slots are vertical, and 9 seconds sits between the two lengths most guides price (5 and 10). Seedance 2.5 accepts every whole second from 4 to 30, so you can buy exactly the length the edit needs.
| Resolution | Rate per second (9:16) | 9 s at 9:16 | 9 s at 16:9 |
|---|---|---|---|
| 480p | $0.2687 | $2.42 | $2.42 |
| 720p | $0.5778 | $5.20 | $5.20 |
| 1080p | $1.4216 | $12.79 | $12.79 |
Submit a 9:16 clip
Set aspect_ratio to 9:16 and duration to 9. The same body works on POST /v1/videos with any of the three resolutions; only resolution changes the price by a large step.
import os, time, requests
API = "https://api.sume.com/v1/videos"
H = {"Authorization": "Bearer " + os.environ["SUME_API_KEY"]}
body = {"model": "seedance-2.5", "prompt": "Handheld shot of a barista pouring latte art, steam rising, warm window light", "duration": 9, "resolution": "720p", "aspect_ratio": "9:16"}
job = requests.post(API, headers={**H, "Idempotency-Key": "story-latte-001"}, json=body, timeout=60).json()
deadline = time.time() + 1800
while time.time() < deadline:
time.sleep(30)
job = requests.get(job["polling_url"], headers=H, timeout=60).json()
if job["status"] == "completed":
print(job["unsigned_urls"][0], job["usage"]["cost"])
break
if job["status"] in ("failed", "cancelled"):
print(job["status"], job.get("error"))
breakWhy 9 seconds, not 8 or 10
Eight seconds at 720p 9:16 costs $4.62 and ten seconds costs $5.78. Nine falls in between at $5.20. The step is $0.5778 for each added second at 720p, and $1.4216 at 1080p.
That marginal second matters when you trim a cut. If your edit runs long by one second, dropping to the next shorter length saves exactly that step, with no bucket to fall into.
A three-variant test at 480p costs $7.25. One 1080p final costs $12.79. The final is about 1.8 times the whole test round, which is why the draft stage should settle the concept first.
What to check
- 9:16 and 16:9 cost the same at 720p and 1080p for this length; 9:16 is not a discount, it is just the shape of the placement.
- Stories play on a phone, so 480p is a legitimate proof stage. Step up only for the clip you will publish.
- Going from 720p to 1080p multiplies the price by 2.46; going from 480p to 720p multiplies it by 2.15.
- A 3-second clip is below the 4-second floor and is rejected at submit with the supported list in the error details.
Sources
Related posts
More in Pricing
- Storyboard: 12 rough and 3 hero frames on three Sume image models
A 15-frame storyboard with 12 rough frames and 3 hero 4K frames costs $0.9645 on GPT Image 2.5, $1.50 on Nano Banana 2.1 and $3.375 on Nano Banana Pro.
- Sume video price = provider list x 1.25: Omni, H3, H3 Max, Recast
Provider list per second times 1.25 gives the Sume price: Omni 720p $0.10 becomes $0.125, H3 Max 768p $0.08 becomes $0.10. All 13 rows checked against the tool.
- Thousand-clip batch: the cents a frame ratio adds on Seedance 2.5
On Sume, 4:3 costs 1.7% less than 16:9 at 480p but 0.6% more at 720p and 1080p for a 10-second Seedance 2.5 clip. 3:4 mirrors it against 9:16.
- Timeline render: 61 seconds costs double 60 on Sume
Sume Timeline reserves $0.10 per output minute, rounded up: a 60-second render is $0.10, a 61-second render is $0.20, a 30-minute render is $3.00.
Written by Sume