AI ad production cost per 1,000 impressions: when a clip is too costly

Turn a Sume clip price into a production CPM: a 15-second Avatar Plus ad with captions is $3.875, so 100,000 views carry about 3.9 cents per thousand.

5 min readSume
All posts

The production cost of one ad per 1,000 impressions is the clip cost divided by impressions, times 1,000. A 15-second Sume Avatar Plus clip with one caption job costs $3.875, which is $3.875 per 1,000 impressions if only 1,000 people see it and about $0.039 per 1,000 if 100,000 do.

The point is not that AI video is cheap. It is that production cost is a fixed amount spread over reach, so it matters for the creative that gets almost no delivery and nearly vanishes for the one that gets a lot. Every media figure below is a variable you supply; this post uses none from an ad platform.

What does one finished ad cost on Sume?

The inputs are Sume's published rates from the API pricing page and the Avatar videos and Video captions docs. Avatar Video bills per second by quality tier, and a standalone caption job is $0.20 for a video up to 60 seconds. The avatar window is 4 to 60 seconds.

Cost of one 15-second ad on Sume, no product image (read 2026-10-03)
Quality tierRate per second15 secondsPlus one caption job
Standard$0.184$2.76$2.96
Plus (default)$0.245$3.675$3.875
Max$0.55$8.25$8.45

How does the cost fall as reach grows?

Using the Plus figure of $3.875 per ad, production cost per 1,000 impressions is:

Production cost per 1,000 impressions for a $3.875 ad (arithmetic, 2026-10-03)
ImpressionsProduction cost per 1,000
1,000$3.875
10,000$0.3875
100,000$0.0388
1,000,000$0.0039

When does production cost matter against media cost?

Compare production cost per 1,000 with your own media CPM. If production should be no more than 10% of media, you need clip cost x 1000 / (0.10 x CPM) impressions. With a made-up CPM of $10, chosen only for the arithmetic, that is 3,875 impressions for the $3.875 ad. Below that, the clip costs more than a tenth of what you spent to show it.

That is the real use of the number: an ad test with 1,500 impressions per variant is dominated by production cost, so make variants cheaper (see the tool prices below), not fewer.

def production_cpm(clip_cost: float, impressions: int) -> float:
    """Production cost per 1,000 impressions."""
    return clip_cost / impressions * 1000

def impressions_for_share(clip_cost: float, media_cpm: float, share: float) -> int:
    """Impressions at which production is `share` of media spend."""
    return round(clip_cost * 1000 / (share * media_cpm))

cost = 15 * 0.245 + 0.20   # 15 s Avatar Plus, no product, plus one caption job
for n in (1_000, 10_000, 100_000, 1_000_000):
    print(n, round(production_cpm(cost, n), 4))
print(impressions_for_share(cost, media_cpm=10.0, share=0.10))

What about retakes?

A delivered ad is not the only ad you paid for. If you generate three takes and keep one, the cost of the kept ad is three times the clip, or $11.63 at Plus. Failed jobs release their hold in Sume, but a take you simply reject is a completed, captured job. The retake maths is in cost per keeper.

Use your own keeper rate, not an average from a blog. Count two numbers over a week: takes generated and takes shipped.

Where does Sume not help here?

Sume does not report impressions, spend or CPM, and it does not publish ads. The wallet side stops at the job. Join the job ids from /v1/usage to the delivery numbers from the ad platform in your own sheet.

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume